project QadFinancials > class Persistence (Progress) > method NextMfgOid

Description

Retrieve the next value from the qaddb_oid_sq01 sequence on the qaddb database. This value is used to build the OID value for new records in the MFG/PRO schema.


Parameters


odNextMfgOidoutputdecimalNext value from the qaddb database sequence.


Internal usage


unused


program code (program1/progress.p)

create buffer vhBuffer for table "qaddb_ctrl":U in widget-pool "non-persistent".
create query vhQuery in widget-pool "non-persistent".
vhQuery:set-buffers(vhBuffer).
assign vlFcOk = vhQuery:query-prepare ("for each qaddb_ctrl":U) no-error.
if vlFcOk
then assign vlFcOk = vhQuery:query-open() no-error.
if not vlFcOk
then do:
    publish "Logging.DatabaseAccess"
           ('read qaddb_ctrl':U  + chr(10) + 'for each qaddb_ctrl':U + chr(10) + 'FAILED':U, ?).
    return.
end.

vhQuery:get-first(no-lock).

assign vtDate    = today
    odNextMfgOid = (year(vtDate)  * 10000 +
                     month(vtDate) * 100 + 
                     day(vtDate))  * 10000000000
    odNextMfgOid = odNextMfgOid + <M-4 GetNextValue
                                     (input  'qaddb_oid_sq01':U (icSequence)) in Progress>
    odNextMfgOid = odNextMfgOid + vhBuffer:buffer-field("qaddb_oid_regid":U):buffer-value().

finally:

    if vhQuery <> ?
    then do:
        vhQuery:query-close().
        delete object vhQuery.
    end.
    
    if vhBuffer <> ?
    then delete object vhBuffer.
    
end finally.