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: 

How to use E1BPPAREX - IDoc Segment enhancement

Former Member
0 Kudos

Hi,

can you provide me with some details on "how to use the E1BPPAREX" IDoc Segment ?

I want to enhance the standard PRICECATALOGUE02 IDoc with some customer defined fields.

There is a use of a STRUCTURE FIELD and 4 VALUEPARTS.

What kind of structure do i have to use ?

I red something about to enter 2 kind of structures ?

a) the first part = wrf_pricat_key*

b) second part = DDIC userdefined structure.

Thx,

Gordon

5 REPLIES 5

roger_gomez
Active Participant
0 Kudos

Hi Gordon,

1. Map customer data in E1BPPAREX segment fields:

STRUCTURE CHAR 30 0 Structure name of BAPI table extension

VALUEPART1 CHAR 240 0 Data part of BAPI extension parameter

VALUEPART2 CHAR 240 0 Data part of BAPI extension parameter

VALUEPART3 CHAR 240 0 Data part of BAPI extension parameter

VALUEPART4 CHAR 240 0 Data part of BAPI extension parameter

2. Build a new implementationof BADI interface IF_EX_PRICAT_OUT_EXTIN (PRICAT_IN_EXTIN definition name) using SE19

3. Write the ABAP code for UPDATE_INBOUND_EXTENSIONIN method to manage your additional customer data:

UPDATE_INBOUND_EXTENSION: This method enables the data from the

ExtensionIn table parameter to be processed. This parameter may contain

customer-specific data that is either to be integrated into standard

tables in the price catalog, or stored in customer-defined tables.

BAPI_Table_Extensions are used for this integration into the standard

tables from the price catalog. These are enhancement concept objects for

BAPIs. SAP delivers them with the key elements, and customers enhance

them for their own fields in appends. The method receives the

Table_Extensions using the interface and then it can fill them. Once the

entries are returned after the method has been called, they are mixed

with the standard tables. If a customer wishes to update

customer-defined tables, a user-defined update module can be called in

the method and it will update the customer-defined tables.

When the method is called, the changing parameters are empty. They may

be filled in the method. They are used to provide customer-defined

fields in the standard tables. If entries are made in these structures

and tables, the 'entries_made' parameter must be set to 'X' so that the

entries are transferred from these structures and tables to the standard

tables in the price catalog. These parameters are BAPI table extensions.

These structures can be enhanced in the customer system with APPENDS.

This enhancement is exactly the same as the enhancement for the standard

tables involved. The customer-specific fields are transexported to the

standard tables after the method has been called using a

MOVE_CORRESPONDING. This involves the enhancement technology that

supports BAPIs in the standard system.

Reward points if useful.

Roger

Former Member
0 Kudos

Roger,

thx for your infomation.

Can you provide me more details how to procees with PRICECATALOGUE02 inbound processing ?

I would like to create a structure "Zxx_str" with the following information (1-4 = keyfields; 5-8 = fields for the valuepart1)

1. Catalognumber

2. EAN NUmber

3. uom

4. date

5. text1 (char80)

6. text2 (char80)

7.text3 (char80)

E1BPPAREX

a) The STRUCTURE is filled with "Zxx_str"

b) Fields 5-7 are used for the VALUEPART1

What is the name of the processing BADI ? and which method is used for the inboundprocessing of this enhancement ?

thx,

Gordon

0 Kudos

Hi Gordon,

You have to make this implementation using Business Add-in transactions SE18 and SE19.

To extend and process the extension for Idoc type PRICECATALOGUE02:

Interface: IF_EX_PRICAT_IN_EXTIN

Definition: PRICAT_IN_EXTIN

Method: UPDATE_INBOUND_EXTENSIONIN

Idoc is triggered into application throw BAPI process code and FM IDOC_INPUT_PRICECATALOGUE. This function modules move data from idoc into structures of bapi BAPI_PRICECATALOGUE_SAVREPLICA. Method update_inbound_extensionin is called within this bapi. All inbound data is available reading next structures:

IS_PRICAT_K001

IT_PRICAT_K002

IT_PRICAT_K003

IT_PRICAT_K003Z

IT_PRICAT_K004

IT_PRICAT_K005

IT_PRICAT_K006

IT_PRICAT_K007

IT_PRICAT_K008

IT_PRICAT_K009

and your new Z customer fields are available in IT_EXTENSIONIN

Sorry, but I don't have more technical info about this.

Reward points if helps.

Roger

0 Kudos

Roger,

i need your help again.

do i have to fill, at the beginning of the field, the key (from the structure) into each VALUE PART Field ?

Example.

Structure:

KeyField1

KeyField2

KeyField3

KeyField4

ZZFIELD1 (CHAR 240)

ZZFIELD2 (CHAR 240)

Valuepart1 = key&ZZFIELD1

Valuepart2 = restfromZZFIELD1&ZZFIELD2

But the first characters (the same length as the complete key) will be ignored.

Is the key needed for each ValuePart line ?

Thanks,

Gordon

Former Member
0 Kudos

Hello,

Did anyone figure out how to map to the E1BPPAREX and E1BPPAREXX segments? We are using these segments in the MATMAS_BAPI IDOC TYpe for our Material Master LSMW load. Currently, we are mapping the custom segment name to E1BPPAREX-STRUCTURE (BAPI_TE_MARA) and the Material Number and Custom Fields to E1BPPAREX-VALUEPART1 (all concatenated together). In the E1BPPAREXX segment, we are mapping the custom structure to E1BPPAREXX-STRUCTURE(BAPI_TE_MARAX) and the Material Number and 7 "X" values to represent flags for each of the 7 custom fields.

Is this sufficient? Or is additional mapping required? Also, I see function module IDOC_INPUT_MATMAS_BAPI has a section to process the E1BPPAREX and E1BPPAREXX segments. Is any additional coding/user-exit required?