project QadFinancials > class BJournalEntry > method DumpJEDetForConsolid

Description

Prepare instance for dump of detailed postings


Parameters


iiCompanyIdinputinteger
icDumpDirectoryinputcharacter
icConsolCompanyinputcharacter
idCCExchangeRateinputdecimal
idCCExchangeRateScaleinputdecimal
icCCCurrencyCodeinputcharacter
iiDumpChunkSizeinputinteger
iiFromYearinputinteger
iiFromPeriodinputinteger
iiToYearinputinteger
iiToPeriodinputinteger
bcJournalIDListinput-outputcharacter
bcBusinessRelationIDListinput-outputcharacter
bcDivisionIDListinput-outputcharacter
bcCostCentreIDListinput-outputcharacter
bcProjectIDListinput-outputcharacter
bcSafStructureIDListinput-outputcharacter
bcSafIDListinput-outputcharacter
bcSafStructureLinkIDListinput-outputcharacter
bcGLIDListinput-outputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolidDump.AdditionalUpdatesPosting


program code (program1/bjournalentry.p)

/* ========================================================================== */
/* Normalize input paramters                                                  */
/* ========================================================================== */
if iiCompanyId = 0 then assign iiCompanyId = viCompanyId.
if iiCompanyId = ? then assign iiCompanyId = viCompanyId.
    
If oiReturnStatus = 0 
Then Assign oiReturnStatus = -98.

Assign bcJournalIDList          = Replace(bcJournalIDList,         Chr(4),',':U).
Assign bcBusinessRelationIDList = Replace(bcBusinessRelationIDList,Chr(4),',':U).
Assign bcDivisionIDList         = Replace(bcDivisionIDList,        Chr(4),',':U).
Assign bcCostCentreIDList       = Replace(bcCostCentreIDList,      Chr(4),',':U).
Assign bcProjectIDList          = Replace(bcProjectIDList,         Chr(4),',':U).
Assign bcSafStructureIDList     = Replace(bcSafStructureIDList,    Chr(4),',':U).
Assign bcSafIDList              = Replace(bcSafIDList,             Chr(4),',':U).
Assign bcSafStructureLinkIDList = Replace(bcSafStructureLinkIDList,Chr(4),',':U).
Assign bcGLIDList               = Replace(bcGLIDList,              Chr(4),',':U).

<Q-1 run PostingByPeriodRange (all) (Read) (NoCache)
   (input iiCompanyId, (CompanyId)
    input ((iiFromYear * 100) + iiFromPeriod), (FromYearPeriod)
    input ((iiToYear * 100) + iiToPeriod), (ToYearPeriod)
    output dataset tqPostingByPeriodRange) in BPosting >

/* Start queries */
<Q-2 run PostingSafByIDs  (Start) in BPosting >
<Q-3 run SafStructureLinkByAllIDs  (Start) in BSafStructureLink >

For Each tqPostingByPeriodRange Break By tqPostingByPeriodRange.tiPostingYearPeriod:

    If Not Can-do(vcPostingIDList + ",0":U, String(tqPostingByPeriodRange.tiPosting_ID))
    Then Assign vcPostingIDList = vcPostingIDList + ',':U + String(tqPostingByPeriodRange.tiPosting_ID).

    If Not Can-do(bcJournalIDList + ",0":U, String(tqPostingByPeriodRange.tiJournal_ID))
    Then Assign bcJournalIDList = bcJournalIDList + ',':U + String(tqPostingByPeriodRange.tiJournal_ID).

    If Not Can-do(bcBusinessRelationIDList + ",0":U, String(tqPostingByPeriodRange.tiIntercoBusinessRelation_ID))
    Then Assign bcBusinessRelationIDList = bcBusinessRelationIDList + ',':U + String(tqPostingByPeriodRange.tiIntercoBusinessRelation_ID).

    If Not Can-do(bcDivisionIDList + ",0":U, String(tqPostingByPeriodRange.tiDivision_ID))
    Then Assign bcDivisionIDList = bcDivisionIDList + ',':U + String(tqPostingByPeriodRange.tiDivision_ID).

    If Not Can-do(bcCostCentreIDList + ",0":U, String(tqPostingByPeriodRange.tiCostCentre_ID))
    Then Assign bcCostCentreIDList = bcCostCentreIDList + ',':U + String(tqPostingByPeriodRange.tiCostCentre_ID).

    If Not Can-do(bcProjectIDList + ",0":U, String(tqPostingByPeriodRange.tiProject_ID))
    Then Assign bcProjectIDList = bcProjectIDList + ',':U + String(tqPostingByPeriodRange.tiProject_ID).

    If Not Can-do(bcGLIDList + ",0":U, String(tqPostingByPeriodRange.tiGL_ID))
    Then Assign bcGLIDList = bcGLIDList + ',':U + String(tqPostingByPeriodRange.tiGL_ID).

    Assign vcPostingIDList = Trim(vcPostingIDList).

    If Num-entries(vcPostingIDList) mod iiDumpChunkSize = 0 Or
       Last(tqPostingByPeriodRange.tiPostingYearPeriod)
    Then Do:
    
        Assign viDumpSeq = viDumpSeq + 1.
        Assign vcDumpFile = icDumpDirectory + "Posting.":U + String(viDumpSeq) + ".xml":U.

        Assign vcPostingIDList = Replace(Trim(vcPostingIDList,',':U),',':U,Chr(4)).

        <M-4 run DataLoad (input  ? (icRowids), 
                   input  vcPostingIDList (icPkeys), 
                   input  ? (icObjectIds), 
                   input  ? (icFreeform), 
                   input  false (ilKeepPrevious), 
                   output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
        If viFcReturnSuper <> 0 
        Then Assign oiReturnStatus = viFcReturnSuper.
        If viFcReturnSuper < 0
        Then Return.

        Assign bcGLIDList = Replace(Trim(bcGLIDList,',':U),',':U,Chr(4)).

        <M-11 run DumpJEForConsolid (input  vcDumpFile (icDumpFile), 
                             input  icConsolCompany (icConsolCompany), 
                             input  idCCExchangeRate (idCCExchangeRate), 
                             input  idCCExchangeRateScale (idCCExchangeRateScale), 
                             input  icCCCurrencyCode (icCCCurrencyCode), 
                             input-output bcGLIDList (bcGLIDList), 
                             output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>        
        If viFcReturnSuper <> 0 
        Then Assign oiReturnStatus = viFcReturnSuper.
        If viFcReturnSuper < 0
        Then Return.

        Assign bcGLIDList = Replace(bcGLIDList,Chr(4),',':U).

        Assign vcPostingIDList = '':U.

    End.

    <Q-5 run PostingSafByIDs (all) (Read) (NoCache)
          (input ?, (PostingSafId)
           input tqPostingByPeriodRange.tiPostingLine_ID, (PostingLineId)
           input ?, (SafId)
           input ?, (SafStructureId)
           output dataset tqPostingSafByIDs) in BPosting >    

    For Each tqPostingSafByIDs:

        If Not Can-do(bcSafStructureIDList + ",0":U, String(tqPostingSafByIDs.tiSafStructure_ID))
        Then Assign bcSafStructureIDList = bcSafStructureIDList + ',':U + String(tqPostingSafByIDs.tiSafStructure_ID).

        If Not Can-do(bcSafIDList + ",0":U, String(tqPostingSafByIDs.tiSaf_ID))
        Then Assign bcSafIDList = bcSafIDList + ',':U + String(tqPostingSafByIDs.tiSaf_ID).

        If tqPostingSafByIDs.tiSaf_ID <> 0 And
           tqPostingSafByIDs.tiSaf_ID <> ? 
        Then Do:

            If tqPostingSafByIDs.tcPostingSafParentType = {&POSTINGSAFPARENTTYPE-GL}
            Then Do:
                <Q-6 run SafStructureLinkByAllIDs (all) (Read) (NoCache)
          (input ?, (SafStructureLinkID)
           input tqPostingSafByIDs.tiSafStructure_ID, (SafStructureID)
           input tqPostingByPeriodRange.tiGL_ID, (GLID)
           input ?, (ProjectID)
           input ?, (CostCentreID)
           output dataset tqSafStructureLinkByAllIDs) in BSafStructureLink >                
                Find First tqSafStructureLinkByAllIDs No-lock No-error.
                If Available tqSafStructureLinkByAllIDs
                Then Do:
                
                    If Not Can-do(bcSafStructureLinkIDList + ",0":U, String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID))
                    Then Assign bcSafStructureLinkIDList = bcSafStructureLinkIDList + ',':U + String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID).
    
                End.
            End.

            If tqPostingSafByIDs.tcPostingSafParentType = {&POSTINGSAFPARENTTYPE-COSTCENTRE}
            Then Do:
                <Q-7 run SafStructureLinkByAllIDs (all) (Read) (NoCache)
          (input ?, (SafStructureLinkID)
           input tqPostingSafByIDs.tiSafStructure_ID, (SafStructureID)
           input ?, (GLID)
           input ?, (ProjectID)
           input tqPostingByPeriodRange.tiCostCentre_ID, (CostCentreID)
           output dataset tqSafStructureLinkByAllIDs) in BSafStructureLink >                 
                Find First tqSafStructureLinkByAllIDs No-lock No-error.
                If Available tqSafStructureLinkByAllIDs
                Then Do:
                
                    If Not Can-do(bcSafStructureLinkIDList + ",0":U, String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID))
                    Then Assign bcSafStructureLinkIDList = bcSafStructureLinkIDList + ',':U + String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID).
    
                End.
            End.

            If tqPostingSafByIDs.tcPostingSafParentType = {&POSTINGSAFPARENTTYPE-PROJECT}
            Then Do:
                <Q-8 run SafStructureLinkByAllIDs (all) (Read) (NoCache)
          (input ?, (SafStructureLinkID)
           input tqPostingSafByIDs.tiSafStructure_ID, (SafStructureID)
           input ?, (GLID)
           input tqPostingByPeriodRange.tiProject_ID, (ProjectID)
           input ?, (CostCentreID)
           output dataset tqSafStructureLinkByAllIDs) in BSafStructureLink >                 
                Find First tqSafStructureLinkByAllIDs No-lock No-error.
                If Available tqSafStructureLinkByAllIDs
                Then Do:
                
                    If Not Can-do(bcSafStructureLinkIDList + ",0":U, String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID))
                    Then Assign bcSafStructureLinkIDList = bcSafStructureLinkIDList + ',':U + String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID).
    
                End.
            End.               

        End.

    End. /* For Each tqPostingSafByIDs: */

End. /* For Each tqPostingByPeriodRange: */

/* Start queries */
<Q-9 run PostingSafByIDs  (Stop) in BPosting >
<Q-10 run SafStructureLinkByAllIDs  (Stop) in BSafStructureLink >

Assign bcJournalIDList          = Replace(Trim(bcJournalIDList,         ',':U),',':U,Chr(4)).
Assign bcBusinessRelationIDList = Replace(Trim(bcBusinessRelationIDList,',':U),',':U,Chr(4)).
Assign bcDivisionIDList         = Replace(Trim(bcDivisionIDList,        ',':U),',':U,Chr(4)).
Assign bcCostCentreIDList       = Replace(Trim(bcCostCentreIDList,      ',':U),',':U,Chr(4)).
Assign bcProjectIDList          = Replace(Trim(bcProjectIDList,         ',':U),',':U,Chr(4)).
Assign bcSafStructureIDList     = Replace(Trim(bcSafStructureIDList,    ',':U),',':U,Chr(4)).
Assign bcSafIDList              = Replace(Trim(bcSafIDList,             ',':U),',':U,Chr(4)).
Assign bcSafStructureLinkIDList = Replace(Trim(bcSafStructureLinkIDList,',':U),',':U,Chr(4)).
Assign bcGLIDList               = Replace(Trim(bcGLIDList,              ',':U),',':U,Chr(4)).

If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.