project QadFinancials > class BCountry > method DumpCountryForConsolid

Description

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


Parameters


icCountryIDListinputcharacter
icDumpFileinputcharacter
icConsolCompanyinputcharacter
bcBLWICountryIDListinput-outputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolidDump.AdditionalUpdatesPostingSub


program code (program1/bcountry.p)

If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.

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

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

For each tCountry:

    If Not Can-do(bcBLWICountryIDList + ",0":U, String(tCountry.BLWICountry_ID))
    Then Assign bcBLWICountryIDList = bcBLWICountryIDList + ',':U + String(tCountry.BLWICountry_ID).

    Assign
        tCountry.BLWICountry_ID     = 0
        tCountry.CountryIsActive    = True
        tCountry.Country_ID         = 0
        tCountry.Currency_ID        = 0.

    For Each tCountryVatFormat Where
             tCountryVatFormat.tc_ParentRowid = tCountry.tc_Rowid:

        Assign
            tCountryVatFormat.CountryVatFormat_ID   = 0
            tCountryVatFormat.Country_ID            = 0.

    End.

End.

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

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

If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.