project QadFinancials > class BCOACrossRef > method SetupValidate

Description

Validate if there is a valid COA Cross Reference record for all existing COA combinations in the postinghist for a certain period.


Parameters


iiSourceDomainIDinputintegerSource Domain ID
iiCOACrossRefIDinputintegerCOA Cross Ref ID
icCOACrossRefCodeinputcharacterCOA Cross Ref Code
icCOACrossRefTypeinputcharacterCOA Cross Ref Type (If not coming from UI, this can be left blank. It will be retrieved from COA Cross Reference from the database)
iiAccountingYearFrominputintegerFrom Accounting Year
iiAccountingPeriodFrominputintegerFrom Accounting Period
ilValidateDivisioninputlogicalInclude divisions in Cross Reference Validation
ilValidateCostCentreinputlogicalInclude cost centre in Cross Reference Validation
ilValidateProjectinputlogicalInclude projects in Cross Reference Validation
tApiCOACrossRefDetinputtemp-tableCOA Cross Reference Detail (If not coming from UI, this can be left blank. It will be retrieved from COA Cross Reference from the database)
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program6/bcoacrossref.p)

assign oiReturnStatus      = -98
       viLocalReturnStatus = 0.

/* ==================================================== */
/* Use current domain if no source domain was specified */
/* ==================================================== */
if iiSourceDomainID = ? or iiSourceDomainID = 0
then assign iiSourceDomainID = viDomainID.

assign viYearPeriod = (iiAccountingYearFrom * 100) + iiAccountingPeriodFrom.

empty temp-table tCOACrossRefResult.

<M-98 run SetupValidateGetUsedCOA
   (input  iiSourceDomainID (iiSourceDomainID), 
    input  viYearPeriod (iiYearPeriod), 
    input  ilValidateDivision (ilValidateDivision), 
    input  ilValidateCostCentre (ilValidateCostCentre), 
    input  ilValidateProject (ilValidateProject), 
    output viDummy (oiCOARef#), 
    output viDummy (oiPostingHistRead#), 
    output viDummy (oiTotalReads#), 
    output viFcReturnSuper (oiReturnStatus)) in BCOACrossRef>

/* =========================== */
/* Retrieve the target results */
/* =========================== */
if can-find(first tCOACrossRefResult)
then do:
    <M-8 run GetCOACrossRef
       (input  iiSourceDomainID (iiSourceDomainID), 
        input  icCOACrossRefCode (icCOACrossRefCode), 
        input  iiCOACrossRefID (iiCOACrossRefID), 
        input  icCOACrossRefType (icCOACrossRefType), 
        input  tApiCOACrossRefDet (tApiCOACrossRefDet), 
        input-output tCOACrossRefResult (tCOACrossRefResult), 
        output viFcReturnSuper (oiReturnStatus)) in BCOACrossRef>
    if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
    then assign viLocalReturnStatus = viFcReturnSuper.
end. /* if can-find(first tCOACrossRefResult) */

assign oiReturnStatus = viLocalReturnStatus.