2009 Jul 23 6:15 AM
Hi all,
I have a class method where in am using the CALL TRANSFORMATION abap element to perform the transformation from XML to ABAP internal table.
call transformation (l_xslt->xml2abap_name)
source xml p_body
result (l_send_bindings).
l_xslt->xml2abap_name - /1SAI/XS00000000000000000009
p_body -
6D6D5F726B615F7661745F746F743E38372E33353C2F65636F6D6D5F726B615F7661745F746F743E
09093C65636F6D6D5F7661745F737465726C3E3C2F65636F6D6D5F7661745F737465726C3E09093C
65636F6D6D5F726B615F726174653E3C2F65636F6D6D5F726B615F726174653E09093C65636F6D6D
5F63757272656E63795F63643E4348463C2F65636F6D6D5F63757272656E63795F63643E09093C65
636F6D6D5F726B615F72746F74616C3E313233362E34303C2F65636F6D6D5F726B615F72746F7461
6C3E09093C65636F6D6D5F7461785F63645F7661745F7063743E3C2F65636F6D6D5F7461785F6364
5F7661745F7063743E09093C45434F4D4D5F5641545F42415349535F414D543E3030303030303030
3030303030303031323C2F45434F4D4D5F5641545F42415349535F414D543E09093C45434F4D4D5F
5641545F414D543E30303030303030303030303030303031333C2F45434F4D4D5F5641545F414D54
3E09093C45434F4D4D5F435552525F434F44453E4742503C2F45434F4D4D5F435552525F434F4445
3E093C2F544F544C5F494E464F3E3C2F44545F494E564F4943453E3C2F4D545F496E766F6963653E
(Internally the string representation for the above hexadecimal is -
<ecomm_net_value>1149.05</ecomm_net_value>
<ecomm_rka_freight>0.00</ecomm_rka_freight>
<ecomm_rka_sum>1149.05</ecomm_rka_sum>
<ecomm_rka_rtax>7.6</ecomm_rka_rtax>
<ecomm_rka_vat_tot>87.35</ecomm_rka_vat_tot>
<ecomm_vat_sterl></ecomm_vat_sterl>
<ecomm_rka_rate></ecomm_rka_rate>
<ecomm_currency_cd>CHF</ecomm_currency_cd>
<ecomm_rka_rtotal>1236.40</ecomm_rka_rtotal>
<ecomm_tax_cd_vat_pct></ecomm_tax_cd_vat_pct>
<ECOMM_VAT_BASIS_AMT>00000000000000012</ECOMM_VAT_BASIS_AMT>
<ECOMM_VAT_AMT>00000000000000013</ECOMM_VAT_AMT>
<ECOMM_CURR_CODE>GBP</ECOMM_CURR_CODE>
l_send_bindings-Is a structure having the field and their values accordingly .
TOTL_INFO-ECOMM_VAT_BASIS_AMT -
value is blank in resulting structure
TOTL_INFO-ECOMM_VAT_AMT-----value is blank in resulting structure
TOTL_INFO-ECOMM_CURR_CODE-----value is blank in resulting structure
My problem-Eventhough there are values for <ECOMM_VAT_BASIS_AMT> ,<ECOMM_VAT_AMT> and <ECOMM_CURR_CODE> fields in the xml mesage they are not appearing in the resulting structure of the CALL TRANSFORMATION statement.Why so? .
In fact,fields are appearing but not their values ...why?.
kindly help me out to resolve this issue...
Regards,
Karthik
2009 Jul 23 6:23 AM
Hello,
Why don't you try using Identical transformation? it is simple to use and transformation template is also not required.
Thanks,
Augustin.
Hello,
Why don't you try using Identical transformation? it is simple to use and transformation template is also not required.
Thanks,
Augustin.
2009 Jul 23 6:23 AM
Hello,
Why don't you try using Identical transformation? it is simple to use and transformation template is also not required.
Thanks,
Augustin.
2009 Jul 23 7:37 AM
Hello Augustin,
I am talking about the CALL TRANSFORMATION present in standard SAP class method i.e, CL_PROXY_XMS_PLSRV~DESERIALIZE_PAYLOAD.I do not know why it is not displaying values only for last three fields.For rest of the fields they are being displayed.
Regards,
Karthik.
2009 Jul 23 7:41 AM
Hi Refer this code.
REPORT ZTESTXML .
TABLES: KNA1.
************************************************************************
* DATA DECLARATION
************************************************************************
DATA : IT_DATA_XML TYPE STANDARD TABLE OF KNA1 WITH HEADER LINE.
DATA : XML_RESULT TYPE STRING.
************************************************************************
* SELECT OPTIONS
************************************************************************
selection-screen begin of block abc with frame title text-001.
selection-screen skip.
SELECT-OPTIONS: SO_KUNNR FOR KNA1-KUNNR.
selection-screen skip.
selection-screen end of block abc.
************************************************************************
*START OF SELECTION
************************************************************************
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM GET_INTO_XML_FORMAT.
************************************************************************
* FORM GET_DATA
************************************************************************
FORM GET_DATA.
SELECT * FROM KNA1 INTO TABLE IT_DATA_XML
WHERE KUNNR IN SO_KUNNR.
IF SY-SUBRC <> 0.
MESSAGE 'RECORDS NOT FOUND.' TYPE 'E'.
ENDIF.
ENDFORM. "GET_DATA
************************************************************************
* FORM GET_INTO_XML_FORMAT
************************************************************************
FORM GET_INTO_XML_FORMAT.
call transformation id
source SOURCE = IT_DATA_XML[]
result xml XML_RESULT.
refresh IT_DATA_XML.
CALL TRANSFORMATION id
SOURCE XML XML_RESULT
RESULT SOURCE = IT_DATA_XML[].
write: 'this is test'.
ENDFORM. "GET_INTO_XML_FORMAT
2009 Jul 23 7:51 AM
Hello,
Check with the data type for last 3 columns are XSLT compatible.
Also you debug the standard transformation template to get the more idea.
Thanks,
Augustin.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |