cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic sql is throwing dump after upgrade to EHP 7.0

Former Member
0 Kudos

Hi All,

My customer recently upgraded to EHP 7.0.

I have one query like below :

select * from (ls_table_list-tabname) into

                         table <table>

                         where (condition).


where ls_table-tabname is the table name, <table> is with the structure of same table and condition is very simple where condition. (id = 'XXXXX').


We are getting dump with "CX_SY_DYNAMIC_OSQL_SYNTAX" and the dump message is "


When parsing a dynamic statement, an error occurred.

Before upgrade same statements were working fine.

Please send us the response asap. Its urgent.

Thanks in advance,

Sreedhar

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

I have had a very similar Issue.  Identical select works OK in our NOT upgraded system (D04) but NO Longer in our upgraded system (P03):

  • Solution: the L_SEL_COND string can no longer have an '.' at end of the string
  • See also Note 1810104 Release change from 7.0, EhP3 or from 7.3, EhP1 to 7.40 => Open SQL

Some code extract:

CREATE DATA <sel_crit>-ref_t_annn

                     TYPE STANDARD TABLE OF (<sel_by_table>-tabname).

         ASSIGN <sel_crit>-ref_t_annn->* TO <t_annn>.

         SELECT *

                FROM (<sel_by_table>-tabname)

                INTO TABLE <t_annn>

                WHERE (l_sel_cond).

Some Data:

<SEL_BY_TABLE>-TABNAME = A902

<T_ANNN>          Standard table of struct A902

L_SEL_COND = KAPPL = <sel_crit>-konh_vakey-kappl AND KSCHL = <sel_crit>-konh_vakey-kschl AND VKORG = <VKORG> AND VTWEG = <VTWEG> AND KUNNR = <KUNNR> AND MATNR = <MATNR> AND KFRST = <KFRST> AND KNUMH = <sel_crit>-knumh. <= Point @ End to be removed

L_SEL_COND =

P03

D04

KAPPL = <sel_crit>-konh_vakey-kappl AND

V

V

KSCHL = <sel_crit>-konh_vakey-kschl AND

PR00

PR00

VKORG = <VKORG> AND

S010

S010

VTWEG = <VTWEG> AND

20

20

KUNNR = <KUNNR> AND

0000012453

0000012453

MATNR = <MATNR> AND

000000000000043501

000000000000043501

KFRST = <KFRST> AND

KNUMH = <sel_crit>-knumh.

0000655662

0000655662

I remarked that in the exception class CX_SY_DYNAMIC_OSQL_SYNTAX a new Text was introduced 'SQL_PARSER_ERROR' but can't really find any explanation.

So I'm still no longer searching for help.

Dirk

former_member559220
Participant
0 Kudos

Hello Sreedhar, how did you corrected this error. same error i got after EHP upgrade.

thanks, Rajagopal.

frank_hoffmann3
Discoverer
0 Kudos

Maybe SAP-Note 1810104 describes the error.

divyanshu_srivastava3
Active Contributor
0 Kudos

Hi sreedhar,

Can you send me the dump ?

Regards,

Divyanshu

Former Member
0 Kudos

Hi Divyanshu,

Following is the text of Short dump :

Category ABAP Programming Error

Runtime error SAPSQL_PARSE_ERROR

Exception CX_SY_DYNAMIC_OSQL_SYNTAX

ABAP program / GETPF / SAPLTABLE_CONTENT_CHECK

Application component not assigned

Date and Time 07.02.2014 14:57:48

Short text

When parsing a dynamic statement, an error occurred.

What happened?

Error in ABAP application program.

The current ABAP program "/ GETPF / SAPLTABLE_CONTENT_CHECK" had to be canceled

be as it appears on

an instruction is encountered, which unfortunately can not be executed.

Error Analysis

There is an exception has occurred, which is discussed further below.

The exception, which is assigned to the class 'CX_SY_DYNAMIC_OSQL_SYNTAX'

was in the procedure "/ GETPF / TABLE_CONTENT_CHECK" "(FUNCTION)" neither

intercepted,

still propagated by a RAISING clause.

Since the caller of the procedure is not with the occurrence of the exception

could be expected, the running program was terminated.

Error was at below statement :

      SELECT * FROM (ls_table_list-tabname) INTO

TABLE <table>

WHERE (condition).