cancel
Showing results for 
Search instead for 
Did you mean: 

DBIF_RSQL_INVALID_RSQL|CX_SY_OPEN_SQL_DB

Former Member
0 Kudos

Hi All,

We are trying to create quotations thru [va21] t.code and when we save these quotations ,the system generates numbers for the quotations(ex:9100001251,9100001253).Now when we go in the change mode to check the above document thru [va22],message is ''the quotation 9100001251 is not created'.This case is not repeated every time.

__Technical information is given below_:_

Found in table SE16 / vbak that

document 9100001251and -53 were not created.

We noticed that this error happened several times lately, and may have caused loss of CBOL orders.

Short dump generated is

DBIF_RSQL_INVALID_RSQL|CX_SY_OPEN_SQL_DB

Please help me resolving this issue.

Thanks in Advance,

Malti

Accepted Solutions (1)

Accepted Solutions (1)

former_member472711
Active Participant
0 Kudos

Please let the basis team know of this error. They should be able to analyze the reason using transactions SM13, ST22 or SM21.

Former Member
0 Kudos

Hi Experts ,

I am posting the dump which was generated..

Runtime Errors DBIF_RSQL_INVALID_RSQL

Exception CX_SY_OPEN_SQL_DB

Date and Time 01/03/2008 20:26:27

-


-


Short text

Error in module RSQL of the database interface.

-


-


What happened?

Error in the ABAP Application Program

The current ABAP program "/1BCDWB/SAPLSF00000022" had to be terminated because

it has

come across a statement that unfortunately cannot be executed.

-


Error analysis

An exception occurred that is explained in detail below.

The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught

in

procedure "%CO14" "(FORM)", nor was it propagated by a RAISING clause.

Since the caller of the procedure could not have anticipated that the

exception would occur, the current program is terminated.

The reason for the exception is:

In a SELECT access, the read file could not be placed in the target

field provided.

Either the conversion is not supported for the type of the target field,

the target field is too small to include the value, or the data does not

have the format required for the target field.

How to correct the error

Check the entries in the developer trace of the relevant work process

(transaction ST11).

Here you can find detailed information about the type and length of the

database field as well as the ABAP field into which the field was to be

| imported.

If the error occures in a non-modified SAP program, you may be able to

find an interim solution in an SAP Note.

If you have access to SAP Notes, carry out a search with the following

keywords:

"DBIF_RSQL_INVALID_RSQL" "CX_SY_OPEN_SQL_DB"

"/1BCDWB/SAPLSF00000022" or "/1BCDWB/LSF00000022F01"

"%CO14"

|

The exception must either be prevented, caught within proedure

"%CO14" "(FORM)", or its possible occurrence must be declared in the

RAISING clause of the procedure.

To prevent the exception, note the following:

System environment

SAP-Release 700

Application server... "fidries3"

Network address...... "10.58.36.214"

Operating system..... "HP-UX"

Release.............. "B.11.23"

Hardware type........ "ia64"

Character length.... 8 Bits

Pointer length....... 64 Bits

Work process number.. 15

Shortdump setting.... "full"

Database server... "fidries4"

Database type..... "ORACLE"

Database name..... "ESP"

Database user ID.. "SAPR3"

Char.set.... "en_US.iso88591"

SAP kernel....... 700

created (date)... "Mar 19 2007 20:45:15"

create on........ "HP-UX B.11.23 U ia64"

Database version. "OCI_102 (10.2.0.2.0) "

Patch level. 102

Patch text.. " "

Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."

SAP database version. 700

Operating system..... "HP-UX B.11"

Memory consumption

Roll.... 5634240

EM...... 0

Heap.... 0

Page.... 16384

MM Used. 5563136

| MM Free. 40608

|

Information on where terminated

Termination occurred in the ABAP program "/1BCDWB/SAPLSF00000022" - in "%CO14".

The main program was "RSM13000 ".

In the source code you have the termination point in line 2459

of the (Include) program "/1BCDWB/LSF00000022F01".

The program "/1BCDWB/SAPLSF00000022" was started in the update system.

The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in

procedure "%CO14" "(FORM)", but it was neither handled locally nor declared

in the RAISING clause of its signature.

The procedure is in program "/1BCDWB/SAPLSF00000022 "; its source code begins

in line

2446 of the (Include program "/1BCDWB/LSF00000022F01 ".

-


-


Source Code Extract

-


Line

SourceCde

-


2429

DATA: wrk_fees LIKE komp-kzwi6.

2430

CLEAR:wrk_fees.

2431

Select single KZWI6 into wrk_fees

2432

from VBAP

2433

where vbeln = is_vbdka-vbeln

2434

and posnr = ws_vbdpa-posnr.

2435

WS_VBDPA-NETWR = WS_VBDPA-NETWR - wrk_fees.

2436

WS_VBDPA-NETPR = WS_VBDPA-NETWR / WS_VBDPA-KWMENG.

2437

FEES_TOTAL = FEES_TOTAL + wrk_fees.

2438

2439

ENDFORM. " %CO13

2440

2441

*----


2442

  • FORM %CO14

2443

  • NODE PRICING_CONDITIONS

2444

*----


2445

2446

FORM %CO14.

2447

2448

*----


2449

  • kbetr = condition rate (each)

2450

  • kwert = condition value (total

2451

*----


2452

clear: ZLP2_EACH, ZMP2_EACH, ZCOM_EACH.

2453

select single kbetr from konv

2454

into (ZLP2_EACH)

2455

where knumv = IS_VBDKA-knumv and

2456

KPOSN = WS_VBDPA-posnr and

2457

kappl = 'V' and

2458

kschl = 'ZLP2'.

>>>>>

select single kbetr from konv

2460

into (ZMP2_EACH)

2461

where knumv = IS_VBDKA-knumv and

2462

KPOSN = WS_VBDPA-posnr and

2463

kappl = 'V' and

2464

kschl = 'ZMP2'.

2465

select single kbetr from konv

2466

into (ZCOM_EACH)

2467

where knumv = IS_VBDKA-knumv and

2468

KPOSN = WS_VBDPA-posnr and

2469

kappl = 'V' and

2470

kschl = 'ZCOM'.

2471

*----


2472

  • Reformat the commission condition types

2473

*----


2474

ZCOM_EACH = ZCOM_EACH / 10.

2475

ZMP2_EACH = ZMP2_EACH / 1000.

2476

2477

ENDFORM. " %CO14

2478

-


Internal notes

The termination was triggered in function "HandleRsqlErrors"

of the SAP kernel, in line 778 of the module

"//bas/700_REL/src/krn/runt/absapsql.c#6".

The internal operation just processed is "SQLS".

Internal mode was started at 20080103202626.

Internal call code.........: "[RSQL/READ/KONV ]"

Internal call code.........: "[RSQL/READ/KONV ]"

-


Thanks in Advance,

Malti

Edited by: Malti on Jan 14, 2008 2:09 PM

Former Member
0 Kudos

ANALYSIS:

The SQL statement generated from the SAP open SQL statement violates a restriction of the underlying database system.

(i)Either the conversion is not supported for the type of the target field,

(ii)the target field is too small to include the value, or

(iii)the data does not have the format required for the target field

The errro is generated at the following point of code :

|>>>>>|select single kbetr from konv

| 2460| into (ZMP2_EACH)

| 2461| where knumv = IS_VBDKA-knumv and

| 2462| KPOSN = WS_VBDPA-posnr and

| 2463| kappl = 'V' and

| 2464| kschl = 'ZMP2'.

Implies....

The field value KBETR(Rate : (condition amount or percentage))is selected from table KONV(:Conditions (Transaction Data)) and is placed into (variable)ZMP2_EACH.

Here ,

(i)the format of KBETR and that of ZMP2_EACH may be mismatched,

(ii)either the conversion is not supported for the type of the target field (ZMP2_EACH),

(iii)the target field (ZMP2_EACH) is too small to include the value, or

(iv)the data does not have the format required for the target field(ZMP2_EACH).

CAUSE:

The ZMP2_EACH's length is not big enough to hold the amount of data coming from object KBETR

(This truncation triggers an error for the MSSQL implementation of DbSl (central database interface) which finally results in the ABAP runtime error DBIF_RSQL_INVALID_RSQL)

For to analysis this in more detail we need the declaration details(Domain ,Data element) of ZMP2_EACH

Source Code Extract

-


Line

SourceCde

-


2429

DATA: wrk_fees LIKE komp-kzwi6.

2430

CLEAR:wrk_fees.

2431

Select single KZWI6 into wrk_fees

2432

from VBAP

2433

where vbeln = is_vbdka-vbeln

2434

and posnr = ws_vbdpa-posnr.

2435

WS_VBDPA-NETWR = WS_VBDPA-NETWR - wrk_fees.

2436

WS_VBDPA-NETPR = WS_VBDPA-NETWR / WS_VBDPA-KWMENG.

2437

FEES_TOTAL = FEES_TOTAL + wrk_fees.

2438

2439

ENDFORM. " %CO13

2440

2441

*----


2442

  • FORM %CO14

2443

  • NODE PRICING_CONDITIONS

2444

*----


2445

2446

FORM %CO14.

2447

2448

*----


2449

  • kbetr = condition rate (each)

2450

  • kwert = condition value (total

2451

*----


2452

clear: ZLP2_EACH, ZMP2_EACH, ZCOM_EACH.

2453

select single kbetr from konv

2454

into (ZLP2_EACH)

2455

where knumv = IS_VBDKA-knumv and

2456

KPOSN = WS_VBDPA-posnr and

2457

kappl = 'V' and

2458

kschl = 'ZLP2'.

|>>>>>|select single kbetr from konv |For to analysis this in more detail we need the declaration details of ZMP2_EACH

2460

into (ZMP2_EACH)

| 2461| where knumv = IS_VBDKA-knumv and |The ZMP2_EACH's length is not big enough to hold the amount of data coming from object KBETR

2462

KPOSN = WS_VBDPA-posnr and

2463

kappl = 'V' and

2464

kschl = 'ZMP2'.

2465

select single kbetr from konv

2466

into (ZCOM_EACH)

2467

where knumv = IS_VBDKA-knumv and

2468

KPOSN = WS_VBDPA-posnr and

2469

kappl = 'V' and

2470

kschl = 'ZCOM'.

2471

*----


| 2472|* Reformat the commission condition types |The Commision condition type ZMP2_EACH format is being changed in Tcode CO14

| 2473|*----


|where Tcode C014 (Display confirmation of prod. Order)which might be used in Smartforms throws

| 2474|ZCOM_EACH = ZCOM_EACH / 10. |the smartform /1BCDWB/SAPLSF00000022

2475

ZMP2_EACH = ZMP2_EACH / 1000.

2476

2477

ENDFORM. " %CO14

2478

.

ACTION:

Verify that the number of bytes/characters specified in the input

amount parameter is not bigger than the number of bytes specified in the input buffer length parameter. Allocate more space for the input buffer if necessary.

Hence the Error Analysis

An exception occurred that is explained in detail below. |

The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught

in

procedure "%CO14" "(FORM)", nor was it propagated by a RAISING clause.

Since the caller of the procedure could not have anticipated that the

exception would occur, the current program is terminated.

The reason for the exception is:

In a SELECT access, the read file could not be placed in the target

field provided.

Either the conversion is not supported for the type of the target field,

the target field is too small to include the value, or the data does not

| have the format required for the target field.

Justified.

Issue Resolved

Answers (2)

Answers (2)

Former Member
0 Kudos

Cheers

former_member185954
Active Contributor
0 Kudos

Hi Malti,

This looks like a functional issue and not a system problem..

Found in table SE16 / vbak that

document 9100001251and -53 were not created.

We noticed that this error happened several times lately, and may have caused loss of CBOL orders.

Please check with your functional consultant, if you don't have one, please open a message with SAP.

Regards,

Siddhesh