Ir al final de los metadatos
Ir al inicio de los metadatos

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual View Version History

« Anterior Versión 2 Siguiente »

These BAdIs are located in the Enhancement Sport /EDGE/EI_IT_ENH_SPOT_POSTING:

To enhance a block with new fields, there are three steps that need to be done.

  1. Enhance structure of the block
  2. Enhance BAdI /EDGE/BADI_EI_IT_GEN_SEL
  3. Enhance BAdI /EDGE/BADI_EI_IT_SAVE_BUTTON
Enhance structure of the block
BlockStructure
General Fields/EDGE/EI_IT_GENERAL_DATA
FI Fields/EDGE/EI_IT_FI_FIELDS
MM Fields/EDGE/EI_IT_MM_FIELDS

The structure has to be enhance with an append that contains all the fields that want to be added.

Example:

General fields →  s_bktxt

FI fields → xref1_hd

Enhance BAdI /EDGE/BADI_EI_IT_GEN_SEL

This BAdI has three methods, one for each block, to implement the values of the new fields.

  • GET_DATA_GEN
  • GET_DATA_FI
  • GET_DATA_MM

It also has the three enhancement screens:

This BAdI does not have an implementation so that, one implementation has to be done to be able to enhance a block.

Example:

Create implementation of BAdI:

Create a implementation class:

Create screen enhancements:

To be able to give value to the program and subscreen implementation and to the method in the class we need to create a function module with functions modules for the different blocks and the screens with the fields we want to add:

In each screen we need to add the new fields:

Moreover, a PBO module needs to be added in the PBO logic:

This logic, retrieve the data of these fields in case of the invoice had been save in data base before, using the save button in the posting screen(

For the FI dynpro we need to retrieve the data for the FI fields:

For the MM dynpro we need to retrieve the data for the MM fields:

And for the general fields, we need to retrieve the general data for both structures (if both modules, MM and FI, are being enhanced):

Once the dynpros and the function group have been created, we can add them in the BAdI screen enhancement.

In the implementation class, the method need to be implemented calling to the function that set the values for each block:

In each function module we need to add the lines to ct_campos_pantalla with the required values:

Enhance BAdI /EDGE/BADI_EI_IT_SAVE_BUTTON


  • Sin etiquetas