SAP ABAP IMG Activity DPR_BAPI_BUS2167IAPP (BAdI: Individual Approval for BOR Object Phase in a Template)
Hierarchy
CPRXRPM (Software Component) SAP Portfolio and Project Management 6.0
   PPM-PRO (Application Component) Project Management
     DEVELOPMENT_PROJECTS_CUSTOMIZE (Package) General Customizing for Project Management
IMG Activity
ID DPR_BAPI_BUS2167IAPP BAdI: Individual Approval for BOR Object Phase in a Template  
Transaction Code S_CP4_60000015   (empty) 
Created on 20040205    
Customizing Attributes DPR_BAPI_BUS2167IAPP   BAdI: Individual Approval for BOR Object Phase in a Template 
Customizing Activity DPR_BAPI_BUS2167IAPP   BAdI: Individual Approval for BOR Object Phase in a Template 
Document
Document Class SIMG   Hypertext: Object Class - Class to which a document belongs.
Document Name BAPIEXT_BUS2167_IAPP    

Use

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.

If this method returns at least one message of the type 'E', 'A', or 'X' in the return table, the system stops processing the BAPI.

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.

Note that:

  • 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).

Requirements

Standard settings

  • 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.

Activities

After you call the IMG activity, the system displays a dialog box where you enter a name for the implementation.

If implementations of this Business Add-In have already been created, the system displays them in a dialog box. You then choose one of them by choosing Create, and continue as follows:

  1. In the dialog box, enter a name for the implementation of the Add-In and choose Create.
    The system displays the initial screen for creating Business Add-In implementations.
  2. On this screen, enter a short description for your implementation in the Implementation Short Text field.
  3. If you choose the Interface tab, you will notice that the system has populated the Name of the Implementing Class field automatically, by assigning a class name based on the name of your implementation.
  4. Save your entries and assign the Add-In to a package.
  5. To edit a method, double-click its name.
  6. Enter your implementation code between the method <Interface Name>~<Name of Method>. and endmethod. statements.
  7. Save and activate your code. Navigate back to the Change Implementation screen.
    Note: You can also create an implementation for an Add-In and not activate it until later. If you want to do this, do not perform the following step:
  8. Choose Activate.
    When the application program is executed, the code you created is run through.

Example

Business Attributes
ASAP Roadmap ID 257   Create User Exits 
Mandatory / Optional 2   Optional activity 
Critical / Non-Critical 2   Non-critical 
Country-Dependency A   Valid for all countries 
Maintenance Objects
Maintenance object type E   Business Add-In - Definition 
History
Last changed by/on SAP  20040205 
SAP Release Created in 310