cancel
Showing results for 
Search instead for 
Did you mean: 

NULL Value Persisted In DOE

Former Member
0 Kudos

Dear Friends,

This is regarding the Order Longtext behaviour in SAP MAU.

Currently, we have the Order Longtext ( Child Node to Order Details ) In SAP MAU returning the following values while we execute the GetDetails Bapi Wrapper :

OBJTYPE OBJKEY LI FO TEXT_LINE

AUFK 00000000 00 * Long Text 1234567890 Long Text 1234567890 Long Text 1234567890 Long Text

AUFK 00000000 01 * 1234567890 Long Text 1234567890 Long Text 1234567890 Long Text

Although OBJKEY = 00000000 and LI = 00, the values persisted in CDS is 'NULL'.

CLIENT C0 C1 C2

100 8021281F9B931DDEBBF6F1705347C44F 8021281F9B931DDEBBAA48EBB07515FE AUFK

C3 C4

C5 C6

  • Long Text 1234567890.....................

Note:

C2 = OBJTYPE

C3 = OBJKEY

C4 = LI

C5 = FO

C6 = TEXT_LINE

Is this a bug in MW , which can be cured or is there a work around for this issue :).

Best Regards,

Suresh BJ

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

What is the data type of the field?

Is this having any side effects on distribution and on the device?

Former Member
0 Kudos

Hi Arjun,

The issue is affecting our Client Application. It doesnot affect our DM.

OBJKEY is

DATA TYPE = NUMC

LENGTH = 8

DECIMAL = 0

LINE_NUMBER is

DATA TYPE = NUMC

LENGTH = 2

DECIMAL = 0

Thanks in Advance,

Best Regards,

Suresh BJ

Former Member
0 Kudos

How do you know that the CDS stores NULL instead of 0? If you are doing a 'Test Execution' of the FM, I believe NULL and zeros will be displayed in the same way in the result.

Programmatically, I think there is no difference between 0 and NULL (but I'm not sure).

The correct way to find out what is being stored is with a report of this kind:



DATA: ls TYPE <generated_node_table>
SELECT SINGLE * FROM <generated_node_table> INTO ls WHERE C3 = '0'.
WRITE sy-subrc.

SELECT SINGLE * FROM <generated_node_table> INTO ls WHERE C3 is NULL.
WRITE sy-subrc.

If the first select is returning sy-subrc = 0, its being stored not as NULL but as 0.

You can do the same check on the backend table to find out if the BE itself is storing NULL instead of 0.

Another thing: Open up the CDS and BE tables in SE11 and go to 'Utilities -> Database Object -> Display'. The field 'NOT NULL' should give you another clue.

1. If the BE is storing NULLs, it needs to be fixed there

2. If the BE is storing 0s and the CDS is storing NULLs, the DOEs persistence needs to be fixed

3. If the CDS is storing 0s correctly then look at what is sent in the outbound XML to devices. If nothing is being sent at all, then there are two ways to get around it:

3a. Change the DOEs outbound to send a non blank value (an OSS message on the DOE component)

3b. Fix the MAU application to handle such blanks (a ticket on the MAU developers??)

Edited by: Arjun Shankar on Jan 5, 2010 2:56 PM

Former Member
0 Kudos

Dear Arjun,

Thanks for the quick update.

I observe the following:

1. SY-SUBRC is 0 when we test the field against 0.

2. SY-SUBRC is 4 when we test the field against NULL.

3. The Outbound XML contains no value at all for cases where the field value is 0 ( though in UI, we see NULL value!!).

Hence, We shall try for Option 3a as 3b is ruled out for now.

Thanks in Advance,

Suresh BJ

Answers (1)

Answers (1)

former_member185875
Contributor
0 Kudos

Hi Suresh,

I think you are not check the "Text Memo".

Please check "Text Memo" under "Node Atrributes"

DataObject->node>Node Attributes tab

Text Memo (CLOB) :Specifies that this field corresponds to a field in the backend system that contains a large amount of text data.

Regards

Lakshman balanagu.