<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Emmanuele&#039;s Blog</title>
	<atom:link href="http://www.prudenzano.org/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.prudenzano.org/blog</link>
	<description>Pensieri, storie e attivita’ di Emmanuele Prudenzano</description>
	<lastBuildDate>Sat, 01 Oct 2011 11:03:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>QRFeedback: a revolution on QRCode enviroment.</title>
		<link>http://www.prudenzano.org/blog/archives/194</link>
		<comments>http://www.prudenzano.org/blog/archives/194#comments</comments>
		<pubDate>Sat, 01 Oct 2011 11:03:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://prudenzano.org/blog/archives/194</guid>
		<description><![CDATA[QRFeedback is a new idea regading usage of qrcode. Normaly you can use qrcode to redirect mobile user to your web site, but why do not use it to collect data from customer? The main idea is to save in qrcode information like: 1) url for &#8220;show me in web&#8221;. This is the same as [...]]]></description>
			<content:encoded><![CDATA[<p>QRFeedback is a new idea regading usage of qrcode. Normaly you can use qrcode to redirect mobile user to your web site, but why do not use it to collect data from customer?</p>
<p>The main idea is to save in qrcode information like:<br />
1) url for &#8220;show me in web&#8221;. This is the same as in standard qrcode<br />
2) url for image (default is 1 followed by /qrfeedback.jpg)<br />
3) list of option for vote (default is not specified and show emoticons)<br />
4) flag to enable comment (default yes)<br />
5) a welcome message<br />
6) an asset id<br />
7) url to post result (default is 1 followed by  /qrfeedback</p>
<p>To get full option avaible also for allready print qrcode the client application can invoke basic url followed by /qrfeedback.txt to get all info.</p>
<p>Stay tuned for evolution. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/194/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sarò presente al Sap Inside Track Milano 2011</title>
		<link>http://www.prudenzano.org/blog/archives/192</link>
		<comments>http://www.prudenzano.org/blog/archives/192#comments</comments>
		<pubDate>Fri, 30 Sep 2011 21:18:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lavoro]]></category>

		<guid isPermaLink="false">http://prudenzano.org/blog/?p=192</guid>
		<description><![CDATA[Quest&#8217;anno sarò presente al Sap Inside Track 2011e presento una soluzione mobile&#8230; figo no? Maggiori info su: http://www.altevie.com/sap-inside-track-2011-presenti e http://wiki.sdn.sap.com/wiki/display/events/SAP+Inside+Track+Milan+2011]]></description>
			<content:encoded><![CDATA[<p>Quest&#8217;anno sarò presente al Sap Inside Track 2011e presento una soluzione mobile&#8230; figo no?</p>
<p>Maggiori info su: <a href="http://www.altevie.com/sap-inside-track-2011-presenti">http://www.altevie.com/sap-inside-track-2011-presenti</a> e <a href="http://wiki.sdn.sap.com/wiki/display/events/SAP+Inside+Track+Milan+2011">http://wiki.sdn.sap.com/wiki/display/events/SAP+Inside+Track+Milan+2011</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/192/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP Link &#8211; Discovered new Bug</title>
		<link>http://www.prudenzano.org/blog/archives/188</link>
		<comments>http://www.prudenzano.org/blog/archives/188#comments</comments>
		<pubDate>Wed, 15 Jun 2011 22:02:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://prudenzano.org/blog/?p=188</guid>
		<description><![CDATA[Hi all, I use saplink to transport program between sap. Recently i found an issue in function group management when using customer namespace. The class ZSAPLINK_FUNCTIONGROUP, method CREATEIXMLDOCFROMOBJECT, does not determine the programm group. If you need it you can change the code as below: **** REPLACE mainfgprogname = &#8216;SAPL&#8217;. mainfgprogname+4 = objname. **** WITH [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>  I use saplink to transport program between sap. Recently i found an issue in function group management when using customer namespace.</p>
<p>The class ZSAPLINK_FUNCTIONGROUP, method CREATEIXMLDOCFROMOBJECT, does not determine the programm group. If you need it you can change the code as below:</p>
<p>**** REPLACE<br />
  mainfgprogname    = &#8216;SAPL&#8217;.<br />
  mainfgprogname+4  = objname.</p>
<p>**** WITH<br />
* epru &#8211; fix to manage customer name space<br />
  data: l_namespace TYPE string,<br />
        l_name      type string.<br />
  if objname+0(1) eq &#8216;/&#8217;.<br />
    FIND REGEX &#8216;(/.*/)(.*)&#8217; IN OBJNAME SUBMATCHES l_NAMESPACE l_name.<br />
    CONCATENATE l_namespace &#8216;SAPL&#8217; l_name into mainfgprogname.<br />
  else.<br />
    mainfgprogname    = &#8216;SAPL&#8217;.<br />
    mainfgprogname+4  = objname.<br />
  endif.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/188/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic mapping from XML into complex internal data structure in abap.</title>
		<link>http://www.prudenzano.org/blog/archives/176</link>
		<comments>http://www.prudenzano.org/blog/archives/176#comments</comments>
		<pubDate>Mon, 29 Nov 2010 20:00:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://prudenzano.org/blog/?p=176</guid>
		<description><![CDATA[Simple code for transform xml file into internal data structure.]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">In a recent project we need to realize a lot of xml interface over http. My team and I want to find a good solution to manage them.</div>
<div id="_mcePaste">Our mainly idea is to get a easy and automatic way to have internal data structure that reflect xml (and xsd) data.</div>
<div><span id="more-176"></span></div>
<div id="_mcePaste">
<div id="_mcePaste">Starting from this we start to analyze problem from a simple XML File:</div>
<blockquote>
<div>
<div>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;ISO-8859-1&#8243;?&gt;</div>
<div>&lt;shiporder&gt;</div>
<div>&lt;ordernumber&gt;10&lt;/ordernumber&gt;</div>
<div>&lt;orderperson&gt;John Smith&lt;/orderperson&gt;</div>
<div>&lt;shipto&gt;</div>
<div>&lt;name&gt;Ola Nordmann&lt;/name&gt;</div>
<div>&lt;address&gt;Langgt 23&lt;/address&gt;</div>
<div>&lt;city&gt;4000 Stavanger&lt;/city&gt;</div>
<div>&lt;country&gt;Norway&lt;/country&gt;</div>
<div>&lt;/shipto&gt;</div>
<div>&lt;item&gt;</div>
<div>&lt;title&gt;Empire Burlesque&lt;/title&gt;</div>
<div>&lt;note&gt;Special Edition&lt;/note&gt;</div>
<div>&lt;quantity&gt;1&lt;/quantity&gt;</div>
<div>&lt;price&gt;10.90&lt;/price&gt;</div>
<div>&lt;/item&gt;</div>
<div>&lt;item&gt;</div>
<div>&lt;title&gt;Hide your heart&lt;/title&gt;</div>
<div>&lt;quantity&gt;1&lt;/quantity&gt;</div>
<div>&lt;price&gt;9.90&lt;/price&gt;</div>
<div>&lt;/item&gt;</div>
<div>&lt;/shiporder&gt;</div>
</div>
</blockquote>
<div>
<div><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">This is define this XSD (to keep it simple type=&#8221;xs:string&#8221; is used in all element &#8230;)</span></div>
</div>
<blockquote>
<div id="_mcePaste">
<div id="_mcePaste">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;ISO-8859-1&#8243; ?&gt;</div>
<div id="_mcePaste">&lt;xs:schema xmlns:xs=&#8221;http://www.w3.org/2001/XMLSchema&#8221;&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;shiporder&#8221;&gt;</div>
<div id="_mcePaste">&lt;xs:complexType&gt;</div>
<div id="_mcePaste">&lt;xs:sequence&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;ordernumber&#8221; /&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;orderperson&#8221; /&gt;</div>
<div id="_mcePaste">&lt;/xs:sequence&gt;</div>
<div id="_mcePaste">&lt;/xs:complexType&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;shipto&#8221;&gt;</div>
<div id="_mcePaste">&lt;xs:complexType&gt;</div>
<div id="_mcePaste">&lt;xs:sequence&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;name&#8221; /&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;address&#8221; /&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;city&#8221; /&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;country&#8221; /&gt;</div>
<div id="_mcePaste">&lt;/xs:sequence&gt;</div>
<div id="_mcePaste">&lt;/xs:complexType&gt;</div>
<div id="_mcePaste">&lt;/xs:element&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;item&#8221; maxOccurs=&#8221;unbounded&#8221;&gt;</div>
<div id="_mcePaste">&lt;xs:complexType&gt;</div>
<div id="_mcePaste">&lt;xs:sequence&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;title&#8221; /&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;note&#8221; /&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;quantity&#8221; /&gt;</div>
<div id="_mcePaste">&lt;xs:element name=&#8221;price&#8221; /&gt;</div>
<div id="_mcePaste">&lt;/xs:sequence&gt;</div>
<div id="_mcePaste">&lt;/xs:complexType&gt;</div>
<div id="_mcePaste">&lt;/xs:element&gt;</div>
<div id="_mcePaste">&lt;/xs:element&gt;</div>
<div id="_mcePaste">&lt;/xs:schema&gt;</div>
</div>
</blockquote>
<div>For deeper node &#8220;item&#8221; we expect this kind of structure:</div>
<blockquote>
<div>*  &lt;xs:element name=&#8221;item&#8221; maxOccurs=&#8221;unbounded&#8221;&gt;</div>
<div>
<div>*    &lt;xs:complexType&gt;</div>
<div>*      &lt;xs:sequence&gt;</div>
<div>*        &lt;xs:element name=&#8221;title&#8221; /&gt;</div>
<div>*        &lt;xs:element name=&#8221;note&#8221; /&gt;</div>
<div>*        &lt;xs:element name=&#8221;quantity&#8221; /&gt;</div>
<div>*        &lt;xs:element name=&#8221;price&#8221; /&gt;</div>
<div>*      &lt;/xs:sequence&gt;</div>
<div>*    &lt;/xs:complexType&gt;</div>
<div>*  &lt;/xs:element&gt;</div>
<div>Types: begin of xml_item,</div>
<div>xml_title    type string,</div>
<div>xml_note     type string,</div>
<div>xml_quantity type string,</div>
<div>xml_price    type string,</div>
<div>end of xml_item.</div>
</div>
</blockquote>
<div>For element &#8220;shipto&#8221; we expect a structure (element has no unbounded attribute). So the abap code is:</div>
<blockquote>
<div id="_mcePaste">
<div id="_mcePaste">*  &lt;xs:element name=&#8221;shipto&#8221;&gt;</div>
<div id="_mcePaste">*    &lt;xs:complexType&gt;</div>
<div id="_mcePaste">*      &lt;xs:sequence&gt;</div>
<div id="_mcePaste">*        &lt;xs:element name=&#8221;name&#8221; /&gt;</div>
<div id="_mcePaste">*        &lt;xs:element name=&#8221;address&#8221; /&gt;</div>
<div id="_mcePaste">*        &lt;xs:element name=&#8221;city&#8221; /&gt;</div>
<div id="_mcePaste">*        &lt;xs:element name=&#8221;country&#8221; /&gt;</div>
<div id="_mcePaste">*      &lt;/xs:sequence&gt;</div>
<div id="_mcePaste">*    &lt;/xs:complexType&gt;</div>
<div id="_mcePaste">*  &lt;/xs:element&gt;</div>
<div id="_mcePaste">types: begin of xml_shipto,</div>
<div id="_mcePaste">xml_name type string,</div>
<div id="_mcePaste">xml_address type string,</div>
<div id="_mcePaste">xml_city type string,</div>
<div id="_mcePaste">xml_country type string,</div>
<div id="_mcePaste">end of xml_shipto.</div>
</div>
</blockquote>
<div>Finally the root node is:</div>
<blockquote>
<div id="_mcePaste">
<div id="_mcePaste">*  &lt;xs:element name=&#8221;shiporder&#8221;&gt;</div>
<div id="_mcePaste">*    &lt;xs:complexType&gt;</div>
<div id="_mcePaste">*      &lt;xs:sequence&gt;</div>
<div id="_mcePaste">*        &lt;xs:element name=&#8221;ordernumber&#8221; /&gt;</div>
<div id="_mcePaste">*        &lt;xs:element name=&#8221;orderperson&#8221; /&gt;</div>
<div id="_mcePaste">*      &lt;/xs:sequence&gt;</div>
<div id="_mcePaste">*    &lt;/xs:complexType&gt;</div>
<div id="_mcePaste">*    &lt;xs:element name=&#8221;shipto&#8221;&gt;</div>
<div id="_mcePaste">*      &#8230;</div>
<div id="_mcePaste">*    &lt;/xs:element&gt;</div>
<div id="_mcePaste">*    &lt;xs:element name=&#8221;item&#8221; maxOccurs=&#8221;unbounded&#8221;&gt;</div>
<div id="_mcePaste">*      &#8230;.</div>
<div id="_mcePaste">*    &lt;/xs:element&gt;</div>
<div id="_mcePaste">*  &lt;/xs:element&gt;</div>
<div id="_mcePaste">data: begin of xml_shiporder,</div>
<div id="_mcePaste">xml_ordernumber type string,</div>
<div id="_mcePaste">xml_orderperson type string,</div>
<div id="_mcePaste">xml_shipto type xml_shipto,</div>
<div id="_mcePaste">xml_item  TYPE STANDARD TABLE OF xml_item WITH DEFAULT KEY,  &#8221; item is unboundend.. so is a table</div>
<div id="_mcePaste">end of xml_shiporder.</div>
<div id="_mcePaste">data: begin of xml_structure,</div>
<div id="_mcePaste">xml_shiporder type xml_shiporder,</div>
<div id="_mcePaste">end of xml_structure.</div>
</div>
</blockquote>
<div>Note that item element is type table of because item element is <strong>unbounded</strong>. This means that we can have one or more item.</div>
<div id="_mcePaste">This structure reflect the xml: one record for shiporder, nested structure for shipto, nested table for item.</div>
<div id="_mcePaste">Now using dynamic data identification we parse xml and map data into internal table:</div>
<blockquote>
<div id="_mcePaste">
<div id="_mcePaste">**** lv_xml is the xml string file&#8230;</div>
<div id="_mcePaste">DATA: lo_ixml     TYPE REF TO if_ixml,</div>
<div id="_mcePaste">lo_factory  TYPE REF TO if_ixml_stream_factory,</div>
<div id="_mcePaste">lo_parser   TYPE REF TO if_ixml_parser,</div>
<div id="_mcePaste">lo_istream  TYPE REF TO if_ixml_istream,</div>
<div id="_mcePaste">lo_document TYPE REF TO if_ixml_document,</div>
<div id="_mcePaste">lo_node     TYPE REF TO if_ixml_node,</div>
<div id="_mcePaste">lv_is_leaf.</div>
<div id="_mcePaste">lo_ixml     = cl_ixml=&gt;create( ).</div>
<div id="_mcePaste">lo_factory  = lo_ixml-&gt;create_stream_factory( ).</div>
<div id="_mcePaste">lo_istream  = lo_factory-&gt;create_istream_string( string = lv_xml ).</div>
<div id="_mcePaste">lo_document = lo_ixml-&gt;create_document( ).</div>
<div id="_mcePaste">lo_parser   = lo_ixml-&gt;create_parser( document = lo_document</div>
<div id="_mcePaste">stream_factory = lo_factory</div>
<div id="_mcePaste">istream = lo_istream ).</div>
<div id="_mcePaste">CHECK: lo_parser-&gt;parse( ) IS INITIAL.</div>
<div id="_mcePaste">DATA: lv_nodeinfo TYPE string.</div>
<div id="_mcePaste">lo_node = lo_document-&gt;get_first_child( ).  &#8221; Get Root</div>
<div id="_mcePaste">*  lv_nodeinfo = lo_node-&gt;get_name( ).</div>
<div id="_mcePaste">PERFORM parse_xml_and_fill_abap USING lo_node</div>
<div id="_mcePaste">&#8216;XML_SHIPORDER&#8217; &#8221; root name</div>
<div id="_mcePaste">&#8216;XML_&#8217;          &#8221; Fields prefix &lt;XML_&gt;</div>
<div id="_mcePaste">CHANGING xml_structure.</div>
</div>
</blockquote>
<div>The core functionality is this simple recursive form routines:</div>
<blockquote>
<div id="_mcePaste">
<div id="_mcePaste">FORM parse_xml_and_fill_abap USING value(xml_node) TYPE REF TO if_ixml_node</div>
<div id="_mcePaste">value(table_name)</div>
<div id="_mcePaste">value(abap_field_prefix)</div>
<div id="_mcePaste">CHANGING abap_data.</div>
<div id="_mcePaste">* Strutture ABAP</div>
<div id="_mcePaste">DATA: ld_abap_record           TYPE REF TO data.</div>
<div id="_mcePaste">FIELD-SYMBOLS &lt;fs_abap_table&gt;  TYPE STANDARD TABLE.</div>
<div id="_mcePaste">FIELD-SYMBOLS &lt;fs_abap_record&gt; TYPE ANY.</div>
<div id="_mcePaste">DATA: lo_abap_type_descr       TYPE REF TO cl_abap_typedescr.</div>
<div id="_mcePaste">DATA: lv_abap_data_type.</div>
<div id="_mcePaste">* Parsing XML</div>
<div id="_mcePaste">DATA: lo_child_list            TYPE REF TO if_ixml_node_list.</div>
<div id="_mcePaste">DATA: lv_child_num             TYPE i.</div>
<div id="_mcePaste">DATA: lo_child_node            TYPE REF TO if_ixml_node.</div>
<div id="_mcePaste">DATA: lv_node_idx              TYPE i.</div>
<div id="_mcePaste">DATA: lv_is_leaf_father.</div>
<div id="_mcePaste">* Campo &#8211; Nome/Valore</div>
<div id="_mcePaste">DATA: lv_node_name             TYPE string.</div>
<div id="_mcePaste">DATA: lv_field_name            TYPE string.</div>
<div id="_mcePaste">DATA: lv_field_value           TYPE string.</div>
<div id="_mcePaste">FIELD-SYMBOLS &lt;fs_abap_field&gt;  TYPE ANY.</div>
<div id="_mcePaste">TRANSLATE table_name TO UPPER CASE.</div>
<div id="_mcePaste">ASSIGN COMPONENT table_name OF STRUCTURE abap_data TO &lt;fs_abap_record&gt;.</div>
<div id="_mcePaste">CHECK sy-subrc EQ 0.</div>
<div id="_mcePaste">cl_abap_typedescr=&gt;describe_by_data( EXPORTING  p_data      = &lt;fs_abap_record&gt;</div>
<div id="_mcePaste">RECEIVING  p_descr_ref = lo_abap_type_descr ).</div>
<div id="_mcePaste">IF lo_abap_type_descr-&gt;type_kind = lo_abap_type_descr-&gt;typekind_table.</div>
<div id="_mcePaste">ASSIGN COMPONENT table_name OF STRUCTURE abap_data TO &lt;fs_abap_table&gt;.</div>
<div id="_mcePaste">CREATE DATA ld_abap_record LIKE LINE OF &lt;fs_abap_table&gt;.</div>
<div id="_mcePaste">ASSIGN ld_abap_record-&gt;* TO &lt;fs_abap_record&gt;.</div>
<div id="_mcePaste">ENDIF.</div>
<div id="_mcePaste">lo_child_list = xml_node-&gt;get_children( ).</div>
<div id="_mcePaste">lv_child_num  = xml_node-&gt;num_children( ).</div>
<div id="_mcePaste">DO lv_child_num TIMES.</div>
<div id="_mcePaste">xml_node     = lo_child_list-&gt;get_item( lv_node_idx ).</div>
<div id="_mcePaste">lv_node_name = xml_node-&gt;get_name( ).</div>
<div id="_mcePaste">CONCATENATE abap_field_prefix lv_node_name INTO lv_field_name.</div>
<div id="_mcePaste">TRANSLATE lv_field_name TO UPPER CASE.</div>
<div id="_mcePaste">lo_child_node     = xml_node-&gt;get_first_child( ).</div>
<div id="_mcePaste">IF lo_child_node IS NOT INITIAL.</div>
<div id="_mcePaste">lv_is_leaf_father = lo_child_node-&gt;is_leaf( ).</div>
<div id="_mcePaste">IF lv_is_leaf_father IS INITIAL.</div>
<div id="_mcePaste">PERFORM parse_xml_and_fill_abap USING xml_node</div>
<div id="_mcePaste">lv_field_name</div>
<div id="_mcePaste">abap_field_prefix</div>
<div id="_mcePaste">CHANGING &lt;fs_abap_record&gt;.</div>
<div id="_mcePaste">ELSE.</div>
<div id="_mcePaste">lv_field_value = xml_node-&gt;get_value( ).</div>
<div id="_mcePaste">ASSIGN COMPONENT lv_field_name OF STRUCTURE &lt;fs_abap_record&gt; TO &lt;fs_abap_field&gt;.</div>
<div id="_mcePaste">IF sy-subrc IS INITIAL.</div>
<div id="_mcePaste">&lt;fs_abap_field&gt; = lv_field_value.</div>
<div id="_mcePaste">ENDIF.</div>
<div id="_mcePaste">ENDIF.</div>
<div id="_mcePaste">ENDIF.</div>
<div id="_mcePaste">lv_node_idx = lv_node_idx + 1.</div>
<div id="_mcePaste">ENDDO.</div>
<div id="_mcePaste">IF lo_abap_type_descr-&gt;type_kind = lo_abap_type_descr-&gt;typekind_table.</div>
<div id="_mcePaste">APPEND &lt;fs_abap_record&gt; TO &lt;fs_abap_table&gt;.</div>
<div id="_mcePaste">ENDIF.</div>
<div id="_mcePaste">ENDFORM.                    &#8221;PARSE_XML_AND_FILL_TABLE</div>
</div>
</blockquote>
<div>If you want to see a complex example you can take a look to this xml</div>
<blockquote>
<div id="_mcePaste">
<div id="_mcePaste">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;</div>
<div id="_mcePaste">&lt;submitBasketRequest&gt;</div>
<div id="_mcePaste">&lt;products&gt;</div>
<div id="_mcePaste">&lt;product&gt;</div>
<div id="_mcePaste">&lt;code&gt;51863899&lt;/code&gt;</div>
<div id="_mcePaste">&lt;description&gt;SEMIALBERO&lt;/description&gt;</div>
<div id="_mcePaste">&lt;quantity&gt;1&lt;/quantity&gt;</div>
<div id="_mcePaste">&lt;type&gt;NORMAL&lt;/type&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;RED&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;SMALL&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;BLU&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;MEDIUM&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;<span style="white-space: pre;"> </span></div>
<div id="_mcePaste">&lt;/product&gt;</div>
<div id="_mcePaste">&lt;product&gt;</div>
<div id="_mcePaste">&lt;code&gt;55214685&lt;/code&gt;</div>
<div id="_mcePaste">&lt;description&gt;ALBERO&lt;/description&gt;</div>
<div id="_mcePaste">&lt;quantity&gt;2&lt;/quantity&gt;</div>
<div id="_mcePaste">&lt;type&gt;NORMAL&lt;/type&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;WHITE&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;BIG&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;</div>
<div id="_mcePaste">&lt;/product&gt;</div>
<div id="_mcePaste">&lt;product&gt;</div>
<div id="_mcePaste">&lt;code&gt;99214685&lt;/code&gt;</div>
<div id="_mcePaste">&lt;description&gt;QUARTOALBERO&lt;/description&gt;</div>
<div id="_mcePaste">&lt;quantity&gt;3&lt;/quantity&gt;</div>
<div id="_mcePaste">&lt;type&gt;SPECIAL&lt;/type&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;GREEN&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;XXS&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;BLU&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;MEDIUM&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;RED&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;SMALL&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;BLACK&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;XXL&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;<span style="white-space: pre;"> </span></div>
<div id="_mcePaste">&lt;/product&gt;</div>
<div id="_mcePaste">&lt;product&gt;</div>
<div id="_mcePaste">&lt;code&gt;99863899&lt;/code&gt;</div>
<div id="_mcePaste">&lt;description&gt;OTTAVOALBERO&lt;/description&gt;</div>
<div id="_mcePaste">&lt;quantity&gt;7&lt;/quantity&gt;</div>
<div id="_mcePaste">&lt;type&gt;SPECIAL&lt;/type&gt;</div>
<div id="_mcePaste">&lt;/product&gt;</div>
<div id="_mcePaste">&lt;product&gt;</div>
<div id="_mcePaste">&lt;code&gt;88888888&lt;/code&gt;</div>
<div id="_mcePaste">&lt;description&gt;SEDICESIMOALBERO&lt;/description&gt;</div>
<div id="_mcePaste">&lt;quantity&gt;9&lt;/quantity&gt;</div>
<div id="_mcePaste">&lt;type&gt;NORMAL&lt;/type&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;prod_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;color&gt;RED&lt;/color&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;size&gt;SMALL&lt;/size&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/prod_char&gt;<span style="white-space: pre;"> </span></div>
<div id="_mcePaste">&lt;/product&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy_serv&gt;<span style="white-space: pre;"> </span></div>
<div id="_mcePaste">&lt;service&gt;<span style="white-space: pre;"> </span></div>
<div id="_mcePaste">&lt;code&gt;SERVICE-01&lt;/code&gt;</div>
<div id="_mcePaste">&lt;description&gt;MAH&lt;/description&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;day&gt;MONDAY&lt;/day&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;hour&gt;10:00&lt;/hour&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>TTTTTTT</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;day&gt;FRIDAY&lt;/day&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;hour&gt;23:00&lt;/hour&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>QWERTY</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/serv_char&gt;</div>
<div id="_mcePaste">&lt;/service&gt;</div>
<div id="_mcePaste">&lt;service&gt;</div>
<div id="_mcePaste">&lt;code&gt;SERVICE-02&lt;/code&gt;</div>
<div id="_mcePaste">&lt;description&gt;BOH&lt;/description&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;day&gt;AFTER&lt;/day&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;hour&gt;77:00&lt;/hour&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>HIHIHI</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;day&gt;BEFORE&lt;/day&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;hour&gt;11:00&lt;/hour&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>UHUHUH</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;serv_char&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;day&gt;NEVER&lt;/day&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;hour&gt;88:00&lt;/hour&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>AHAHAHA</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy1&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy&gt;</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span> &lt;/serv_char&gt;  <span style="white-space: pre;"> </span></div>
<div id="_mcePaste">&lt;/service&gt;<span style="white-space: pre;"> </span></div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>&lt;/dummy_serv&gt;</div>
<div id="_mcePaste">&lt;/products&gt;</div>
<div id="_mcePaste">&lt;/submitBasketRequest&gt;</div>
</div>
</blockquote>
<div>and his relative data structure:</div>
<blockquote>
<div id="_mcePaste">
<div id="_mcePaste">DATA: BEGIN OF st_xml_prod_char,</div>
<div id="_mcePaste">xml_color       TYPE string,</div>
<div id="_mcePaste">xml_size        TYPE string,</div>
<div id="_mcePaste">END OF st_xml_prod_char.</div>
<div id="_mcePaste">DATA: BEGIN OF st_product,</div>
<div id="_mcePaste">xml_code        TYPE string,</div>
<div id="_mcePaste">xml_description TYPE string,</div>
<div id="_mcePaste">xml_quantity    TYPE string,</div>
<div id="_mcePaste">xml_prod_char   LIKE TABLE OF st_xml_prod_char,</div>
<div id="_mcePaste">END OF st_product.</div>
<div id="_mcePaste">DATA: BEGIN OF st_xml_serv_char_dummy,</div>
<div id="_mcePaste">xml_dummy1       TYPE string,</div>
<div id="_mcePaste">END OF st_xml_serv_char_dummy.</div>
<div id="_mcePaste">DATA: BEGIN OF st_xml_serv_char,</div>
<div id="_mcePaste">xml_day         TYPE string,</div>
<div id="_mcePaste">xml_hour        TYPE string,</div>
<div id="_mcePaste">xml_dummy       LIKE TABLE OF st_xml_serv_char_dummy,</div>
<div id="_mcePaste">END OF st_xml_serv_char.</div>
<div id="_mcePaste">DATA: BEGIN OF st_service,</div>
<div id="_mcePaste">xml_code        TYPE string,</div>
<div id="_mcePaste">xml_description TYPE string,</div>
<div id="_mcePaste">xml_serv_char   LIKE TABLE OF st_xml_serv_char,</div>
<div id="_mcePaste">END OF st_service.</div>
<div id="_mcePaste">DATA: BEGIN OF st_dummy_serv,</div>
<div id="_mcePaste">xml_service LIKE TABLE OF st_service,</div>
<div id="_mcePaste">END OF st_dummy_serv.</div>
<div id="_mcePaste">DATA: BEGIN OF st_products,</div>
<div id="_mcePaste">xml_product    LIKE TABLE OF st_product,</div>
<div id="_mcePaste">xml_dummy_serv LIKE st_dummy_serv,</div>
<div id="_mcePaste">END OF st_products.</div>
<div id="_mcePaste">DATA: BEGIN OF abap_data,</div>
<div id="_mcePaste">xml_products LIKE st_products,</div>
<div id="_mcePaste">END OF abap_data.</div>
</div>
</blockquote>
<div id="_mcePaste">In the next release of this code we plan:</div>
<div id="_mcePaste">
<ul>
<li>Attribute management</li>
<li>Automatic code generation from XSD</li>
</ul>
</div>
<div id="_mcePaste"><strong>Acknowledgment</strong>: Parts of this work is made by my best friend Paolo Bardelli.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baby sitter d&#8217;eccezione!</title>
		<link>http://www.prudenzano.org/blog/archives/171</link>
		<comments>http://www.prudenzano.org/blog/archives/171#comments</comments>
		<pubDate>Wed, 24 Nov 2010 18:37:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://prudenzano.org/blog/archives/171</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/WdchYWoGL6E" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/WdchYWoGL6E" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/171/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chiara</title>
		<link>http://www.prudenzano.org/blog/archives/160</link>
		<comments>http://www.prudenzano.org/blog/archives/160#comments</comments>
		<pubDate>Mon, 20 Sep 2010 19:56:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://prudenzano.org/blog/?p=160</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
<a href='http://www.prudenzano.org/blog/archives/160/img_0628-2' title='IMG_0628'><img width="150" height="150" src="http://www.prudenzano.org/blog/wp-content/uploads/2010/09/IMG_06281-150x150.jpg" class="attachment-thumbnail" alt="IMG_0628" title="IMG_0628" /></a>
<a href='http://www.prudenzano.org/blog/archives/160/img_0632' title='IMG_0632'><img width="150" height="150" src="http://www.prudenzano.org/blog/wp-content/uploads/2010/09/IMG_0632-150x150.jpg" class="attachment-thumbnail" alt="IMG_0632" title="IMG_0632" /></a>
<a href='http://www.prudenzano.org/blog/archives/160/img_0648' title='IMG_0648'><img width="150" height="150" src="http://www.prudenzano.org/blog/wp-content/uploads/2010/09/IMG_0648-150x150.jpg" class="attachment-thumbnail" alt="IMG_0648" title="IMG_0648" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/160/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benvenuta Chiara!</title>
		<link>http://www.prudenzano.org/blog/archives/152</link>
		<comments>http://www.prudenzano.org/blog/archives/152#comments</comments>
		<pubDate>Wed, 08 Sep 2010 01:24:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://prudenzano.org/blog/archives/152</guid>
		<description><![CDATA[Eccoti tra le mie braccia, benvenuta&#8230;]]></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://prudenzano.org/blog/wp-content/uploads/2010/09/wpid-IMAG0078.jpg" /></p>
<p>Eccoti tra le mie braccia, benvenuta&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/152/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ansia&#8230;</title>
		<link>http://www.prudenzano.org/blog/archives/150</link>
		<comments>http://www.prudenzano.org/blog/archives/150#comments</comments>
		<pubDate>Tue, 07 Sep 2010 18:28:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://prudenzano.org/blog/?p=150</guid>
		<description><![CDATA[Eccomi ancora qui&#8230; sulle sedie di questo pronto soccorso ad attendere un cenno. Dietro alla porta Anna attende la chiamata. Dentro lo stomaco quella morsa che stringe e che non sai quantificare bene&#8230; la parte razionale di te dice: ecco ci siamo, ma comunque non sei tranquillo&#8230; Come sarà? Come la accoglierò? Cosa farà nel [...]]]></description>
			<content:encoded><![CDATA[<p>Eccomi ancora qui&#8230; sulle sedie di questo pronto soccorso ad attendere un cenno.</p>
<p>Dietro alla porta Anna attende la chiamata. </p>
<p>Dentro lo stomaco quella morsa che stringe e che non sai quantificare bene&#8230; la parte razionale di te dice: ecco ci siamo, ma comunque non sei tranquillo&#8230;<br />
Come sarà? Come la accoglierò? Cosa farà nel mondo?</p>
<p>&#8230;niente da fare&#8230;<br />
Qui non si sa ancora nulla&#8230;. attendiamo fiduciosi!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/150/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sito Aggiornato&#8230;</title>
		<link>http://www.prudenzano.org/blog/archives/146</link>
		<comments>http://www.prudenzano.org/blog/archives/146#comments</comments>
		<pubDate>Fri, 03 Sep 2010 21:59:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://prudenzano.org/blog/?p=146</guid>
		<description><![CDATA[Si, lo so, non scrivo molto&#8230; ma voglio vedere se dopo tutto questo lavoro per aggiornare il sito vedo su twitter e facebook il fatto che ho scritto un articolo.]]></description>
			<content:encoded><![CDATA[<div>
<p>Si, lo so, non scrivo molto&#8230; ma voglio vedere se dopo tutto questo lavoro per aggiornare il sito vedo su twitter e facebook il fatto che ho scritto un articolo.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/146/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog aggiornato.</title>
		<link>http://www.prudenzano.org/blog/archives/141</link>
		<comments>http://www.prudenzano.org/blog/archives/141#comments</comments>
		<pubDate>Fri, 03 Sep 2010 21:38:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://prudenzano.org/blog/archives/141</guid>
		<description><![CDATA[Questo post arriva da Android]]></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://prudenzano.org/blog/wp-content/uploads/2010/09/wpid-HPIM8635.jpg" /></p>
<p>Questo post arriva da Android</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prudenzano.org/blog/archives/141/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://stats.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->

