project QadFinancials > class BDivision > method DumpDivisionForConsolid

Description

This method will load the Divisions that need to be dumped and dump them in a XML file.


Parameters


icDivisionIDListinputcharacter
icDumpFileinputcharacter
icConsolCompanyinputcharacter
bcJournalProfileIDListinput-outputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolidDump.AdditionalUpdatesPosting


program code (program3/bdivision.p)

If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.

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

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

For Each tDivision:

    Assign
        tDivision.BudgetGroup_ID    = 0
        tDivision.tcBudgetGroupCode = '':U
        tDivision.DivisionIsActive  = True.

    Assign
        tDivision.Division_ID  = 0
        tDivision.SharedSet_ID = 0.

End. /* For Each tDivision: */

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

<M-2 run DumpXmlRepresentation
   (input  icDumpFile (icFile),
    input  no (ilHeaderOnly),
    input  no (ilSuppressEmptyFields),
    input  0 (iiPriority),
    input  ? (ilWriteXMLSchema),
    input  ? (icObjectRowId),
    output viFcReturnSuper (oiReturnStatus)) in BDivision>
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 = "130":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 BDivision>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.