Your code is REALLY confusing...
You instantiate a datastore.
lds_member=create DataStore
Bind it to a transaction object.
lds_member.SetTransObject(SQLCare)
THEN set the dataobject for it (this should come before the call to SetTransObject, btw...)
lds_member.dataobject = 'd_prx_local_member_search_by_member_id'
And now you throw all of that work away and repoint the local variable lds_member to the return class of a function call, which isn't even a datastore class.
lds_member = of_membersearch_ccnt(ls_member_id, ls_suffix, ls_member_fname,ls_member_lname,ls_ssn,ls_medicaid_alt, ls_medicaid_rec)
Why bind the datastore to a transaction object if you're not going to do a retrieve() call?
You say that of_membersearch_ccnt() returns an array of structures, but you're assigning that result to a variable of "datastore"? I have no idea how this even compiles, let alone runs.
-Paul-