on 09-10-2010 10:23 PM
Hi
We have lately installed Linux application servers in our ERP system landscapes and a few dumps have started to appear more or less intensively with an "Invalid sign in BCD number" error each time the job or user transaction is running on the Linux app servers. The same job/user transaction runs fine on an AIX app server.
We're running an ERP6 EhP4 Unicode SAP system
DB/CI is on AIX 5.3
First DI is on AIX
Next DIs are on Linux RHEL 5.4
DB is Oracle 10.2.0.4
The system has been upgraded last year from R/3 4.6C and we made the EhP4 upgrade this year.
Here is one of the error we're encountering
invalid sign in BCD number: 0 dboci.c#3262
invalid BCD number (len=5, dec=4): 09 00 00 19 20 dboci.c#3482
BCD -> NUMBER conversion failed: Table=YINDPRIX , FldNo=3
dbsloci.c#6777
sc_p=0xc0bb0f0,no=40,idc_p=0xc0d3d68,con=0,act=1,slen=72,smax=256,#vars=7,stmt=0xc39b170
table=YINDPRIX dbsc.c#1066
prep=0,lit=0,nsql=0,lobret=0,#exec=0,dbcnt=0,upsh_p=(nil),ocistmth_p=0xc39be18
dbsloci.c#12400
IN : cols=7,rmax=774,xcnt=0,rpc=0,rowi=0,rtot=0,upto=4294967295,rsize=62,vmax=32,bound=1
iobuf_p=0xc1edcf0,vda_p=0xc39d5e0 dbsloci.c#12412
lobs=0,lmax=0,lpcnt=0,larr=(nil),lcurr_p=(nil),rret=0 dbsloci.c#12416
OUT: cols=0,rmax=0,xcnt=0,rpc=0,rowi=0,rtot=0,upto=0,rsize=0,vmax=0,bound=0,iobuf_p=(nil
vda_p=(nil) dbsloci.c#12412
lobs=0,lmax=0,lpcnt=0,larr=(nil),lcurr_p=(nil),rret=0 dbsloci.c#12416
INSERT INTO "YINDPRIX" VALUES( :A0 , :A1 , :A2 , :A3 , :A4 , :A5 , :A6 ); dbsc.c#2258
***LOG BV5=> conversion error on DB access INS for table YINDPRIX dbtran#7576
Any help would be greatly appreciated.
Thank you
Regards
Make sure you
- use the same (identical) kernel versions (disp+work et al) on all systems
- use the same database interface libraries (lib_dbsl) versions on all systems
- use the same Oracle client on all systems
Markus
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Markus
Unfortunately, these components have the same version on AIX and Linux
SAP Kernel : 7.0.1 SP 98
Oracle client : 10.2.0.4 V2
DBSL : 700.08 SP 79
We have found out that it might be related to RFC librairies because we have two different transactions on two different tables that ends with error "Invalid sign in BCD number:0". What they have in common ? RFC calls to retrieve some data with a DEC field.
SAP Note 1409906 "SAP NW RFC SDK 7.11 -- Patch-Level 6" indicates that the following issue is solved with this RFC Library:
When initializing a field of type DEC (BCD), the NW RFC library incorrectly sets the binary representation to 0x00...00. This results in an error on backend side, when trying to insert this value into the database (see ST22):
"invalid sign in BCD number: 0"
Now the NW RFC library initializes the field to the byte sequence 0x00..0C, which is the correct representation of the "plus" sign.
Is the new RFC Library downward compatible with a 7.0.1 SAP system ? Should we simple replace our rfc lib with the new ones ?
What do you think ?
Thank you
Serge
Hi Nemoz
Unfortunately not, but we found a workaround by specializing the app servers and putting only Linux dialog instances in the affected Logon Group.
We had a few other issues with the Little and Big Endian mix that we circumvent by forcing the processing on Linux only.
Please let me know if it applies in your case.
Thank you
Regards
Serge
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.