This website is not affiliated with, sponsored by, or approved by SAP AG.
4 posts • Page 1 of 1
Hello, we are currently upgrading for SAP 4.6C to ECC 6.0 Netweaver 7.1. non-uni-->Unicode SQL 2003->MS SQL 2008.
We are now in the testing phase for external applications and a lot of these applications that write to Z* tables are failing because the columns in the Z* table have been flagged not-null. A lot of the .NET programs and the t-SQL procedures in our 4.6C system did write null values into the columns.
In ABAP you usually get a SPACE or 0 in a column if you do an insert with reference to an ABAP variable that is initial.
I did a simple experiment in 4.6C and ECC. I created a table with matnr and maktx as my 2 columns with matnr as the key. I created these tables exactly the same.
I ran a SQL trace for the activation on these tables in both systems. Below is the CREATE TABLE statement passed to MS SQL:
CREATE TABLE [ZJPKTEST] ( [ZMATNR] varchar (000018) NOT NULL , [ZMAKT] varchar (000040) NULL )
CREATE TABLE [ZJPKTEST] ( [ZMATNR] nvarchar(000018) NOT NULL , [ZMAKT]
nvarchar(000040) NOT NULL ) WITH ( DATA_COMPRESSION = ROW )
/* R3:SAPLSDB2:10379 T:ZJPKTEST */
It appears that the ZMAKT column in ECC is not allowed to be null. SAP appears to have set this on all columns during the UNICODE migration.
Has anyone else noticed this behavior?
Anyone have an explanation for this behavior?
Right now we are trying to decide how to handle these changes. I am voting on changing the SQL, code, and procedures that access these tables. The non-SAP developers want me to change the table definitions in SAP, which I am against, since any change to the table via the dictionary will overwrite the changes done via SQL.
We have been working with SAP on this issue. SAP confirmed our suspicions.
Basically R3Load will set everything to NOT NULL during a conversion and this is the way SAP intends this to work and confirm that this is by design. MS SQL shops usually only do R3Load during upgrades so we have never had to deal with this issue during system copies.
We have some issues with this and are looking into some options. I will update this message as we learn and discover more.
I did find a link to an SDN forum message about the same issue:
FYI, SAP informed us of a hidden feature in SE11.
SE11-->Change Table-->Put "NULL" in okcode box an hit enter.
In 4.6C a new column will appear for flagging the Dictionary to force NULL allowed.
In ECC you have to go into the field details to see the NULL checkbox.
This updates field DD03L-NOTNULL to a value of "N" for the table column record in the dictionary. R3LOAD is suppose to honor this info and create the constraint as nulls allowed during an Export / Import process. We are still verifying that this works.
Just thought I would post this info here, since I have never seen it posted anywhere.
4 posts • Page 1 of 1
Who is online
Users browsing this forum: No registered users and 0 guests