project QadFinancials > class BJournal > method DumpJournalForConsolid

Description

This method will load the Journals for which the IDs were passed in the input parameter.
These journals will be dumped in the XML file that was passed in the input parameter.

PostCondition

After the execution of the method, the daybooks are dumped in the xml file.


Parameters


icJournalIDListinputcharacterList of Journal IDs
icDumpFileinputcharacterDump File
icConsolCompanyinputcharacterConsolidation Company Code
bcLayerIDListinput-outputcharacterList of layer IDs
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolidDump.AdditionalUpdatesPosting


program code (program1/bjournal.p)

If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.

<M-1 run DataLoad (input  ? (icRowids),
                   input  icJournalIDList (icPkeys),
                   input  ? (icObjectIds),
                   input  ? (icFreeform),
                   input  False (ilKeepPrevious),
                   output viFcReturnSuper (oiReturnStatus)) in BJournal>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

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

For Each tJournal:

    Assign tJournal.JournalIsActive = True.

    If Not Can-do(bcLayerIDList + ",0":U, String(tJournal.Layer_ID))
    Then Assign bcLayerIDList = bcLayerIDList + ',':U + String(tJournal.Layer_ID).

    Assign
        tJournal.Journal_ID = 0
        tJournal.Layer_ID   = 0.

End. /* For Each tGL */

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

<M-2 run DumpXmlRepresentation
   (input  icDumpFile (icFile),
    input  no (ilHeaderOnly),
    input  no (ilSuppressEmptyFields),
    input  0 (iiPriority),
    input  no (ilWriteXMLSchema),
    input  ? (icObjectRowId),
    output viFcReturnSuper (oiReturnStatus)) in BJournal>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

create X-DOCUMENT vhDoc in widget-pool "non-persistent".
create X-NODEREF vhRoot in widget-pool "non-persistent".
create X-NODEREF vhNode in widget-pool "non-persistent".
create X-NODEREF vhNode2 in widget-pool "non-persistent".
create X-NODEREF vhValue in widget-pool "non-persistent".

vhDoc:load ("FILE":U, icDumpFile, no) no-error.

do viCnt = 1 to vhDoc:num-children:
    vhDoc:get-child(vhRoot,viCnt).
    if vhRoot:local-name = "object":U
    Then Leave.
end.
do viCnt = 1 to vhRoot:num-children:
    vhRoot:get-child(vhNode,viCnt).
    if vhNode:local-name   = "CompanyCode":U and
       vhNode:num-children = 1
    then do:
        vhNode:get-child(vhValue,1).
        if vhValue:name = "#text":U
        then do:
            vhValue:node-value = icConsolCompany.
        End.
    end.

    if vhNode:local-name   = "classRepresentation":U
    Then Do:
        vhDoc:create-node-namespace (vhNode2, "com.softcell.componentbuilder.class":U, "priority":U, "element":U).
        vhNode2:namespace-prefix = "cb":U.
        vhRoot:insert-before (vhNode2, vhNode).

        vhDoc:CREATE-NODE (vhValue, "", "TEXT":U).
        vhValue:NODE-VALUE = "110":U.
        vhNode2:APPEND-CHILD (vhValue).

        /*this is a must otherwise crash*/
        Assign viCnt = viCnt + 1.
    End.
end.

vhDoc:save ("file":U, icDumpFile) no-error.

delete object vhValue.
delete object vhNode2.
delete object vhNode.
delete object vhRoot.
delete object vhDoc.

<M-3 run ClearData (output viFcReturnSuper (oiReturnStatus)) in BJournal>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.