‎2011 Sep 15 3:04 PM
Hi,
I am currently trying to convert this xml string back to my structure but i have been unsuccessful so far using tcode STRANS. Initially i keep getting illegal operation but now i manage to retrieve only part of my xml data.
my XML string:
<?xml version="1.0" ?>
- <Root>
- <Transaction_Status>
<Status>Success</Status>
<Description>No. of records found = 6</Description>
</Transaction_Status>
- <Processing_Exceptions>
- <Report>
- <Record>
<Reason>Validation failed for pan field</Reason>
<Field_Name>ID_PAN_CARD</Field_Name>
<Field_Value />
</Record>
- <Record>
<Reason>Validation failed for passport field</Reason>
<Field_Name>ID_PASSPORT</Field_Name>
<Field_Value />
</Record>
- <Record>
<Reason>Father name field is null</Reason>
<Field_Name>NULL</Field_Name>
<Field_Value />
</Record>
- <Record>
<Reason>Pin field is null</Reason>
<Field_Name>NULL</Field_Name>
<Field_Value />
</Record>
- <Record>
<Reason>Invalid Mobile Number</Reason>
<Field_Name>MOBILE_NUM</Field_Name>
<Field_Value />
</Record>
- <Record>
<Reason>CITYISNULL</Reason>
<Field_Name>DC_CITY</Field_Name>
<Field_Value />
</Record>
</Report>
<Reject />
</Processing_Exceptions>
- <Output>
- <Record>
<search_id>2861</search_id>
<MATCHED_CUSTOMER_ID>100268</MATCHED_CUSTOMER_ID>
<defined_match_criteria>[INDV_NAME:70]</defined_match_criteria>
<actual_matched_criteria>(INDV_NAME : 96.15 )</actual_matched_criteria>
<CUSTOMER_ID>100268</CUSTOMER_ID>
<INDV_NAME>BIJENDER SINGH</INDV_NAME>
<FATHER_NAME />
<CUR_CITY>DELHI</CUR_CITY>
<CUR_STATE>DELHI</CUR_STATE>
<CUR_PIN>110041</CUR_PIN>
<MOBILE_NUM />
<ID_PAN_CARD />
<CUR_PHONE />
<BIRTH_DATE />
</Record>
- <Record>
<search_id>2861</search_id>
<MATCHED_CUSTOMER_ID>115993</MATCHED_CUSTOMER_ID>
<defined_match_criteria>[INDV_NAME:70]</defined_match_criteria>
<actual_matched_criteria>(INDV_NAME : 100.0 )</actual_matched_criteria>
<CUSTOMER_ID>115993</CUSTOMER_ID>
<INDV_NAME>BIRENDER SINGH</INDV_NAME>
<FATHER_NAME />
<CUR_CITY>GURGAON</CUR_CITY>
<CUR_STATE>HARYANA</CUR_STATE>
<CUR_PIN>122001</CUR_PIN>
<MOBILE_NUM>9813736856</MOBILE_NUM>
<ID_PAN_CARD />
<CUR_PHONE />
<BIRTH_DATE>1979-08-26 00:00:00.0</BIRTH_DATE>
</Record>
</Output>
</Root>
Please help . Thanks in Advance.
Regards,
Nilesh
‎2011 Sep 16 8:16 AM
‎2011 Sep 16 8:57 AM
‎2011 Sep 16 3:09 PM
What kind of Transformation are you using? (Post it here) and what does your structure which you want to convert your XML-File into look like? (post it here, as well..)
regards, Lukas
‎2011 Sep 20 8:42 AM
Hi Lukas,
Thanks for Reply.
I have using XSLT Transformation(Tcode : STRANS) .
Below field in my ABAP structure :
CUSTOMER_ID
INDV_NAME
CUR_CITY
CUR_STATE
CUR_PIN
MOBILE_NUM
ID_PAN_CARD
CUR_PHONE
BIRTH_DATE
Regards,
Nilesh
‎2011 Sep 19 12:13 PM
‎2011 Sep 21 3:09 AM
Hi,
It seems to be a very basic transformation, so why did you choose XSLT instead of ST? (SAP simple transformation)
Secondly, did you do an XSLT like the one below, and how did you call it from your ABAP program? Please paste it (XSLT + ABAP interesting parts, like data object declaration, CALL TRANSFORMATION) so that we can correct it.
...
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<xsl:for-each select="//Root/Output/Record">
<item>
<CUSTOMER_ID>
<xsl:value-of select="CUSTOMER_ID"/>
</CUSTOMER_ID>
...
Sandra
‎2011 Sep 21 12:35 PM
Hi Sandra,
Thanks for Reply.
I have create XSLT code like
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:strip-space elements="*"/>
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<xsl:for-each select="//Root/Output/Record">
<item>
<CUSTOMER_ID>
<xsl:value-of select="CUSTOMER_ID"/>
</CUSTOMER_ID>
<INDV_NAME>
<xsl:value-of select="INDV_NAME"/>
</INDV_NAME>
<FATHER_NAME>
<xsl:value-of select="FATHER_NAME"/>
</FATHER_NAME>
<CUR_CITY>
<xsl:value-of select="CUR_CITY"/>
</CUR_CITY>
<CUR_STATE>
<xsl:value-of select="CUR_STATE"/>
</CUR_STATE>
<CUR_PIN>
<xsl:value-of select="CUR_PIN"/>
</CUR_PIN>
<MOBILE_NUM>
<xsl:value-of select="MOBILE_NUM"/>
</MOBILE_NUM>
<ID_PAN_CARD>
<xsl:value-of select="ID_PAN_CARD"/>
</ID_PAN_CARD>
<CUR_PHONE>
<xsl:value-of select="CUR_PHONE"/>
</CUR_PHONE>
<BIRTH_DATE>
<xsl:value-of select="BIRTH_DATE"/>
</BIRTH_DATE>
</ITEM>
</ABAP>
</xsl:transform>
and calling program like
............
TYPES: BEGIN OF i_det,
CUSTOMER_ID(10),
INDV_NAME(20),
FATHER_NAME(20),
CUR_CITY(15),
CUR_STATE(15),
CUR_PIN(06),
MOBILE_NUM(10),
ID_PAN_CARD(18),
CUR_PHONE(10),
BIRTH_DATE(10),
END OF i_det.
DATA: i_data TYPE TABLE OF i_det,
w_data type i_det.
DATA: xml_string TYPE string." type ref to cl_fx_reader .
DATA: xslt_error TYPE REF TO cx_xslt_exception,
xslt_message TYPE string .
..................
.................
try .
call transformation ('ZXSLT_CODE')
source xml xml_string
result i_data = i_data.
catch cx_xslt_exception into xslt_error.
xslt_message = xslt_error->get_text( ).
endtry.
.................
Waiting for Response.
Regards,
Nilesh
‎2011 Sep 26 9:07 AM
‎2011 Oct 31 2:18 PM