T
Thomas Wurl
Guest
I looked into OpenEdge.BusinessLogic.BusinessEntity.cls and there is something that I don't understand. A business entity like "CustomerEntity" has a contructor like: {"customerentity.i"} CONSTRUCTOR PUBLIC CustomerEntity(): SUPER (DATASET dsCustomer:HANDLE). Super (ds) sets the ProDataSet property to the static dataset of the CustomerEntity. CONSTRUCTOR PROTECTED BusinessEntity(INPUT hDS AS HANDLE): ProDataSet = hDS. END CONSTRUCTOR. Methods like CreateCustomerEntity, get a (change) dataset from outside as input-output. So the actual content of the static dataset is the changed content and this data is also what ProDatasetHandle sees. METHOD PUBLIC VOID CreateCustomerEntity(INPUT-OUTPUT DATASET dsCustomer): SUPER:CreateData(DATASET dsCustomer BY-REFERENCE). END METHOD. The Super:CreateData() method passes the static dataset again to the super class, but it's never used. The super logic always seems to use ProDatasetHandle. METHOD PROTECTED VOID CreateData(INPUT-OUTPUT DATASET-HANDLE hDataSet): THIS-OBJECT:AttachDataSources(). THIS-OBJECT:CommitData(ROW-CREATED). FINALLY: THIS-OBJECT
etachDataSources(). END FINALLY. END METHOD. Am I missing something here?
Continue reading...
Continue reading...