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.