Show TOC

Procedure documentationDefining User Statuses Using Configuration and BOPF

 

You can implement a user status using Web Dynpro configuration and by changes in the Business Object Processing Framework (BOPF).

You can have the user status set manually by the user or by a BOPF action. You can also use the user status to control a delivered system status if you define a validation action in BOPF for the standard action of the system status, which issues the user status.

Procedure

  1. Create a status variable in the Data Dictionary (DDIC, transaction SE11).

    1. To do this, first create a domain in Character String (CHAR) format with a length of 2 characters. Under Value Range, store the values that the status can have.

    2. Create a data element to which you assign this domain.

    3. Create an append structure and add the data element you created to it:

      • If the status variable is to apply to an issue, create the append structure for the BOPF enhancement structure /IAM/INCL_EEW_I_ROOT.

      • If the status variable is to apply to an activity, create the append structure for the BOPF enhancement structure /IAM/INCL_EEW_ACT_ROOT.

  2. Enhance the business object in the enhancement browser of the BOPF Enhancement Workbench (transaction /BOBF/CUST_UI).

    1. Create an enhancement for the business object for which you want to define the status:

      • /IAM/ISSUE: Quality issue

      • /IAM/ACTIVITY: Quality activity

      The system generates the enhancement according to your entries in the wizard and creates a corresponding node beneath the business object.

    2. Open the generated enhancement.

    3. Create actions for the status change by choosing Create Action in the context menu for the ROOT node.

      Example Example

      For a board approval, you can create the following actions:

      • Change from initial value to To Be Approved by Board

      • Change from To Be Approved by Board to Approved by Board

      • Change from To Be Approved by Board to Rejected by Board

      End of the example.

      Here you can use the following delivered class and parameter structure. Check first in the class documentation whether the business logic suits your requirements:

      • Class: /IAM/CL_SET_USER_STATUS

      • Parameter structure: /IAM/S_SET_USER_STATUS

    4. Optional (programming required): If you want to indicate visually whether a status change is possible on the user interface (for example, by graying out an option), create a determination for the ROOT node. Use the delivered determination SET_DYNAMIC_ROOT_PROPERTIES as a guide. For the determination pattern, choose the option Create Properties.

    5. Optional (programming required): If you want to prevent the execution of a standard action using a user status, create an action validation for the standard action. Use the delivered action CHECK_ACTION_ATTACHMENT_AUTH for the business object /IAM/ISSUE as a guide.

  3. To visualize the user status and execute actions, use Customizing to include it in the Web Dynpro application configuration or component configuration.

    1. In the ABAP Workbench (transaction SE80), open the Web Dynpro application configuration and choose Start of the navigation path Web Dynpro Configuration Next navigation step Test Next navigation step Execute in Administration Mode End of the navigation path.

    2. Insert pushbuttons for the status change in Customizing mode, for example. For the FPM event ID, use the prefix I_ for issues and A_ for activities, followed by the action that you created in BOPF.

      If you use the delivered class /IAM/CL_SET_USER_STATUS in the action, fill the event parameters according to the parameter structure /IAM/S_SET_USER_STATUS.

    3. If you want to include the user status as a selection list, the text is displayed immediately on the interface.

    4. If the user status is only to be changed by actions, include the status field as read-only.

  4. Include the user status in the worklist.

    1. To do this, create an append structure for the corresponding delivered structure in the transaction SE11:

      • QAMS_GQI_ATTRIBUTE for issues

      • QAMS_GQA_ATTRIBUTE for activities

      Use the same component name as for the append structure for the BOPF structure (see step 1.3 above).

    2. Enhance the structure mapping in the Service Mapping Tool, which you access in Customizing under Start of the navigation path Cross-Application Components Next navigation step Processes and Tools for Enterprise Applications Next navigation step Enterprise Services Next navigation step Enhance Enterprise Services Next navigation step Extend Mappings Next navigation step Extend Mappings End of the navigation path:

      • Mapping QAM_QI_QI for issues

      • Mapping QAM_QA_QA for activities

      Enhance one of the following mapping steps in the field mapping to include a new field relationship:

      • Issues: Mapping step ISSUE_TO_GQI, transformation 00001

        Field relationship QAMS_QGI_ATTRIBUTE-<user status field> to QAMIS_ISSUE_MAP-<user status field>

      • Activities: Mapping step ACTIVITY_2_GQA, transformation 00001

        Field relationship QAMS_QGA_ATTRIBUTE-<user status field> to QAMAS_ACTIVITY_MAP-<user status field>

    3. In the worklist, change the layout and display the field for the user status.

  5. You can attach a digital signature to a user status.

    Note Note

    For technical reasons, you can only use the digital signature for a BOPF action without a parameter structure.

    End of the note.

    To activate the digital signature, store the BOPF action you created as a business transaction. You do this in the transaction SM30 via the following views:

    • Quality issues: /IAM/V_I_ACT_DS

    • Quality activities: /IAM/V_A_ACT_DS