[progress Communities] [progress Openedge Abl] Forum Post: Excluding Temp-tables On Fill In...

  • Thread starter Thread starter Johan Vergeer
  • Start date Start date
Status
Not open for further replies.
J

Johan Vergeer

Guest
Hi everyone, I am building my first Data-access class using a ProDataSet What I was attempting is something like this: First get all the main customer information METHOD PUBLIC VOID GetCustomerData( INPUT pFilter AS CHARACTER, OUTPUT DATASET dsCustomer): DATASET dsCustomer:EMPTY-DATASET. THIS-OBJECT:CustomerDataSource:attach(BUFFER ttCustomer:HANDLE, pFilter). THIS-OBJECT:CustomerAddressDataSource:attach(BUFFER ttCustomerAddress:HANDLE). THIS-OBJECT:CountryDataSource:attach(BUFFER ttCountry:HANDLE). THIS-OBJECT:CountryTranslationDataSource:attach(BUFFER ttCountryTranslation:HANDLE). DATASET dsCustomer:FILL(). THIS-OBJECT:CustomerDataSource:detach(BUFFER ttCustomer:HANDLE). THIS-OBJECT:CustomerAddressDataSource:detach(BUFFER ttCustomerAddress:HANDLE). THIS-OBJECT:CountryDataSource:detach(BUFFER ttCountry:HANDLE ). THIS-OBJECT:CountryTranslationDataSource:detach(BUFFER ttCountryTranslation:handle). RETURN. END METHOD. After that I would like to add some more data to the dataset if it is required: METHOD PUBLIC VOID GetMultipleData( INPUT-OUTPUT DATASET dsCustomer): // Don't empty the dataset, but add invoice data to the existing dataset. Of course we have to make sure there are customers in the dataset before calling this method THIS-OBJECT:MultipleDataSource:attach(BUFFER ttMultiple:HANDLE). DATASET dsCustomer:FILL(). THIS-OBJECT:MultipleDataSource:detach(BUFFER ttMultiple:HANDLE). RETURN. END METHOD. When I try to run this I get an error on calling of the GetCustomerData() method, MultipleDataSource has to be attached before the dataset can be filled. I get the error message, and the simple solution would just be to fill the entire dataset with all the data every time, but that would also imply a lot of redundant data in the dataset. In this case there is just some basic information, but you can imagine that a customer does not only have this information, but also invoices (with invoice lines), orders (with order lines), etc... Is it possible to just get the information and fill the temp-tables for the required data? Else: is performance of OpenEdge ProDataSets so awesome that I do not have to worry about the extra data that is filled every time?

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