project QadFinancials > class BCMask > method ValidateComponentPostCMaskJournal

Description

Implement extra validations for the Closing mask


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCMask.ValidateComponentPostCMask


program code (program1/bcmask.p)

/* ============================================================================================ *
 * Perform validation for CMaskJournal record                                                   *
 * ============================================================================================ */
VAL_BLOCK:
do on error undo, leave:
    /* Precondition */
    if not available t_sCMaskJournal
    then do:
        assign vcMessage = #T-86'There is missing t_sCMaskJournal record.':255(671280335)T-86#.
        <M-22 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  '':U (icFieldName), 
            input  '':U (icFieldValue), 
            input  'S':U (icType), 
            input  3 (iiSeverity), 
            input  '':U (icRowid), 
            input  'qadfin-631480':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCMask>
        assign oiReturnStatus = -1.
        return.
    end.
    
    /* ============================================================================================ *
     * Daybooks used for the Period costing are not allowed for definition of Closing mask          *
     * ============================================================================================ */
    if can-find (Journal where
                 Journal.Journal_ID = t_sCMaskJournal.Journal_ID and
                 Journal.JournalTypeCode = {&JOURNALTYPE-PERIODICCOSTING})
    then do:
        assign vcMessage = #T-51'Daybooks of type Periodic Costing are not allowed.':255(592241340)T-51#.
        <M-59 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  'tCMaskJournal.tcJournalCode':U (icFieldName), 
            input  t_sCMaskJournal.tcJournalCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCMaskJournal.tc_Rowid (icRowid), 
            input  'qadfin-89481':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCMask>
        assign oiReturnStatus = -1.
    end.                      
    
    /* ============================================================================================ *
     * Only active daybooks can be used                                                             *
     * ============================================================================================ */
    if can-find (Journal where
                 Journal.Journal_ID = t_sCMaskJournal.Journal_ID and
                 Journal.JournalIsActive <> true)
    then do:
        assign vcMessage = #T-31'Daybook &1 is inactive.':255(608558949)T-31#
               vcMessage = substitute(vcMessage, t_sCMaskJournal.tcJournalCode).
        <M-48 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  'tCMaskJournal.tcJournalCode':U (icFieldName), 
            input  t_sCMaskJournal.tcJournalCode (icFieldValue), 
            input  'W':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCMaskJournal.tc_Rowid (icRowid), 
            input  'qadfin-808927':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCMask>
        assign oiReturnStatus = 1.
    end.
end. /* VAL_BLOCK */