project QadFinancials > class BCDocumentStatus > method CreateDocumentStatusForBankGL

Description

Creates a document status for the specified bank G/L if it does not already exist.


Parameters


iiCompanyIDinputintegerCompany ID
iiBankGLIDinputintegerBank gl account id
icDocumentTypeinputcharacterDocument Type
icDocumentStatusinputcharacterDocument Status
iiDefaultValueDaysinputintegerDefault value days
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCDocument.CreateVoidedDocument


program code (program1/bcdocumentstatus.p)

/* Determine if status already exists for the specified own bank GL and document type */
<Q-1 assign vlFcQueryRecordsAvailable = CDocumentStatusByTypeStatusGL (NoCache)
   (input iiCompanyID, (CompanyId)
    input icDocumentType, (CDocumentStatusDocumentType)
    input icDocumentStatus, (CDocumentStatusStatus)
    input iiBankGLID, (BankGLId)
    input ?, (BankGLCode)) in BCDocumentStatus >

/* Create the CDocumentStatus record if it does not already exist */
if(not vlFcQueryRecordsAvailable) then do:    
    <M-2 run AddDetailLine
       (input  'CDocumentStatus':U (icTable), 
        input  '' (icParentRowid), 
        output viFcReturnSuper (oiReturnStatus)) in BCDocumentStatus>
    if (viFcReturnSuper < 0 or  oiReturnStatus  = 0)  then assign oiReturnStatus = viFcReturnSuper.
    if oiReturnStatus < 0 then return.
    
    <Q-6 run GLByBankInfo (all) (Read) (NoCache)
       (input ?, (CompanyId)
        input iiBankGLID, (GLID)
        input ?, (GLCode)
        output dataset tqGLByBankInfo) in BGL >
    for first tqGLByBankInfo:
        vcBankGLCode = tqGLByBankInfo.tcGLCode. 
    end.

    assign
        tCDocumentStatus.BankGL_ID = iiBankGLID
        tCDocumentStatus.tcBankGLCode = vcBankGLCode
        tCDocumentStatus.CDocumentStatusStatus = icDocumentStatus
        tCDocumentStatus.CDocumentStatusDocType = icDocumentType
        tCDocumentStatus.Company_ID = iiCompanyID
        tCDocumentStatus.CDocumentStatusDefValDays = iiDefaultValueDays.
        
    <M-5 run ValidateBC
       (output viFcReturnSuper (oiReturnStatus)) in BCDocumentStatus>            
    if (viFcReturnSuper < 0 or  oiReturnStatus  = 0)  then assign oiReturnStatus = viFcReturnSuper.
    if oiReturnStatus < 0 then return.

    <M-3 run AdditionalUpdates
       (output viFcReturnSuper (oiReturnStatus)) in BCDocumentStatus>
    if (viFcReturnSuper < 0 or  oiReturnStatus  = 0)  then assign oiReturnStatus = viFcReturnSuper.
    if oiReturnStatus < 0 then return.
   
   <M-4 run DataSave
      (output viFcReturnSuper (oiReturnStatus)) in BCDocumentStatus>
    if (viFcReturnSuper < 0 or  oiReturnStatus  = 0)  then assign oiReturnStatus = viFcReturnSuper.
    if oiReturnStatus < 0 then return.
      
end. /* if(not vlFcQueryRecordsAvailable) */