<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Native SQL Exceptions in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237658#M1827972</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looking more and more like it is just an issue with Oracle DB.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 Apr 2014 06:59:55 GMT</pubDate>
    <dc:creator>GrahamRobbo</dc:creator>
    <dc:date>2014-04-24T06:59:55Z</dc:date>
    <item>
      <title>Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237652#M1827966</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;Hi there,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;I am finding some anomalies when trying to handle exceptions with the ADBC native SQL interface and wondered if anyone else has experienced these issues.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;I have built a native SQL interface to perform SQL queries via RFC - a bit like the RFC_READ_TABLE function module but with native SQL. ( I know - but trust me I need to do it this way.)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;So here is a simple code fragment that shows what I want to do.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; &lt;SPAN class="s1"&gt;DATA&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_stmt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE&amp;nbsp; &lt;/SPAN&gt;string&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_exc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cx_root&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_stmt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_sql_statement&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_sql_result_set&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_itab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO data&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_row_count&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE i&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_xmldata&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;xstring&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;FIELD-SYMBOLS&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;:&amp;nbsp; &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE ANY TABLE&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPES&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;BEGIN OF &lt;/SPAN&gt;result_struct&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mandt &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;t000&lt;SPAN class="s3"&gt;-&lt;/SPAN&gt;mandt&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtext &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;t000&lt;SPAN class="s3"&gt;-&lt;/SPAN&gt;mtext&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ort01 &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;t000&lt;SPAN class="s3"&gt;-&lt;/SPAN&gt;ort01&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;END OF &lt;/SPAN&gt;result_struct&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; lv_stmt &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'SELECT MANDT, MTEXT, ORT01 FROM T000'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CREATE &lt;/SPAN&gt;OBJECT lo_stmt&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_stmt&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;execute_query&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lv_stmt &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CREATE DATA &lt;/SPAN&gt;lo_itab &lt;SPAN class="s1"&gt;TYPE TABLE OF &lt;/SPAN&gt;result_struct&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;set_param_table&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_itab &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_row_count &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;next_package&lt;SPAN class="s2"&gt;( ).&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CATCH &lt;/SPAN&gt;cx_sql_exception &lt;SPAN class="s1"&gt;INTO &lt;/SPAN&gt;lo_exc&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;MESSAGE &lt;/SPAN&gt;lo_exc &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'I' &lt;/SPAN&gt;DISPLAY &lt;SPAN class="s1"&gt;LIKE &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'E'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;RETURN&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;ENDTRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;ASSIGN &lt;/SPAN&gt;lo_itab&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;* &lt;SPAN class="s1"&gt;TO &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CALL &lt;/SPAN&gt;TRANSFORMATION &lt;SPAN class="s1"&gt;id&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOURCE &lt;SPAN class="s1"&gt;table &lt;/SPAN&gt;&lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESULT XML lv_xmldata&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CALL FUNCTION &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'DISPLAY_XML_STRING'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml_string &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lv_xmldata&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;



&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-family: Arial; font-size: 13px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Arial; font-size: 13px;"&gt;This is all pretty straight forward. I am using the ADBC interface to pass (and parse) the SQL statement and return the results into the itab that is referenced by lo_itab. Then I transform the results into XML and display them.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;If I change the SQL statement to something invalid - like ’&lt;SPAN style="color: #0000ff; font-family: 'courier new', courier;"&gt;SELECT JUNK FROM T000&lt;/SPAN&gt;’ - exception CX_SQL_EXCEPTION is raised and I can display the error details. The interesting thing is that the exception is triggered at a different place depending upon the database I am running on.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;If I am running on MS SQL Server the exception is triggered on the call to the EXECUTE_QUERY method of the CL_SQL_STATEMENT class.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/439515" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;But on an Oracle DB the exception is triggered on the later call to the NEXT_PACKAGE method of the CL_SQL_RESULT_SET class.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/439516" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt; font-family: Arial;"&gt;&lt;EM&gt;*Note - these are the only databases I have available to me at the moment so if someone can try on some others I would appreciate it.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;In my simple example this doesn’t make a lot of difference as we can still trap the DB-specific error and return it. But I can’t expect to know exactly what SQL query will be passed so that means I can’t hardcode data structures to hold the results of the query - I need to dynamically create the itab to hold the result set.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;So my code will look more like this…&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
&lt;P&gt;&lt;SPAN class="s1"&gt;DATA&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_stmt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE&amp;nbsp; &lt;/SPAN&gt;string&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_exc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cx_root&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_stmt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_sql_statement&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_param&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO data&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_sql_result_set&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_structdescr&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_abap_structdescr&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_tabledescr&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_abap_tabledescr&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_itab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO data&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_row_count&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE i&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_xmldata&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;xstring&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;FIELD-SYMBOLS&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;:&amp;nbsp; &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE ANY TABLE&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; lv_stmt &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;&lt;SPAN class="s3"&gt;'SELECT MANDT, MTEXT, ORT01 FROM T000'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;TRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;CREATE &lt;/SPAN&gt;OBJECT lo_stmt&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_stmt&lt;SPAN class="s4"&gt;-&amp;gt;&lt;/SPAN&gt;execute_query&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lv_stmt &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;TRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_structdescr ?= cl_abap_structdescr&lt;SPAN class="s4"&gt;=&amp;gt;&lt;/SPAN&gt;describe_by_data_ref&lt;SPAN class="s2"&gt;(&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&lt;SPAN class="s4"&gt;-&amp;gt;&lt;/SPAN&gt;get_struct_ref&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_result&lt;SPAN class="s4"&gt;-&amp;gt;&lt;/SPAN&gt;get_metadata&lt;SPAN class="s2"&gt;( ) ) ).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_tabledescr &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;cl_abap_tabledescr&lt;SPAN class="s4"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="s1"&gt;create&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_structdescr &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;CREATE DATA &lt;/SPAN&gt;lo_itab &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;HANDLE lo_tabledescr&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;CATCH &lt;/SPAN&gt;cx_sy_struct_attributes cx_sy_table_creation cx_sy_create_data_error&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;CREATE DATA &lt;/SPAN&gt;lo_itab &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;stringtab&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;ENDTRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&lt;SPAN class="s4"&gt;-&amp;gt;&lt;/SPAN&gt;set_param_table&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_itab &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_row_count &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_result&lt;SPAN class="s4"&gt;-&amp;gt;&lt;/SPAN&gt;next_package&lt;SPAN class="s2"&gt;( ).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;CATCH &lt;/SPAN&gt;cx_sql_exception &lt;SPAN class="s1"&gt;INTO &lt;/SPAN&gt;lo_exc&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;MESSAGE &lt;/SPAN&gt;lo_exc &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN class="s3"&gt;'I' &lt;/SPAN&gt;DISPLAY &lt;SPAN class="s1"&gt;LIKE &lt;/SPAN&gt;&lt;SPAN class="s3"&gt;'E'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;RETURN&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;ENDTRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;ASSIGN &lt;/SPAN&gt;lo_itab&lt;SPAN class="s4"&gt;-&amp;gt;&lt;/SPAN&gt;* &lt;SPAN class="s1"&gt;TO &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;CALL &lt;/SPAN&gt;TRANSFORMATION &lt;SPAN class="s1"&gt;id&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOURCE &lt;SPAN class="s1"&gt;table &lt;/SPAN&gt;&lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESULT XML lv_xmldata&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;CALL FUNCTION &lt;/SPAN&gt;&lt;SPAN class="s3"&gt;'DISPLAY_XML_STRING'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1"&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml_string &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lv_xmldata&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/P&gt;



&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;Now I can pass in any SQL query and the itab will be dynamically created to hold the query results. For example if I change my SQL query to ’&lt;SPAN style="color: #0000ff; font-family: 'courier new', courier;"&gt;SELECT MANDT AS CLIENT, MTEXT AS DESCRIPTION, ORT01 AS CITY FROM T000&lt;/SPAN&gt;’ it will dynamically create the itab with columns CLIENT, DESCRIPTION and CITY to hold the results. This works great!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;But now the different places the CX_SQL_EXCEPTION is raised cause me a problem on the Oracle DB.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;Because the exception is not triggered until much later in the code I need to create the itab to hold the results - even though it will never be used. This is done by the &lt;SPAN style="font-family: 'courier new', courier;"&gt;CREATE DATA lo_itab TYPE stringtab&lt;/SPAN&gt; statement that is in executed in the CATCH block when there is an exception calling the RTTC services to create the dynamic itab.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;When I call the NEXT_PACKAGE method I still get the CX_SQL_EXCEPTION raised, but now it is flagged as an internal error instead of a database error so the DB-specific details are not populated in the exception.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/439520" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;It appears that the earlier call to the GET_METADATA method of the CL_SQL_RESULT_SET class has somehow changed the state of the instance.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;I would appreciate any and all ideas on this.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;Cheers&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; font-family: Arial;"&gt;Graham Robbo&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 05:14:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237652#M1827966</guid>
      <dc:creator>GrahamRobbo</dc:creator>
      <dc:date>2014-04-24T05:14:05Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237653#M1827967</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Graham&lt;/P&gt;&lt;P&gt;I recently wrote similar code, granted it was HANA not Oracle or MSSql, no issues though&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;only significant difference is in bold&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DATA:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lr_metadata&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE REF TO data,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lr_tabletype&amp;nbsp;&amp;nbsp; TYPE REF TO cl_abap_tabledescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; TRY.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "execute SQL statement&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CREATE OBJECT mo_sql_statement.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mo_sql_result = mo_sql_statement-&amp;gt;execute_query( mv_sql_statement ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp; "get result structure definition from metadata&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mt_metadata =&amp;nbsp; mo_sql_result-&amp;gt;get_metadata( ).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp; lr_metadata = mo_sql_result-&amp;gt;get_struct_ref( md_tab = mt_metadata p_strict = abap_false ).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mo_rtti ?= cl_abap_typedescr=&amp;gt;describe_by_data_ref( lr_metadata&amp;nbsp; ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "create table type to hold result&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_tabletype&amp;nbsp;&amp;nbsp; = cl_abap_tabledescr=&amp;gt;create( p_line_type&amp;nbsp; = mo_rtti&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p_table_kind = cl_abap_tabledescr=&amp;gt;tablekind_std ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CREATE DATA ro_results TYPE HANDLE lr_tabletype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "get results&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mo_sql_result-&amp;gt;set_param_table( itab_ref = ro_results ).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mo_sql_result-&amp;gt;next_package( ).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mo_sql_result-&amp;gt;close( ).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CATCH cx_root.&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLEAR e_result.&lt;/P&gt;&lt;P&gt;&amp;nbsp; ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hth&lt;/P&gt;&lt;P&gt;jsp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 06:24:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237653#M1827967</guid>
      <dc:creator>former_member182048</dc:creator>
      <dc:date>2014-04-24T06:24:15Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237654#M1827968</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks John,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can you confirm on HANA that an invalid SQL statement raises an exception when you call the CL_SQL_STATEMENT-&amp;gt;EXECUTE_QUERY method?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Graham Robbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 06:28:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237654#M1827968</guid>
      <dc:creator>GrahamRobbo</dc:creator>
      <dc:date>2014-04-24T06:28:03Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237655#M1827969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Robbo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just tested in MaxDB and got the error on &lt;SPAN style="color: #333333; font-size: 12px;"&gt;CL_SQL_STATEMENT-&amp;gt;EXECUTE_QUERY&lt;/SPAN&gt;( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/439595" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Custodio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 06:36:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237655#M1827969</guid>
      <dc:creator>custodio_deoliveira</dc:creator>
      <dc:date>2014-04-24T06:36:04Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237656#M1827970</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks mate - looking more and more like it is just Oracle that has the issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 06:38:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237656#M1827970</guid>
      <dc:creator>GrahamRobbo</dc:creator>
      <dc:date>2014-04-24T06:38:07Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237657#M1827971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;it does, put a catch in between statements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/439616" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 06:57:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237657#M1827971</guid>
      <dc:creator>former_member182048</dc:creator>
      <dc:date>2014-04-24T06:57:24Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237658#M1827972</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looking more and more like it is just an issue with Oracle DB.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 06:59:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237658#M1827972</guid>
      <dc:creator>GrahamRobbo</dc:creator>
      <dc:date>2014-04-24T06:59:55Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL Exceptions</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237659#M1827973</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for you help with this guys. I will log a support call. In the meantime I have changed my code so that it redoes the complete ADBC setup and method calls to trap Oracle Db errors. The code now looks like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;DATA&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_stmt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE&amp;nbsp; &lt;/SPAN&gt;string&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_exc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cx_root&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_stmt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_sql_statement&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_param&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO data&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_sql_result_set&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_structdescr&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_abap_structdescr&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_tabledescr&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO &lt;/SPAN&gt;cl_abap_tabledescr&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_itab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE REF TO data&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_row_count&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE i&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_xmldata&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;xstring&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;FIELD-SYMBOLS&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;:&amp;nbsp; &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TYPE ANY TABLE&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; lv_stmt &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'SELECT MANDT, MTEXT, ORT01 FROM T000'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CREATE &lt;/SPAN&gt;OBJECT lo_stmt&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_stmt&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;execute_query&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lv_stmt &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_structdescr ?= cl_abap_structdescr&lt;SPAN class="s3"&gt;=&amp;gt;&lt;/SPAN&gt;describe_by_data_ref&lt;SPAN class="s2"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;get_struct_ref&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;get_metadata&lt;SPAN class="s2"&gt;( ) ) ).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_tabledescr &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;cl_abap_tabledescr&lt;SPAN class="s3"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="s1"&gt;create&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_structdescr &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CREATE DATA &lt;/SPAN&gt;lo_itab &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;HANDLE lo_tabledescr&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CATCH &lt;/SPAN&gt;cx_sy_struct_attributes cx_sy_table_creation cx_sy_create_data_error &lt;SPAN class="s1"&gt;INTO &lt;/SPAN&gt;lo_exc&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;IF &lt;/SPAN&gt;sy&lt;SPAN class="s3"&gt;-&lt;/SPAN&gt;dbsys &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'ORACLE'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;. &lt;/SPAN&gt;&lt;SPAN class="s3"&gt;&lt;EM style="color: #999999;"&gt;"Redo ABDC call to get Oracle DB error message&lt;/EM&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;TRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CREATE &lt;/SPAN&gt;OBJECT lo_stmt&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_stmt&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;execute_query&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lv_stmt &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CREATE DATA &lt;/SPAN&gt;lo_itab &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;stringtab&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;set_param_table&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_itab &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_row_count &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;next_package&lt;SPAN class="s2"&gt;( ).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CATCH &lt;/SPAN&gt;cx_sql_exception &lt;SPAN class="s1"&gt;INTO &lt;/SPAN&gt;lo_exc&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;ENDTRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;MESSAGE &lt;/SPAN&gt;lo_exc &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'I' &lt;/SPAN&gt;DISPLAY &lt;SPAN class="s1"&gt;LIKE &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'E'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;RETURN&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;ENDTRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;set_param_table&lt;SPAN class="s2"&gt;( &lt;/SPAN&gt;lo_itab &lt;SPAN class="s2"&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_row_count &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lo_result&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;next_package&lt;SPAN class="s2"&gt;( ).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CATCH &lt;/SPAN&gt;cx_sql_exception &lt;SPAN class="s1"&gt;INTO &lt;/SPAN&gt;lo_exc&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;MESSAGE &lt;/SPAN&gt;lo_exc &lt;SPAN class="s1"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'I' &lt;/SPAN&gt;DISPLAY &lt;SPAN class="s1"&gt;LIKE &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'E'&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;RETURN&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;ENDTRY&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;ASSIGN &lt;/SPAN&gt;lo_itab&lt;SPAN class="s3"&gt;-&amp;gt;&lt;/SPAN&gt;* &lt;SPAN class="s1"&gt;TO &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CALL &lt;/SPAN&gt;TRANSFORMATION &lt;SPAN class="s1"&gt;id&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOURCE &lt;SPAN class="s1"&gt;table &lt;/SPAN&gt;&lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;&amp;lt;itab&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESULT XML lv_xmldata&lt;SPAN class="s2"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;CALL FUNCTION &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;'DISPLAY_XML_STRING'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="s1" style="font-family: 'courier new', courier; color: #3366ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #3366ff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml_string &lt;SPAN class="s2"&gt;= &lt;/SPAN&gt;lv_xmldata&lt;/SPAN&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Graham Robbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Apr 2014 01:52:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-exceptions/m-p/10237659#M1827973</guid>
      <dc:creator>GrahamRobbo</dc:creator>
      <dc:date>2014-04-26T01:52:30Z</dc:date>
    </item>
  </channel>
</rss>

