‎2012 Jul 15 11:09 AM
Hello Experts,
I am having a runtime error "DBIF_RSQL_INVALID_REQUEST" while modifying or updating a table from work area. while modifying no where clause is used.
every time this dump is not coming but sometimes with that same operation this dump comes. not able to find the reason for this dump.
a detailed file attached of dump for reference.
Regards,
Radhey
‎2012 Jul 16 12:07 PM
Hi Radhey,
I think the interesting part of the dump is the DB error analysis:
Database Interface Information
C E invalid BCD digit: E [dboci.c#3503]
C E invalid BCD number (len=6, dec=5): 00 0E 1E 00 00 0C [dboci.c#3587]
C E BCD -> NUMBER conversion failed: Table=ZPORTAL_LEAVE , FldNo=8
[dbsloci.c#6781]
C 1 sc_p=0000000007941100,no=92,idc_p=0000000007958560,con=0,act=1,slen=321,smax=1024,#vars=15,
stmt=000000002E972320,table=ZPORTAL_LEAVE [dbsc.c#1126]
C 1 Dumping DBSL stmt. cache: [dbsloci.c#12410]
C 1 prep=0,lit=0,nsql=0,lobret=0,xop=19,dbcnt=0,upsh=0000000000000000,stmtp=0000000005DAA700,
rtc=0 [dbsloci.c#12415]
C 1 IN : cols=15,rmax=1,xcnt=0,rpc=0,rowi=0,rtot=0,upto=-1,rsize=1187,vmax=64,bound=1,
iobuf_p=000000002DFCD7D0,vda_p=000000002E4EDE40 [dbsloci.c#12427]
C 1 lobs=0,lmax=0,lpcnt=0,larr=0000000000000000,lcurr_p=0000000000000000,rret=0
[dbsloci.c#12432]
C 1 UPDATE "ZPORTAL_LEAVE" SET "DATE_APPLY" = :A0 , "DATE_AGNST" = :A1 , "DATE_ACTION" = :A2 ,
"STATUS" \ [dbsc.c#2316]
C 1 = :A3 , "L_TYP" = :A4 , "L_SLOT" = :A5 , "REASON" = :A6 , "ACTION_RESON" = :A7 , "NUMBR" =
:A8 WHERE\ [dbsc.c#2316]
C 1 "MANDT" = :A9 AND "ZLEAVE_NO" = :A10 AND "USERID" = :A11 AND "ZLEAVE" = :A12 AND "DATE_FROM"
= :A13\ [dbsc.c#2316]
C 1 AND "DATE_TO" = :A14; [dbsc.c#2318]
B E ***LOG BV5=> conversion error on DB access UPD for table ZPORTAL_LE [dbtrtab#3901]
Please check the content of the work area LS_LEAVE (is this a packed field in front of "illness"? Maybe this is a unicode problem of the RFC):
1000407900006221SL 00000000000000002012063000000000000000000Ä€# illness
3333333333333333542233333333333333333333333333333333333333333002222222222222226666677222222222
10004079000062213C00000000000000000020120630000000000000000000C0000000000000009CCE533000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000
Best regards
Uwe
‎2012 Jul 16 12:07 PM
Hi Radhey,
I think the interesting part of the dump is the DB error analysis:
Database Interface Information
C E invalid BCD digit: E [dboci.c#3503]
C E invalid BCD number (len=6, dec=5): 00 0E 1E 00 00 0C [dboci.c#3587]
C E BCD -> NUMBER conversion failed: Table=ZPORTAL_LEAVE , FldNo=8
[dbsloci.c#6781]
C 1 sc_p=0000000007941100,no=92,idc_p=0000000007958560,con=0,act=1,slen=321,smax=1024,#vars=15,
stmt=000000002E972320,table=ZPORTAL_LEAVE [dbsc.c#1126]
C 1 Dumping DBSL stmt. cache: [dbsloci.c#12410]
C 1 prep=0,lit=0,nsql=0,lobret=0,xop=19,dbcnt=0,upsh=0000000000000000,stmtp=0000000005DAA700,
rtc=0 [dbsloci.c#12415]
C 1 IN : cols=15,rmax=1,xcnt=0,rpc=0,rowi=0,rtot=0,upto=-1,rsize=1187,vmax=64,bound=1,
iobuf_p=000000002DFCD7D0,vda_p=000000002E4EDE40 [dbsloci.c#12427]
C 1 lobs=0,lmax=0,lpcnt=0,larr=0000000000000000,lcurr_p=0000000000000000,rret=0
[dbsloci.c#12432]
C 1 UPDATE "ZPORTAL_LEAVE" SET "DATE_APPLY" = :A0 , "DATE_AGNST" = :A1 , "DATE_ACTION" = :A2 ,
"STATUS" \ [dbsc.c#2316]
C 1 = :A3 , "L_TYP" = :A4 , "L_SLOT" = :A5 , "REASON" = :A6 , "ACTION_RESON" = :A7 , "NUMBR" =
:A8 WHERE\ [dbsc.c#2316]
C 1 "MANDT" = :A9 AND "ZLEAVE_NO" = :A10 AND "USERID" = :A11 AND "ZLEAVE" = :A12 AND "DATE_FROM"
= :A13\ [dbsc.c#2316]
C 1 AND "DATE_TO" = :A14; [dbsc.c#2318]
B E ***LOG BV5=> conversion error on DB access UPD for table ZPORTAL_LE [dbtrtab#3901]
Please check the content of the work area LS_LEAVE (is this a packed field in front of "illness"? Maybe this is a unicode problem of the RFC):
1000407900006221SL 00000000000000002012063000000000000000000Ä€# illness
3333333333333333542233333333333333333333333333333333333333333002222222222222226666677222222222
10004079000062213C00000000000000000020120630000000000000000000C0000000000000009CCE533000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000
Best regards
Uwe
‎2012 Jul 17 12:04 PM
Thanx Uwe for your response, As you said to check the work area, i have already done that in development by setting a break point and building a same scenario in development. I am getting Dumps in production only where i have no authorization to debug. During checking it in development no dump occurred and all the values are correctly inserted to table. Actually we are connecting JAVA portal with SAP via RFC's. Though production gives a dump but it updates the table correctly. So i am wondering if table is getting updated correctly from work-area then why such dumps are coming.
Please Help !!! Its Urgent !!!
Best Regards,
Radhey
‎2012 Jul 17 12:19 PM
Hi Radhey,
the correct update of the table must be from another call. If the dump occurs, no update will be performed.
NUMBER conversion failed: Table=ZPORTAL_LEAVE, FldNo=8
Please check again, whether the table and the workarea fits together, especially field number 8 (the packed number field). Maybe there are different versions in PRD system?
Compare also the Hex-Content of the workarea between DEV and the content in the PRD dump:
1000407900006221SL 00000000000000002012063000000000000000000Ä€# illness
3333333333333333542233333333333333333333333333333333333333333002222222222222226666677222222222
10004079000062213C00000000000000000020120630000000000000000000C0000000000000009CCE533000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000
Does the number field in DEV also contain x"0001 0C00"?
Uwe
‎2012 Jul 17 1:49 PM
Hi Uwe,
The following fields i am receiving from portal to hit the SAP databse.
Work-Area Scenario 1.
LS_LEAVE-MANDT 100
LS_LEAVE-ZLEAVE_NO 00087
LS_LEAVE-USERID 00004268
LS_LEAVE-ZLEAVE PL
LS_LEAVE-DATE_FROM 20120801
LS_LEAVE-DATE_TO 20120820
LS_LEAVE-STATUS 0
LS_LEAVE-NUMBR 20.00000
LS_LEAVE-L_TYP 1.0
Work-Area Scenario 2.
LS_LEAVE-MANDT 100
LS_LEAVE-ZLEAVE_NO 00087
LS_LEAVE-USERID 00004268
LS_LEAVE-ZLEAVE SL
LS_LEAVE-DATE_FROM 20120801
LS_LEAVE-DATE_TO 20120801
LS_LEAVE-STATUS 0
LS_LEAVE-NUMBR 0.50000
LS_LEAVE-L_TYP 0.5
Yes work-area fits into table, i have also declared the work-area as '
data: ls_leave type zportal_leave.'
I have compared also DEV with PRD and found everything fine.
Now i am not getting how to approach towards the issue.
The following are the fields of table ZPORTAL_LEAVE
| Fields | Dataelements |
| MANDT | MANDT |
| ZLEAVE_NO | ZS_NO |
| USERID | ZUSERID |
| ZLEAVE | ZLEAVE_TYPE |
| DATE_FROM | ZFR_DATE |
| DATE_TO | ZTO_DATE |
| DATE_APPLY | ZAPPLY_DATE |
| DATE_AGNST | ZAPPLY_DATE |
| DATE_ACTION | ZACTION_DATE |
| STATUS | ZLEAVE_STATUS |
| L_TYP | ZABTRG |
| L_SLOT | ZLEAVE_SLOT |
| REASON | ZLEAVE_REASON |
| ACTION_RESON | ZLEAVE_REASON |
| NUMBR | PTM_QSETTLED |
Regards,
Radhey
‎2012 Jul 17 2:29 PM
Radhey,
the field NUMBR is not passed as packed decimal (defined as PTM_QSETTLED) but contains:
%_%_NUMBR
######
001000
0EE00C
That's the reason for the DB problem:
invalid BCD digit: E
invalid BCD number (len=6, dec=5): 00 0E 1E 00 00 0C
Please check how this field is filled in the portal and passed to the RFC.
Regards
Uwe
‎2012 Jul 18 7:53 AM
Hi Uwe,
Thank you so much for your support. I have discussed the same with the java consultant. And your prediction was absolutely correct. If any one applies leaves for 11 days then NUMBR was filled as '11' now we have changed that stuff and we have made as '11.00000' .
Now we are sending our code to quality system, then we will revert to you shortly.
Thanks Again !!!
Regards,
Radhey
‎2012 Jul 17 1:55 PM
Hi,
This is due to happened on invalid data.
Kindly check the below note which is very helpful for the above issue.
Note 339932 - Termination with invalid BCD number in developer trace
Appreciate me if it helps.
‎2012 Jul 18 7:16 AM
Thank u all for ur support.
Now i'm going to try as per Uwe.
and the note: 339932 is delivered in SAP Basis: 70104, in my system we are already using SAP Basis: 70108.
after having said trail will revert back.