Hi!
There are some mistakes using GET-CHANGES and dynamic dataset.
First, I created a dataset with dynamic statements with dynamic temp-tables.
Then, I turned on tracking changes and made some changes.
I created a change data-set with create-like méthod. When I'm using GET-CHANGES method, my change dataset still empty.
I checked this :
mychangedataset:GET-BUFFER-HANDLE(mychangetemptable):TABLE-HANDLE:ORIGIN-HANDLE = myoriginaldataset:GET-BUFFER-HANDLE( mychangetemptable):TABLE-HANDLE
Here is my code and some informations :
DO i =1 TO NUM-ENTRIES( clistbuffer, "," ): ASSIGN cBuffName = ENTRY( i,clistbuffer, "," ) ttOngletR.hPDS:GET-BUFFER-HANDLE( cBuffName ):TABLE-HANDLE:TRACKING-CHANGES = TRUE. ttOngletR.hPDS:GET-BUFFER-HANDLE( cBuffName ):BUFFER-DELETE(). END. /* create change dataset */ CREATE DATASET lhChangePDS. lhChangePDS:CREATE-LIKE(ttOngletR.hPDS, cPrefix). /* get changes */ MESSAGE lhChangePDS:GET-CHANGES(ttOngletR.hPDS) /* returning yes */ VIEW-AS ALERT-BOX INFO BUTTONS OK. MESSAGE "Before" ttOngletR.hPDS:GET-BUFFER-HANDLE( 1 ):TABLE-HANDLE:NAME ttOngletR.hPDS:GET-BUFFER-HANDLE( 1 ):TABLE-HANDLE:BEFORE-TABLE:HAS-RECORDS SKIP /* returning 1 */ "Changes" lhChangePDS:GET-BUFFER-HANDLE( 1 ):TABLE-HANDLE:NAME lhChangePDS:GET-BUFFER-HANDLE( 1 ):TABLE-HANDLE:HAS-RECORDS VIEW-AS ALERT-BOX INFO BUTTONS OK. /* returning 0 */ /* turn off tracking changes on prodataset for choosen table */ DO i =1 TO NUM-ENTRIES( clistbuffer, "," ): ttOngletR.hPDS:GET-BUFFER-HANDLE( ENTRY( i,clistbuffer, "," ) ):TABLE-HANDLE:TRACKING-CHANGES = FALSE. END. Could you help me? Thank you
lhChangePDS:GET-BUFFER-HANDLE( 1 ):TABLE-HANDLE:HAS-RECORDS
Since the change(s) extracted to the lhChangePDS is/are delete(s) the expression above is expected to return FALSE. The deleted records would be in the BEFORE-TABLE in the ihChangePDS.