[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Passing object (input-output), with a dataset or TT, between client- and appserver-sess

Status
Not open for further replies.
S

Simon L. Prinsloo

Guest
With static temp-table I presume static as in a defined temp-table construct as opposed to a dynamic one, and not a static member of the class, i.e NOT "DEFINE STATIC TEMP-TABLE". If you create a dynamic dataset and dynamic temp-tables, I assume the member holding it is a handle property of variable. The he help topic "Parameter passing syntax", states that "Handle-based variables are serialized, but no information for reconstructing handle-based objects on the receiving side is serialized." So in essence, the dynamic dataset and temp-tables cannot be reconstruced. You can however pass objects of type Progress.Json.ObjectModel.JsonObject and Progress.Json.ObjectModel.JsonArray. I would therefore suggest that you change the handle member to be non-serializable and add a member of type JsonObject. On the server, you can then do this just before you return: hDataset:WRITE-JSON("JsonObject", mJsonData, ?, ?, TRUE). On the receiving end, you can do this when the call return, or, if the dataset handle is a property, in its GET() when it is not valid and the mJsonData member is valid: CREATE DATASET hDataset. hDataset:READ-JSON("JsonObject", mJsonData).

Continue reading...
 
Status
Not open for further replies.
Top