Introduction
Sometimes we need the capability to activate or deactivate a certain feature or to select a feature variant in context of a specific process type or project id. The already existing solution DNO_CUST04 / DNOC_USERCFG or AGS_WORK_CUSTOM are no proper solutions because here we cannot define attribute names & values and we cannot assign attributes to a project id.
Because SAP SE is not able to design and implement a proper solution, we have to do it.
Tables and Maintenance Views
Attribute Name
Table ZAT_N_C | Attribute Name
- CLIENT | Client
- NAME | Attribute Name
Table ZAT_N_T | Attribute Name (Text)
- CLIENT | Client
- LANGU | Language
- NAME | Attribute Name
- TEXT | Attribute Name Description
Attribute Value
Table ZAT_V_C | Attribute Value
- CLIENT | Client
- NAME | Attribute Name
- VALUE | Attribute Value
Table ZAT_V_T | Attribute Value (Text)
- CLIENT | Client
- LANGU | Language
- NAME | Attribute Name
- VALUE | Attribute Value
- TEXT | Attribute Value Description
Search Help ZAT_SH | Attribute Values (used for dynamic value list determination in customizing tables)
- ZAT_V_C-NAME | I+E | | Attribute Name
- ZAT_V_C-VALUE | E | 1 | Attribute Value
- ZAT_V_T-TEXT | | 2 | Attribute Value Description
Attribute Assignment
Table ZAT_A_C | Attribute Assignment
- CLIENT | Client
- PROCESS_TYPE | Process Type
- PROJECT_ID | Project ID
- NAME | Attribute Name
- VALUE | Attribute Value
View ZAT_PT_V | Attribute Assignment on Process Type level (transportable)
- CLIENT | H | Client
- PROCESS_TYPE | | Process Type
- PROJECT_ID | H | = “ | Project ID
- NAME | | Attribute Name
- VALUE | | Attribute Value
- PROCESS_TYPE_TEXT | R | Process Type Description
- NAME_TEXT | R | Attribute Name Description
- VALUE_TEXT | R | Attribute Value Description
View ZAT_PT_V | Attribute Assignment on Project level (not transportable)
- CLIENT | H | Client
- PROCESS_TYPE | | Process Type
- PROJECT_ID | <> “ | Project ID
- NAME | | Attribute Name
- VALUE | | Attribute Value
- PROCESS_TYPE_TEXT | R | Process Type Description
- NAME_TEXT | R | Attribute Name Description
- VALUE_TEXT | R | Attribute Value Description
View Cluster ZAT_VC | Attributes
- ZAT_N_C | Attribute Name
- ZAT_V_C | Attribute Value
API (Class ZAT_CL)
CHECK_ATTRIBUTE
Purpose:
- Check for Name and Value of an attribute
In:
- Process Type
- Project ID
- Name
- Value
Out:
- Boolean
Content:
- Check for attribute and context in table ZAT_A_C
GET_VALUE
Purpose:
- Get Value of an attribute
In:
- Process Type
- Project ID
- Name
Out:
- Value
Content:
- Read first value for given context and attribute name from table ZAT_A_C. Sort by process type (descending) and project id (descending) to enable overlapping capability.
Overlapping Capability:
- PROCESS_TYPE | PROJECT_ID
- X X
- X O
- O X
- O O
GET_ATTRIBUTES
Purpose:
- Get complete list of active attributes
In:
- Process Type
- Project ID
Out:
- Table of Name Value pairs
- Table of Strings
Content:
- Read all attribute names and values for given context from table ZAT_A_C.
- Concatenate name and value separated by slash (if string table result is requested).
GET_ATTRIBUTES_FOR_TRANSACTION
Purpose:
- Get complete list of active attributes for a transaction
In:
- Transaction GUID
Out:
- Table of Name Value pairs
- Table of Strings
Content:
- Get process type using method cl_hf_helper=>get_proc_type_of_chng_doc.
- Get project id using method cl_al_crm_cm_utility=>read_project_id.
- Get result data calling method GET_ATTRIBUTES
Business Object Attribute (used by PPF actions)
SWO1 -> Enhancement of BUS2000116 (Service Process) -> Attribute „Features“
Data Reference: BDI_LOG-COMM (String table)
In:
- Transaction Guid
Out:
- Feature List
Content:
- Call method GET_ATTRIBUTES_FOR_TRANSACTION
Note:
- This attribute can be used in ppf schedule and start conditions
- Usually we are using operator „CE“ to check for a certain name value pair („NAME/VALUE“). However pattern search (with asterisk and plus is also working).
SPRO / IMG
- Attribute Definition (Name & Values): Define feature attributes with name and possible values.
- Attribute Assignment on Process Type level (transportable): Assign feature attributes to process type in order to activate feature or choose feature variant for a specific process type. Note. This configuration is transportable.
- Assign Attribute on Project level (not transportable): Assign feature attribute to project in order to activate feature or to choose feature variant. Note: This configuration is not transportable. Note: This configuration will overwrite configuration of process type level in case application wants to read the value for a specific attribute name. This configuration will be merged with configuration of process type level in case application wants to check a specific attribute (name & value) or wants to read complete list of active attributes.
- Optionally we can add DNO_CUST04 and AGS_WORK_CUSTOM here (several existing IMG activities).