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
icCountryIDList | input | character | |
icDumpFile | input | character | |
icConsolCompany | input | character | |
bcBLWICountryIDList | input-output | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
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.