Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Runtime Error: DBIF_RSQL_INVALID_REQUEST

radhey_shyam
Participant
0 Likes
2,057

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

1 ACCEPTED SOLUTION
Read only

UweFetzer_se38
Active Contributor
0 Likes
1,487

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

8 REPLIES 8
Read only

UweFetzer_se38
Active Contributor
0 Likes
1,488

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

Read only

0 Likes
1,487

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

Read only

0 Likes
1,487

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

Read only

0 Likes
1,487

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

FieldsDataelements
MANDTMANDT
ZLEAVE_NOZS_NO
USERIDZUSERID
ZLEAVEZLEAVE_TYPE
DATE_FROMZFR_DATE
DATE_TOZTO_DATE
DATE_APPLYZAPPLY_DATE
DATE_AGNSTZAPPLY_DATE
DATE_ACTIONZACTION_DATE
STATUSZLEAVE_STATUS
L_TYPZABTRG
L_SLOTZLEAVE_SLOT
REASONZLEAVE_REASON
ACTION_RESONZLEAVE_REASON
NUMBRPTM_QSETTLED

Regards,

Radhey

Read only

0 Likes
1,487

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

Read only

0 Likes
1,487

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

Read only

Former Member
0 Likes
1,487

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.

Read only

0 Likes
1,487

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.