project QadFinancials > class BYearClosing > method InitialValues

Description

Add code here to initialize the calculated fields of a 'new' record (= a record that must be created in the application database) in a class temp-table.


Parameters


icTableNameinputcharacterName of the database table of which a record is created in the class temp-table.
oiReturnStatusoutputinteger


Internal usage


unused


program code (program/byearclosing.p)

<ANCESTOR-CODE>

case icTableName:
    when "YearClosing":U
    then do:
        /* Get current accounting year */
         <Q-1 run PeriodByStartEndDate (all) (Read) (NoCache)
          (input viCompanyID, (CompanyId)
           input today, (Date)
           output dataset tqPeriodByStartEndDate) in BPeriod >
        find tqPeriodByStartEndDate where
             tqPeriodByStartEndDate.ttPeriodStartDate <= today and
             tqPeriodByStartEndDate.ttPeriodEndDate   >= today
             no-error.
        
        /* Check if divisions are used */
        <M-3 run CheckDivisionsUsed (output vlDivisionsUsed (olDivisionsUsed), 
                             output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
        
        
        /* Assign the defaults */ 
        assign tYearClosing.Company_ID                   = viCompanyId
               tYearClosing.YearClosingAccountingYear    = (if available tqPeriodByStartEndDate
                                                            then tqPeriodByStartEndDate.tiPeriodYear - 1
                                                            else year(today))
               tYearClosing.YearClosingIsTransPLToBal    = true
               tYearClosing.YearClosingIsInclDivision    =  (if vlDivisionsUsed = ?
                                                             then true
                                                             else vlDivisionsUsed)
               tYearClosing.tlYearClosingIsDivAccounts   = vlDivisionsUsed.    

        
        /* Check, if the Entity is using AdditionalGLNumbering */
        assign vhFcComponent = ?.
        <M-19 run CheckAdditionalGLNumbering
           (input  ? (icCompanyCode), 
            output tYearClosing.tlCompanyPropertyIsAddGLNbr (olIsAddGLNbr), 
            input  tYearClosing.Company_ID (iiCompanyID), 
            output viFcReturnSuper (oiReturnStatus)) in BCompanyProperty>
        if viFcReturnSuper < 0 or viFcReturnSuper > 0 and oiReturnStatus = 0 then assign oiReturnStatus = viFcReturnSuper.
        if oiReturnStatus  < 0 then return.

        assign tYearClosing.tcLayerTypeCode = {&LAYERTYPECODE-OFFICIAL}.

        /* Set the layer code to default to the official layer */
        <M-84 run DefaultValuesLayer
           (input  tYearClosing.tc_Rowid (icYearCloseTcRowId), 
            input  {&LAYERTYPECODE-OFFICIAL} (icLayerTypeCode), 
            input-output tYearClosing.Layer_ID (biLayerID), 
            input-output tYearClosing.tcLayerCode (bcLayerCode), 
            output tYearClosing.tcLayerDescription (ocLayerDescription), 
            output tYearClosing.ClosingTransferJournal_ID (oiClosingTransferJournal_ID), 
            output tYearClosing.tcClosingTransferJournalCode (ocClosingTransferJournalCode), 
            output tYearClosing.ClosingPLJournal_ID (oiClosingPLJournalID), 
            output tYearClosing.tcClosingPLJournalCode (ocClosingPLJournalCode), 
            output tYearClosing.ClosingBalanceJournal_ID (oiClosingBalanceJournalID), 
            output tYearClosing.tcClosingBalanceJournalCode (ocClosingBalanceJournalCode), 
            output tYearClosing.tlLayerIsAddGLNbr (olLayerIsAddGLNbr), 
            output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
        if viFcReturnSuper < 0 or viFcReturnSuper > 0 and oiReturnStatus = 0 then assign oiReturnStatus = viFcReturnSuper.
        if oiReturnStatus  < 0 then return.

    end. /* When YearClosing */
end. /* case icTableName */