project QadFinancials > class BGrossIncomeAccounting > method ValidateComponentPostJournal

Description

Validate Journal information


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BGrossIncomeAccounting.ValidateComponentPost


program code (program4/bgrossincomeaccounting.p)

/* Note: t_sGrossIncAcc is available because it is available in the calling method ValidateComponentPost, which is in the same segment */    

    /* ================ */
    /* Validate Journal */
    /* ================ */
    <Q-1 run JournalByJournalLayerType (all) (Read) (Cache)
       (input t_sGrossIncAcc.Journal_ID, (JournalId)
        input '', (JournalCode)
        input t_sGrossIncAcc.Company_ID, (CompanyId)
        input '', (LayerTypeCode)
        output dataset tqJournalByJournalLayerType) in BJournal >
    find tqJournalByJournalLayerType where
         tqJournalByJournalLayerType.tiJournal_ID = t_sGrossIncAcc.Journal_ID
         no-error.
    if not available tqJournalByJournalLayerType
    then do:
        assign oiReturnStatus = -3
               vcMessage      = substitute(#T-61'Could not find Daybook with ID &1.':255(686519611)T-61#, string(t_sGrossIncAcc.Journal_ID)).
        <M-45 run SetMessage
           (input  vcMessage (icMessage), 
            input  '' (icArguments), 
            input  'tGrossIncAcc.Journal_ID' (icFieldName), 
            input  string(t_sGrossIncAcc.Journal_ID) (icFieldValue), 
            input  'E' (icType), 
            input  3 (iiSeverity), 
            input  t_sGrossIncAcc.tc_Rowid (icRowid), 
            input  'qadfin-793679':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>
        return.
    end. /* if not available tqJournalByJournalLayerType */
         
    /* Validate that Journal is of type 'Journal Entry' */
    if tqJournalByJournalLayerType.tcJournalTypeCode <> {&JOURNALTYPE-JOURNALENTRY}
    then do:
        assign oiReturnStatus = -1
               vcMessage      = substitute(#T-85'The selected daybook must be of type &1.':255(870641117)T-85#, {&JOURNALTYPE-JOURNALENTRY-TR}).
        <M-34 run SetMessage
           (input  vcMessage (icMessage), 
            input  '' (icArguments), 
            input  'tGrossIncAcc.tcJournalCode' (icFieldName), 
            input  t_sGrossIncAcc.tcJournalCode (icFieldValue), 
            input  'E' (icType), 
            input  3 (iiSeverity), 
            input  t_sGrossIncAcc.tc_Rowid (icRowid), 
            input  'qadfin-876169':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>    
    end. /* if tqJournalByJournalLayerType.tcJournalTypeCode <> {&JOURNALTYPE-JOURNALENTRY} */

    /* Validate that Journal is not in a transient layer */
    if tqJournalByJournalLayerType.tcLayerTypeCode = {&LAYERTYPECODE-TRANSIENT}
    then do:
        assign oiReturnStatus = -1
               vcMessage      = substitute(#T-12'The selected daybook cannot be in a &1 layer.':255(938325886)T-12#, {&LAYERTYPECODE-TRANSIENT-TR}).
        <M-15 run SetMessage
           (input  vcMessage (icMessage), 
            input  '' (icArguments), 
            input  'tGrossIncAcc.tcJournalCode' (icFieldName), 
            input  t_sGrossIncAcc.tcJournalCode (icFieldValue), 
            input  'E' (icType), 
            input  3 (iiSeverity), 
            input  t_sGrossIncAcc.tc_Rowid (icRowid), 
            input  'qadfin-167150':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>            
    end. /* if tqJournalByJournalLayerType.tcLayerTypeCode = {&LAYERTYPECODE-TRANSIENT} */

    /* Validate that Journal is Operational */
    if tqJournalByJournalLayerType.tcJournalControl <> {&JOURNALCONTROL-LOGISTIC}
    then do:
        assign oiReturnStatus = -1
               vcMessage      = substitute(#T-46'The selected daybook must be an &1 daybook.':255(713407735)T-46#, {&JOURNALCONTROL-LOGISTIC-TR}).
        <M-93 run SetMessage
           (input  vcMessage (icMessage), 
            input  '' (icArguments), 
            input  'tGrossIncAcc.tcJournalCode' (icFieldName), 
            input  t_sGrossIncAcc.tcJournalCode (icFieldValue), 
            input  'E' (icType), 
            input  3 (iiSeverity), 
            input  t_sGrossIncAcc.tc_Rowid (icRowid), 
            input  'qadfin-931040':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>    
    end. /* if tqJournalByJournalLayerType.tcJournalControl <> {&JOURNALCONTROL-LOGISTIC} */