Ansicht
Dokumentation

DPR_BAPI_BUS2167IAPP - BAdI: Individual Approval for BOR Object Phase in a Template

DPR_BAPI_BUS2167IAPP - BAdI: Individual Approval for BOR Object Phase in a Template

General Data in Customer Master   BAL_S_LOG - Application Log: Log header data  
This documentation is copyright by SAP AG.
SAP E-Book

This Business Add-In (BAdI) is used in the Project Management (PPM-PRO) component. This BAdI enables you to use the customer-defined fields for the individual approval of a phase in a template in the BAPIs too. Each decision maker for the approval then represents an individual approval.

The importing parameter IS_EXTENSION_IN and the exporting parameter ES_EXTENSION_OUT are available in the IndividualApprovalAdd, IndividualApprovalChange, and IndividualApprovalRemove methods. The ApprovalGetDetail method delivers the individual approvals to the exporting table ET_IND_APPROVAL. The customer-defined fields that belong to the individual approvals are available in the exporting table ET_IND_APPROVAL_EXTENSION_OUT.

If you fill the extension structure IS_EXTENSION_IN correctly, and have implemented the methods named below of the BAdI, you can carry out customer-defined checks before the action that belongs to the method is performed for the current individual approval.

Method   Action
ADD_EXIT_IN   Create individual approval in a template
CHANGE_EXIT_IN   Change individual approval in a template
REMOVE_EXIT_IN   Delete individual approval in a template

  • If you fill the extension structure IS_EXTENSION_IN correctly in the IndividualApprovalAdd or IndividualApprovalChange method and have set the Extensions indicator in the update structure, you can use the ADD_EXIT_MAP or CHANGE_EXIT_MAP methods of the BAdI to fill the customer-defined fields of the CI structure CI_DPR_IND_APPROVAL with the values of this extension structure.

  • After you have performed the action for the current individual approval, you can fill the ES_EXTENSION_OUT exporting structure provided that the IS_EXTENSION_IN importing structure has been correctly filled and you have implemented the methods named below of the BAdI.
    This method cannot undo the action. All messages from the return table are transferred to the log.
Method   Action
ADD_EXIT_OUT   Create individual approval in a template
CHANGE_EXIT_OUT   Change individual approval in a template
REMOVE_EXIT_OUT   Delete individual approval in a template

  • If, in the ApprovalGetDetail method, you request the ET_IND_APPROVAL_EXTENSION_OUT table in the BAPI interface, the system generates a table entry for each individual approval. You can use the<DS:IO.IF_EX_BAPIEXT_BUS2167_IAPP GET_DETAIL_EXIT_MAP> GET_DETAIL_EXIT_MAP method of the existing BAdI to transfer the customer-defined fields (that is, the content of the CI include CI_DPR_IND_APPROVAL for the current individual approval) to the relevant row of the ET_IND_APPROVAL_EXTENSION_OUT table. Mapping ET_IND_APPROVAL and ET_IND_APPROVAL_EXTENSION_OUT then takes place in that sequence so that an individual approval has the same sequence number in both tables.
 
  • You use theGET_DETAIL_EXIT_MAP method of the BAPIEXT_BUS2167_APP BAdI to publish the customer-defined fields for the approval externally (parameter ES_EXTENSION_OUT of BAPI_BUS2167_APPR_GET_DETAIL or ApprovalGetDetail).
  • You use theGET_DETAIL_EXIT_MAP method of the almost identical BAdI BAPIEXT_BUS2167_IAPP to publish the customer-defined fields for each individual approval externally (rows of table ET_IND_APPROVAL_EXTENSION_OUT of BAPI_BUS2167_APPR_GET_DETAIL or ApprovalGetDetail).

 

 
  • The BAdI is not active in the standard system. There is no default code.
  • The BAdI is not filter-dependent and cannot be used more than once.
 

After you have called the IMG activity, proceed as follows:

  1. In the following dialog box, enter in the field "Implementation" a name for the BAdI implementation and choose Copy.
If implementations have already been created for the BAdI, a dialog box with the existing implementations will be displayed. In this dialog box, choose Create.
  1. In the corresponding field, enter a short text for implementation .
  2. In the tab Propertiesenter filter properties - if this is a filter-dependent BAdI.
  3. Choose the tab Interface.
The name of the implementing class is generated by the system based on the name of your impmlementation. You can change the name.
If the BAdI is a menu exit, the tab FCodes also appears.Enter a function here and, if necessary, additional data.
  1. Save your entries and assign a package.
  2. Position the cursor on a method. Call up the Class Builder by double-clicking it.
  3. Between the statements method <Interface-Name>~<Name of Method>. and endmethod, enter the coding you request for the implementation.
  4. Save and activate your coding, and navigate back to the screen Change Implementation.
  5. Save on the screen Change Implementation.
Note: You can first create an implementation for the BAdI and then activate this later on. In this case, close the processing function at this time.
  1. Choose Activate.
When the application program is executed, the coding you have created will be run.
 






CL_GUI_FRONTEND_SERVICES - Frontend Services   BAL Application Log Documentation  
This documentation is copyright by SAP AG.

Length: 8425 Date: 20240523 Time: 183421     sap01-206 ( 121 ms )