Defining 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.
Create a status variable in the Data Dictionary (DDIC, transaction SE11).
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.
Create a data element to which you assign this domain.
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
.
Enhance the business object in the enhancement browser of the BOPF Enhancement Workbench (transaction /BOBF/CUST_UI).
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.
Open the generated enhancement.
Create actions for the status change by choosing Create Action
in the context menu for the ROOT
node.
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
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
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
.
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.
To visualize the user status and execute actions, use Customizing to include it in the Web Dynpro application configuration or component configuration.
In the ABAP Workbench (transaction SE80), open the Web Dynpro application configuration and choose .
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
.
If you want to include the user status as a selection list, the text is displayed immediately on the interface.
If the user status is only to be changed by actions, include the status field as read-only.
Include the user status in the worklist.
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).
Enhance the structure mapping in the Service Mapping Tool, which you access in Customizing under :
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>
In the worklist, change the layout and display the field for the user status.
You can attach a digital signature to a user status.
Note
For technical reasons, you can only use the digital signature for a BOPF action without a parameter structure.
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