project QadFinancials > class BAddressType > method DumpAddressTypeForConsolid

Description

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

PostCondition

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


Parameters


icAddressStatusIDListinputcharacterList of Address Status IDs
icDumpFileinputcharacterDump File
icConsolCompanyinputcharacterConsolidation Company Code
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolidDump.AdditionalUpdatesPostingSub


program code (program1/baddresstype.p)

If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.

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

For Each tAddressType:

    Assign
        tAddressType.AddressTypeIsActive    = True
        tAddressType.AddressType_ID         = 0.

End.

<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 BAddressType>
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 = "40":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 BAddressType>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.