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: 

Bapi extension

Former Member
0 Kudos

Hi All,

I want to add a new field 'Batch number' in item table to standard BAPI ''BAPI_OUTB_DELIVERY_CREATE_SLS''.

In this standard bapi BADI_DLV_CREATE_SLS_EXTIN is used .

can u please tell me how to add new field to this bapi .can i use the badi for the modification.

1 REPLY 1

Former Member
0 Kudos

Hi,

First consider which tables used by the BAPI may be suitable for customer enhancements. Then, depending on the requirements of the BAPI, create, one extension parameter for the data import and/or one extension parameter for the data export.

Note the following guidelines:

The naming convention for the extension parameter is ExtensionIn for import parameter enhancements and ExtensionOut for export parameter enhancements.

Define the extension parameter as a table parameter.

Use the reference structure BAPIPAREX for extension parameters. With this structure the extension parameter can be used as a generic data container.

Also see the example:

to add Custom field to EKKO and BAPI_PO_CREATE1

Here below is the example .

Step 1 : First extend the table EEKO with custom fileds .

Step 2 : Extend Structure BAPI_TE_MEPOHEADER and BAPI_TE_MEPOHEADERZ with same fields.

Step 3 : While extending BAPI_TE_MEPOHEADERX , make sure that for custom fields you have to give 1 CHAR ( BAPI UPDATE ).

Step 4 : In program you have collect the custom field values and pass append both structures ( ie BAPI_TE_MEPOHEADER and BAPI_TE_MEPOHEADERX ) to EXTENSIONIN Structure and values to EXTENSIONIN VALUEPART1.

Example :

DATA : BEGIN OF T_EXTENSIONIN OCCURS 0.

INCLUDE STRUCTURE BAPIPAREX .

DATA: END OF T_EXTENSIONIN .

DATA : T_BAPI_TE_MEPOHEADER TYPE BAPI_TE_MEPOHEADER.

DATA : T_BAPI_TE_MEPOHEADERX TYPE BAPI_TE_MEPOHEADERX.

DATA : T_CUSTDATA_IN TYPE BAPI_TE_MEPOHEADER.

DATA : T_CUSTDATA_INX TYPE BAPI_TE_MEPOHEADERX.

        • Customer Data

T_CUSTDATA_IN-ZZRLDATE = '20040110'.

T_CUSTDATA_IN-ZZRADATE = '20041210'.

T_CUSTDATA_IN-ZZPOSTATUS = 'OPEN'.

T_CUSTDATA_IN-ZZSTATE = 'TN'.

T_CUSTDATA_IN-ZZCITY = 'MEP'.

T_CUSTDATA_INX-ZZRLDATE = 'X'.

T_CUSTDATA_INX-ZZRADATE = 'X'.

T_CUSTDATA_INX-ZZPOSTATUS = 'X'.

T_CUSTDATA_INX-ZZSTATE = 'X'.

T_CUSTDATA_INX-ZZCITY = 'X'.

********move custom data

MOVE 'BAPI_TE_MEPOHEADER' TO T_EXTENSIONIN-STRUCTURE.

*CLEAR T_BAPI_TE_PO_HEADER-PO_NUMBER.

MOVE-CORRESPONDING T_CUSTDATA_IN TO T_BAPI_TE_MEPOHEADER.

MOVE T_BAPI_TE_MEPOHEADER TO T_EXTENSIONIN-VALUEPART1.

APPEND T_EXTENSIONIN.

MOVE 'BAPI_TE_MEPOHEADERX' TO T_EXTENSIONIN-STRUCTURE.

*CLEAR T_BAPI_TE_PO_HEADER-PO_NUMBER.

MOVE-CORRESPONDING T_CUSTDATA_INX TO T_BAPI_TE_MEPOHEADERX.

MOVE T_BAPI_TE_MEPOHEADERX TO T_EXTENSIONIN-VALUEPART1.

APPEND T_EXTENSIONIN.

Finally pass this T_EXTENIONIN to BAPI_PO_CREATE1 ( EXTENSIONIN )..

Regardss...

I think this will help you...