Allows you to generate an XML file from a CSV file (separator: semicolon).
Syntax
CHGVAR |
VAR(&CMD) VALUE('CSVTOXML') |
CHGVAR |
VAR(&PARM1) VALUE(' CSV="Path of the CSV file"; XML="Path of the XML file"; ElemName="Tag name"') |
CHGVAR |
VAR(&PARM2) VALUE(' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
Parameters
Parameters |
|
Parm1 |
CSV: Contains the full path of the CSV file (semicolon separator). XML: Contains the full path of the XML file. ElemName: Indicates the name of each tag corresponding to each record of the CSV file. |
Parm2 |
|
Example
PGM
DCL VAR(&SVRADDR) TYPE(*CHAR) LEN(30) VALUE(*DEV)
DCL VAR(&HANDLE) TYPE(*CHAR) LEN(50)
DCL VAR(&CCSID) TYPE(*CHAR) LEN(10)
DCL VAR(&CMD) TYPE(*CHAR) LEN(10)
DCL VAR(&OPT) TYPE(*CHAR) LEN(1)
DCL VAR(&PARM1) TYPE(*CHAR) LEN(512)
DCL VAR(&PARM2) TYPE(*CHAR) LEN(1024)
DCL VAR(&RESULT) TYPE(*CHAR) LEN(512)
CHGVAR VAR(&HANDLE) VALUE('*ONLY')
CHGVAR VAR(&CCSID) VALUE('*JOB')
CALL PGM(LNCOPEN) PARM(&HANDLE &SVRADDR &CCSID)
CHGVAR VAR(&CMD) VALUE('CSVTOXML')
CHGVAR VAR(&PARM1) +
VALUE('CSV="C:\A\csv.txt";XML="C:\A\csv_xml+
.xml";ElemName="SP_CUST"')
CHGVAR VAR(&PARM2) VALUE(' ')
CALL PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +
&PARM2 &RESULT)
LNCCLOSE
ENDPGM
With the following CSV file:
The generated XML file is the following :
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<SP_CUST>
<CUST_ID>"1231"</CUST_ID>
<COMPANY>"Unisco"</COMPANY>
<FIRSTNAME>"George"</FIRSTNAME>
<LASTNAME>"Weathers"</LASTNAME>
<CIVIL>"1"</CIVIL>
<ADDRESS>"PO Box Z-547"</ADDRESS>
<ADDR2>""</ADDR2>
<CITY>"Freeport"</CITY>
<STATE>""</STATE>
<ZIP>""</ZIP>
<COUNTRY>"Bahamas"</COUNTRY>
<PHONE>"809-555-3915"</PHONE>
<FAX>"809-555-4958"</FAX>
</SP_CUST>
<SP_CUST>
<CUST_ID>"1351"</CUST_ID>
<COMPANY>"Sight Diver"</COMPANY>
<FIRSTNAME>"Phyllis"</FIRSTNAME>
<LASTNAME>"Spooner"</LASTNAME>
<CIVIL>"1"</CIVIL>
<ADDRESS>"1 Neptune Lane"</ADDRESS>
<ADDR2>""</ADDR2>
<CITY>"Kato Paphos"</CITY>
<STATE>""</STATE>
<ZIP>""</ZIP>
<COUNTRY>"Cyprus"</COUNTRY>
<PHONE>"357-6-876708"</PHONE>
<FAX>"357-6-870943"</FAX>
</SP_CUST>
</DocumentElement>