[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: What are you using for ALM, CI/CD, Source Control etc.

Status
Not open for further replies.
J

jonathan.wilson

Guest
The official ways to load DF (any kind) with code is below, must be run foreground "(m)pro" not batch Now an unsupported but works... but again! RISKY! is to just create the _File/_Fields within a transaction... I used this in the past, but again. Might not be something to do in production but for Dev/Test instantiation were your DB corruption isn't a big deal. The follow is part something used, full code not available, but this should show you the direction to go. /*Check to see if table exists already*/ FIND FIRST MyDBName._file WHERE MyDBName._file._file-name = chrTableName NO-ERROR. IF NOT AVAILABLE MyDBName._file THEN DO: /*Create Table*/ CREATE MyDBName._file. ASSIGN MyDBName._file._db-recid = RECID(MyDBName._db) MyDBName._file._dump-name = TRIM(LDBNAME(intDbCount)) + "_" + TRIM(hdlTableHandle:BUFFER-FIELD("_dump-name"):BUFFER-VALUE) + ".d" MyDBName._file._file-name = /*chrTempDbPrefix + */ hdlTableHandle:BUFFER-FIELD("_file-name"):BUFFER-VALUE MyDBName._file._ianum = intTableAreaNo MyDBName._file._desc = hdlTableHandle:BUFFER-FIELD("_desc"):BUFFER-VALUE MyDBName._file._valexp = hdlTableHandle:BUFFER-FIELD("_valexp"):BUFFER-VALUE MyDBName._file._valmsg = hdlTableHandle:BUFFER-FIELD("_valmsg"):BUFFER-VALUE MyDBName._file._hidden = hdlTableHandle:BUFFER-FIELD("_hidden"):BUFFER-VALUE MyDBName._file._frozen = hdlTableHandle:BUFFER-FIELD("_frozen"):BUFFER-VALUE MyDBName._file._can-dump = hdlTableHandle:BUFFER-FIELD("_can-dump"):BUFFER-VALUE MyDBName._file._can-load = hdlTableHandle:BUFFER-FIELD("_can-load"):BUFFER-VALUE MyDBName._file._file-label = hdlTableHandle:BUFFER-FIELD("_file-label"):BUFFER-VALUE MyDBName._file._file-label-sa = hdlTableHandle:BUFFER-FIELD("_file-label-sa"):BUFFER-VALUE MyDBName._file._for-cnt1 = hdlTableHandle:BUFFER-FIELD("_for-cnt1"):BUFFER-VALUE MyDBName._file._for-cnt2 = hdlTableHandle:BUFFER-FIELD("_for-cnt2"):BUFFER-VALUE MyDBName._file._for-flag = hdlTableHandle:BUFFER-FIELD("_for-flag"):BUFFER-VALUE MyDBName._file._for-format = hdlTableHandle:BUFFER-FIELD("_for-format"):BUFFER-VALUE MyDBName._file._for-id = hdlTableHandle:BUFFER-FIELD("_for-id"):BUFFER-VALUE MyDBName._file._for-info = hdlTableHandle:BUFFER-FIELD("_for-info"):BUFFER-VALUE MyDBName._file._for-name = hdlTableHandle:BUFFER-FIELD("_for-name"):BUFFER-VALUE MyDBName._file._for-number = hdlTableHandle:BUFFER-FIELD("_for-number"):BUFFER-VALUE MyDBName._file._for-owner = hdlTableHandle:BUFFER-FIELD("_for-owner"):BUFFER-VALUE MyDBName._file._for-size = hdlTableHandle:BUFFER-FIELD("_for-size"):BUFFER-VALUE MyDBName._file._for-type = hdlTableHandle:BUFFER-FIELD("_for-type"):BUFFER-VALUE MyDBName._file._valmsg-sa = hdlTableHandle:BUFFER-FIELD("_valmsg-sa"):BUFFER-VALUE MyDBName._file._can-create = hdlTableHandle:BUFFER-FIELD("_can-create"):BUFFER-VALUE MyDBName._file._can-delete = hdlTableHandle:BUFFER-FIELD("_can-delete"):BUFFER-VALUE MyDBName._file._can-read = hdlTableHandle:BUFFER-FIELD("_can-read"):BUFFER-VALUE MyDBName._file._can-write = hdlTableHandle:BUFFER-FIELD("_can-write"):BUFFER-VALUE MyDBName._file._dft-pk = hdlTableHandle:BUFFER-FIELD("_dft-pk"):BUFFER-VALUE . DO intCount = 1 TO 8 ON ERROR UNDO, RETURN ERROR: ASSIGN MyDBName._file._fil-Misc1[intCount] = hdlTableHandle:BUFFER-FIELD("_fil-Misc1"):BUFFER-VALUE(intCount) MyDBName._file._fil-Misc2[intCount] = hdlTableHandle:BUFFER-FIELD("_fil-Misc2"):BUFFER-VALUE(intCount). END. /* do intCount = 1 to 8 */ put stream LogChange unformatted NOW "-" LDBNAME(intDbCount) "-CreateTable:" hdlTableHandle:BUFFER-FIELD("_file-name"):BUFFER-VALUE skip. END. /*Does Table Exist?*/

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