Focal Point
[CLOSED] Xml report using webfocus

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/626108325

September 08, 2010, 07:52 AM
<Neelam B>
[CLOSED] Xml report using webfocus
I am trying to generate xml report using webfocus. The source code is shown below:

-* File daily_account_interface.fex
APP FI ACCOUNTXML DISK BASEAPP/ACCOUNTXML.XML
JOIN
DA_PARTNER.DA_PARTNER.BUDGET_ID IN DA_PARTNER TO UNIQUE BUDGET.BUDGET.ID
IN BUDGET TAG J1 AS J1
END
JOIN
DA_PARTNER.DA_PARTNER.EXTERNAL_ID IN DA_PARTNER TO UNIQUE
DA_SIM_PARTNER.DA_SIM_PARTNER.ID IN DA_SIM_PARTNER TAG J2 AS J2
END
DEFINE FILE DA_PARTNER
AccType/A20=
IF J2.DA_SIM_PARTNER.ACCOUNT_TYPE EQ 1 THEN 'Self service'
ELSE IF J2.DA_SIM_PARTNER.ACCOUNT_TYPE EQ 2 THEN 'Full Service'
ELSE IF J2.DA_SIM_PARTNER.ACCOUNT_TYPE EQ 3 THEN 'LongTail'
ELSE 'NONE';
aa/A10=TRIM('L', EDIT(DA_PARTNER.DA_PARTNER.ID), 20, '0', 1, 'A10');
CRLF/A1 = HEXBYT(10,'A1');
XML_ROW/A200 = '';
END

TABLE FILE DA_PARTNER
PRINT
XML_ROW CRLF
HEADING
"header"
FOOTING
"footer"
ON TABLE SAVE AS ACCOUNTXML

END

The source code generates the below format:





My question is how can I append header and trialing part (as shown below) to above genearted report?

header part:



Trailer part:


The required format should look like the following:







Also I have problems on how to trim leading occurences of 0's ? example: 00009941 must be shown as 9941
I have used trim funtion but it cuts off the next field values as shown below:

Kerry,
September 08, 2010, 07:54 AM
<Neelam B>
The source code generates the below format:




September 08, 2010, 07:55 AM
<Neelam B>
The source code generates the below format:

row account_id="00000009940" backend_Id="" account_type="Self service" current_balance="000000000000000000000016166" market="FI" />
row account_id="00000009941" backend_Id="" account_type="Self service" current_balance="000000000000000000000000000" market="FI" />
row account_id="00000010040" backend_Id="" account_type="Self service" current_balance="000000000000000000000015000" market="FI" />
September 08, 2010, 07:58 AM
<Neelam B>
Header part:
xml version="1.0"?>
report>

Trailer part:
report>

The required format should look like the following:
xml version="1.0"?>
report>
row account_id="00000009940" backend_Id="" account_type="Self service" current_balance="000000000000000000000016166" market="FI" /> row account_id="00000009941" backend_Id="" account_type="Self service" current_balance="000000000000000000000000000" market="FI" /> row account_id="00000010040" backend_Id="" account_type="Self service" current_balance="000000000000000000000015000" market="FI" />
report>
September 08, 2010, 08:22 AM
Alan B
Neelam

Please put your results in code tags, the right hand button on the top. Then we can easily read it.

Instead of using SAVE, I believe I use HOLD FORMAT WP for XML output. Haven't got code with me.

The one thing I cannot remember is how to remove the '1' from the top. Can someone else remember?

This allows headings and footings as you want. Use
XML_ROW AS ''

Should not need CRLF, but can utilise OVER if required.


Alan.
WF 7.705/8.007