[progress Communities] [progress Openedge Abl] Forum Post: Prodataset Question...

  • Thread starter Thread starter Darrick Bush
  • Start date Start date
Status
Not open for further replies.
D

Darrick Bush

Guest
Please review the code below...my question is in regards to the "FILL-WHERE-STRING". I want to be able to have a where clause on the srceidlu AND another one for the xacctref. I need "srceidlu.systype = "PAS" and xacctref.acct = 29 Is this possible...and if so, how? Thanks, Darrick DEFINE VARIABLE hbfttAcctRef AS HANDLE NO-UNDO. DEFINE VARIABLE cWhereClause AS CHARACTER NO-UNDO. DEFINE VARIABLE iBatchSize AS INTEGER NO-UNDO. DEFINE VARIABLE icounter AS INTEGER NO-UNDO. DEFINE VARIABLE rrowid AS ROWID NO-UNDO. DEFINE VARIABLE icnt AS INTEGER NO-UNDO. DEFINE TEMP-TABLE ttAcctCrossRef NO-UNDO SERIALIZE-NAME "ttAcctCrossRef" LIKE xacctref. DEFINE TEMP-TABLE ttsrceidlu NO-UNDO SERIALIZE-NAME "ttsrceidlu" LIKE srceidlu. DEFINE DATASET OneTIS_AcctCrossRef FOR ttAcctCrossRef,ttsrceidlu DATA-RELATION drLink FOR ttAcctCrossRef,ttsrceidlu RELATION-FIELDS (srceid,srceid) NESTED. DEFINE DATA-SOURCE dsAcctCrossRef FOR xacctref. DEFINE DATA-SOURCE dssrceidlu FOR srceidlu. BUFFER ttAcctCrossRef:HANDLE:ATTACH-DATA-SOURCE (DATA-SOURCE dsAcctCrossRef:HANDLE). BUFFER ttsrceidlu:HANDLE:ATTACH-DATA-SOURCE (DATA-SOURCE dssrceidlu:HANDLE). ASSIGN hbfttAcctRef = BUFFER ttAcctCrossRef:HANDLE. BUFFER ttAcctCrossRef:HANDLE:BATCH-SIZE = iBatchSize. DATA-SOURCE dssrceidlu:FILL-WHERE-STRING = SUBSTITUTE("WHERE srceidlu.systype = '&1'","PAS"). REPEAT: IF rRowid NE ? THEN DO: DATA-SOURCE dsAcctCrossRef:RESTART-ROWID(1) = rRowid. END. DATASET OneTIS_AcctCrossRef:EMPTY-DATASET(). DATASET OneTIS_AcctCrossRef:FILL(). hbfttAcctRef:WRITE-JSON("FILE", SUBSTITUTE("/sccs/work/ayb/xacct/acctcrossref_&1.json",STRING(icounter)), TRUE). ASSIGN rRowid = DATA-SOURCE dsAcctCrossRef :NEXT-ROWID(). IF rRowid = ? THEN LEAVE. END.

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