project BLF > class Database Component > method MaintainByDataset

Description

This method uses contents of the input class temp-tables (prefix t_s) to perform the action specified in icAction.
SAVE : validate contents and write to database if correct
SAVEDRAFT : validate contents, write to database if correct, copy the data to the class tables (prefix t_o) and create draft instance if incorrect
DRAFT : copy data to the class tables (prefix t_o) and create draft instance
VALIDATE : only validate data


Parameters


icActioninputcharacterSAVE
SAVEDRAFT
DRAFT
VALIDATE
opPrimaryKeyoutputlongchar
opRowidoutputlongchar
oiDraftInstanceoutputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method database.ApiReplicate
method BControlProperty.ApiLoadCustomization
method TSODImport.ImportSODDataBRole

QadFinancials
method BSelfBill.ApiCreateInvPrepayPaymentPaym


program code (program1/database.p)

if oiReturnStatus = 0
then oiReturnStatus = -98.

create dataset vhDataset in widget-pool "non-persistent".

<M-13 run MaintainByDatasetWithOutput
   (input  icAction (icAction), 
    input  false (ilReturnDataset), 
    input  false (ilPartialUpdate), 
    input  '' (icPartialUpdateExceptionList), 
    output opPrimaryKey (opPrimaryKey), 
    output opRowid (opRowid), 
    output oiDraftInstance (oiDraftInstance), 
    output vcDummy (ocPrimaryKeyName), 
    output vhDataset by-reference (ozObjectRepresentation), 
    output viFcReturnSuper (oiReturnStatus)) in database>

delete object vhDataset.
assign vhDataset = ?.

if viFcReturnSuper <> 0
then assign oiReturnStatus = viFcReturnSuper.

if viFcReturnSuper < 0
then return.

if oiReturnStatus = -98
then assign oiReturnStatus = 0.