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: 

Convertion of field in Inbound Idoc DESADV

shailendra_sahu2
Explorer
0 Kudos

Hi Experts,

In my one of the requirement I need to remove zeros present in the field VBELN of the message type DESADV. This is an Inbound idoc we are receiving in our system.

Please let me know how should i proceed to remove the zeros from the field.

In WE19 I can see that I am receiving zero's in the field.

Regards,

Shailendra

1 ACCEPTED SOLUTION

jack_graus2
Active Contributor
0 Kudos

Make an implementation for enhancement V55K0001:

*&---------------------------------------------------------------------*
*&  Include           ZXTRKU03
*&---------------------------------------------------------------------*

DATA:
  e1edl20 TYPE e1edl20.

CASE idoc_segment-segnam.
  WHEN 'E1EDL20'.
    e1edl20 = idoc_segment-sdata.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = e1edl20-vbeln
      IMPORTING
        output = delivery_head-vbeln.
ENDCASE.

Regards Jack

6 REPLIES 6

former_member404244
Active Contributor
0 Kudos

Hi,

The appilcation program which triggers the idoc is IDOC_INPUT_DELVRY. Try searching for user exits in the function module and modify the vbeln in SDATA...

Regards,

Nagaraj

jack_graus2
Active Contributor
0 Kudos

Make an implementation for enhancement V55K0001:

*&---------------------------------------------------------------------*
*&  Include           ZXTRKU03
*&---------------------------------------------------------------------*

DATA:
  e1edl20 TYPE e1edl20.

CASE idoc_segment-segnam.
  WHEN 'E1EDL20'.
    e1edl20 = idoc_segment-sdata.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = e1edl20-vbeln
      IMPORTING
        output = delivery_head-vbeln.
ENDCASE.

Regards Jack

shailendra_sahu2
Explorer
0 Kudos

Hi Jack,

The userexit V55K0001 is not triggering, is there any tick I need to make the user exit active.

Even I used user Exit MM06E001 EXIT_SAPLEINM_006, it is also not working.

If you know, please provide any other user exit.

<removed by moderator>.

Regards,

Shailendra

Edited by: Thomas Zloch on May 24, 2011 5:02 PM

0 Kudos

Hi Shailendra,

Confirm the processing FM of the IDOC is it "IDOC_INPUT_DELVRY" or "IDOC_INPUT_DESADV" because the previous posters are looking at "IDOC_INPUT_DELVRY" while you are referring to "IDOC_INPUT_DESADV".

Now, for ""IDOC_INPUT_DESADV" "EXIT006 is too late in the game, and isn't of much use. If you are on ECC 6.0 use the enhancement points available or use the Implicit enhancement available at the beginning of the FM.

If you are on ECC 5.0 or else, do you have a middleware in between like XI/PI etc, if so you can have the middleware do this.

If you do not have a middleware, then i guess you will have to use "EXIT_SAPLEINM_010" and within this exit, try and change "E1EDK07-VBELN" using field symbol on (SAPLEINM)E1EDK07 (and any other global variables accordingly)- This is not suggested as "EXIT_SAPLEINM_010" looks like it is also a litlle late in the program flow, debug thoroughly on what happens before this exit and check if VBELN is being used anywhere before.

Failing all this, i guess a modification would be the only option out.

regards,

Chen

shailendra_sahu2
Explorer
0 Kudos

Hi Experts,

My Inbound Idoc is using FM /SPE/IDOC_INPUT_DESADV1.

Here the system is ECC 6.0.

Please can you elaborate more on how I can use the enhancement point available on FM IDOC_INPUT_DESADV at start.

How can I create implementation for this enhancement point.

Regards,

Shailendra

0 Kudos

Hi Shailendra,

Below wiki provides good information on how to implement implicit enhancement,

Link: [http://wiki.sdn.sap.com/wiki/display/ABAP/HowToDoImplicitEnhancement]

You need to implement the implicit enhancement in the beginning of the FM and code something like below,

data: l_e1edk07 type e1edk07,

lw_edidd type edidd.

loop at i_edidd into lw_edidd where segnam eq 'E1EDK07'.

l_e1edk07 = lw_edidd-sdata.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

EXPORTING

input = l_e1edk07-vbeln

IMPORTING

output = l_e1edk07-vbeln.

lw_edidd-sdata = l_e1edk07.

modify i_edidd from lw_edidd.

endloop.

Regards,

Chen