project QadFinancials > class BCurrency > method DumpCurrencyForConsolid
Description
This method will load the Currencies for which the IDs were passed in the input parameter.
These currencies will be dumped in the XML file that was passed in the input parameter.
Parameters
| icCurrencyIDList | input | character | List of Currency IDs |
| icDumpFile | input | character | Dump File |
| icConsolCompany | input | character | Consolidation Company Code |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bcurrency.p)
If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.
<M-4 run DataLoad (input ? (icRowids),
input icCurrencyIDList (icPkeys),
input ? (icObjectIds),
input ? (icFreeform),
input False (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BCurrency>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.
For Each tCurrency:
Assign
tCurrency.CurrencyIsActive = True
tCurrency.Currency_ID = 0.
End.
<M-5 run DumpXmlRepresentation
(input icDumpFile (icFile),
input no (ilHeaderOnly),
input no (ilSuppressEmptyFields),
input 0 (iiPriority),
input ? (ilWriteXMLSchema),
input ? (icObjectRowId),
output viFcReturnSuper (oiReturnStatus)) in BCurrency>
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 = "30":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 BCurrency>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.
If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.