Application Development 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: 

IDOC Invoic02 - Segment E1EDP26 (net value) is missing because of val. 0,00

Former Member
0 Kudos

Hello everyone,

I have an idoc of type Invoic02 and the segment E1EDP26 with qualifier 003 (net value) is missing if the net value is 0,00u20AC. If the value is greater than zero, the segment is perfectly there.

Does anyone have an idea how I can achieve that this segment is always there independent of the value?

Thank you!

Best regards

Andreas

3 REPLIES 3

Former Member
0 Kudos

hi

try this out

data: z_field type i.

IF NOT E1EDP26-QUALF IS INITIAL.

PERFORM STRING_LENGTH USING E1EDP26-QUALF

Z_FIELD.

FORM STRING_LENGTH USING STRING

CHANGING LENGTH.

IF STRING CP '*# '. ENDIF.

LENGTH = SY-FDPOS.

ENDFORM.

Reagrds

Edited by: Chaitanya V Kumar Naru on Jun 18, 2008 10:07 PM

Edited by: Chaitanya V Kumar Naru on Jun 18, 2008 10:08 PM

0 Kudos

Sorry, but I do not really know where to put this code neither what it should do.

Jelena
Active Contributor
0 Kudos

I'm replying to this old post since it comes up in Search. We had the same issue - E1EDP26 with QUALF 003 would not be in the IDoc, but it was required by the receiving system.

Here is a reply I received from SAP:

This is the standard system behaviour and this is hard coded in the

system.

Please see the following from note 635337 (Conditions are missing in theIDoc):

..

o The value of the condition must be <> 0.

..

You may change the code in LVEDFF0F by removing the IF and ENDIF

statements and then E1EDP26 segment 003 will always be output

but this would be a modification and would be subject to the conditions

from note 170183.

*- Absoluter Nettowert

IF NOT tvbdpr-netwr IS INITIAL. <<<

CLEAR int_edidd.

CLEAR e1edp26.

int_edidd-segnam = 'E1EDP26'.

e1edp26-qualf = '003'.

PERFORM get_e1edp26_tcurx_currency USING tvbdpr-netwr.

MOVE tvbdpr-netwr TO h_newr_btrg.

MOVE e1edp26 TO int_edidd-sdata.

APPEND int_edidd.

PERFORM customer_function.

ENDIF. <<<

Since we already had a user exit EXIT_SAPLVEDF_002 implemented for the IDoc extension, instead we resolved it by adding the following code (fragment) there:

DATA ls_e1edp26    TYPE e1edp26.   "document item pricing data

DATA lv_kwert      TYPE kwert.

CASE int_edidd-segnam.

  WHEN 'E1EDP26'.

    MOVE int_edidd-sdata TO ls_e1edp26.

    IF ls_e1edp26-qualf = '001'.

      IF xtvbdpr-netwr = 0.

        CLEAR: ls_e1edp26, lv_kwert.

        ls_e1edp26-qualf = '003'.

        ls_e1edp26-betrg = lv_kwert.   " so that decimals/format are the same

        SHIFT ls_e1edp26-betrg LEFT DELETING LEADING space.

        MOVE ls_e1edp26 TO int_edidd-sdata.

        APPEND int_edidd.

      ENDIF.

    ENDIF.      " ls_e1edp26-qualf = '001'

ENDCASE.