cancel
Showing results for 
Search instead for 
Did you mean: 

Heterogeneous AIX / Linux app servers : Invalid sign in BCD Number

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

markus_doehr2
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

Serge,

Were you able to resolve this issue with updating the RFC library? We are running a heterogeneous environment and facing the same shortdump given all other libraries are on the same level on both servers.

Former Member
0 Kudos

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