In Change Request Management, the ChaRM Framework is some kind of toolset which provides actions and consistency checks which can be assigned to a user status so they get executed. As customer you copy the standard transaction types to the customer namespace and of course all of the ChaRM Frameworks actions and consistency checks assigned get copied.
But what if you as customer want to change the process and adapt it to your need ? Have I to change the assignment of consistency check to another user status? What are they used for?
Documentation of the ChaRM actions and consistency checks is pretty spare in IMG. This article gives an overview over the existing Charm consistency checks.
Some explained consistency checks require a more-in deep explanation. I have tried to give some more hint with an example describing how it is used in the standard process.
As this is a lot of work as you can imagine, I will start with the consistency checks customized and assigned in the SAP standard transaction types first.
The list covers the currently assigned ChaRM consistency checks of the standard transaction types.
- Request for Change (SMCR)
- Urgent Change (SMHF)
- Normal Change (SMMJ)
- Defect Correction (SMTM)
- Administrative Change (SMAD)
- General Change (SMCG)
- Change Cycles (SMMN, SMMM, SMDM)
But the goal here is to provide a complete list afte a time.
If you find errors and have other comments, just get in contact :-).
By he way, the overview of the ChaRM actions is available here: (http://scn.sap.com/community/it-management/alm/solution-manager/blog/2013/05/08/charm-framework-an-overview-of-actions)
List builds up on ST 7.10, Support Package 8.
The consistency check checks…
|Relevant and customized for||Detail|
|0YES||Internal use||SMMM, SMMN, SMDV|
|ALL_TASKS_RELEASED||…if all tasks of the original transport belonging to the change document are released||SMMJ, SMMJ|
|ANY_CHANGES||…if there are changes done, meaning if the transport belonging to the change document has objects on the piece list||SMHF, SMMJ, SMTM|
|APPROVER_FILLED||…if the approver in the approval steps of the approval procedure have valid partner functions and partner id’s assigned||SMCR||This consistency check is new with ST 7.10, Support Package 8|
|BO_LINKS_COMPLETE||…if the current change document has all related documents (task list and change cycle) links assigned.||SMMJ, SMTM, SMAD|
|CHECK_ACTION_PHASE||…if the ChaRM actions customized to the current user status are allowed in the current phase of the assigned phase cycle||SMMJ||
This depends on a special customizing relvant to the phase controller.
The phase controller checks for all participants if the action is allowed
to be executed. Participants are f.e. the CRM document, the task list,
QGM integration, etc.
|CHECK_IN_AND_OUT||…if solution objects are checked out currently||SMCR, SMHF, SMMJ, SMTM, SMAD, SMCG||The solution objects are displayed in the ‘Solution’ assignment block|
|DGP_CHECK_OK||…if unapproved downgrade protection conflicts exist||SMHF, SMMJ||
The downgrade protection conflicts can be approved in the ‘Downgrade
Protection’ assignment block.
|FOLLOW_ON_GEN_OK||…if the Request for Change has all information to create the follow-on change documents||SMCR||
The check includes if the ‘Project’ field in the detail assignment block is
filled (note that General Changes do not need that), if the scope has an
entry and if the change category and ibase information exists. In case it’s
an General Change, all iBases can be assigned, for the Administrative
Change an iBase of the productive and quality client is valid. For the Normal
and Urgent Change we need an iBase of an productive client. All iBases
(except for the General Change) have to point to systems in the logical
components of the assigned project.
|IB_SYST_CHK||…if the change document has an iBase assigned||SMCR, SMTM|
|IMPORT_INTO_PROD_OK||…if the import of the original transport request of the Urgent Change has been successfully imported into the productive client||SMHF|
|IMPORT_INTO_TEST_OK||…if the import of the original transport request of the Urgent Change has been successfully imported into the test client||SMHF|
|IMPORT_OF_COPIES_OK||…if the import of the original transport request of the Normal Change has been successfully imported into the productive client||SMMJ||
The Normal Change does not transport the original transport into the
test client when the change should to be tested. It always transports
a ToC (Transport of Copies) from the original transport request.
|MAINT_INST||…if the Maintenance cycle for the production system is open||SMHF, SMMJ, SMAD|
|NO_BUSINESS_PARTNER||…if the current user has a business partner||SMHF, SMMJ, SMTM, SMAD, SMMM, SMMN, SMDV|
|NO_CHANGES||…if the transport of the change document does not contain objects. No changes were made (empty piece list)||SMHF, SMMJ, SMTM|
|NO_CRTCL_OBJ||There are no critical objects on the piece list of the transport belonging to the change document||SMMJ|
|PREDOC_CAN_BE_SET||…if the user status of the predecessor can be changed||SMCR, SMHF, SMMJ, SMAD, SMCG||
Meaning if the predecessor document is not locked (edit mode).
Example: An Urgent Change is set to ‘Imported to Production’.
In this user status, the ChaRM action ‘SET_PREDOC’ is executed.
In IMG activity ‘Make Settings for Change Transaction Types’, area
‘Specify Status Setting for Predecessor Documents’ it is customized
that the Request for Change (SMCR) shall be set to user status ‘Implemented’. PREDOC_CAN_BE_SET checks if that can be done
|PRELIM_PRD_NOT_IMP||…if the preliminary imports have not been imported into the productive system||SMMJ||For more information about the preliminary import process: http://scn.sap.com/community/it-management/alm/solution-manager/blog/2012/06/19/how-to-integrate-the-preliminary-import-functionality-for-customers-with-existing-and-changed-normal-change-user-status-profile-in-solman-71–sp5|
|PRELIM_TR_IN_PRD_BUF||…if the transport is already in production system import buffer||SMMJ|
|PREP_FOR_PROD||…if the import into the pre-production client is done||SMHF||Specific for the Urgent Change|
|PRODUCTION_IMPORT_OK||…if the import into the production client is done||SMMJ||Specific for the Normal Change|
|PROJECT_ASSIGNED||…if the Request for Change needs the project field in the ‘General Data’ assignment block filled||SMCR||
In case of only ‘General Changes’ in the scope we do not
need project information
|RETRO_TRANS||…if all transports of a change document have been retrofitted||SMHF, SMMJ, , SMMM, SMMN|
|RFC_DEST||…if the RFC connection to the ChaRM system exists accordingly||SMHF, SMMJ, SMTM, SMAD, SMMM, SMMN, SMDV|
Specifies the business partner to which the system compares the business
|SMHF, SMMJ, SMTM, SMAD||
The relevant customizing iIMG activity for SAME_USER is
‘Make Settings for Change Transaction Types’, area ‘Specify Partner
Assignment and Check’.
Example: The Urgent Change specifies that the user who sets user status
E0005 (Successfully Tested) is written in the partner function ‘Tester’ and
the developer is not allowed/should not do it(column 4-Eyes Principle…).
At the same time the user who sets user status E0004 ‘To Be Tested’ before
is written into the partner function ‘Developer’. This customizing ensures with
the SAME_USER consistency check customized with an cancel that the
developer cannot set the user status ‘Successfully Tested’, meaning he cannot
develop and test successfully.
Please note that the screenshot with reworked column texts is taken from a
coming Support Package.
|SUB_ITEMS||…if the dependent follow-on documents have a sufficient user status in respect of the user status set in the current change document||SMMN, SMDV||
This consistency check is mainly used for the change cycles. It checks if the
change documents linked to the change cycles have a specified user status
(fulfill the customized user status in IMG activity ‘Make Settings for Change
Transaction Types’, area ‘Specify Required Status Values for Successor’) to
change the phase.
For example the Maintenance Cycle is only allowed to go into phase ‘Go Live’
(E0006) in case all defect corrections are ‘Confirmed’, all Urgent Changes have
status ‘Authorized for Production’ and the Normal Changes are ‘Successfully Tested’:
|SYSTEM_EXIST||…if the scope is filled with at least one item which has the change category and iBase information maintained||SMCR|
|TASKLIST_ACTIVE||…if the task list status is active||SMHF, SMMJ, SMTM, SMAD||
An example of an active task list.
|TASKLIST_CLOSED||…if the task list status is completed||SMHF||
An example of an completed task list.
|TR_REQUEST||…if all transport request belonging to the change document are released or deleted||SMHF, SMTM|
|TWB_TEST_OK||…if a test plan is attached and the test status is ok||SMMJ||
SAP delivers the standard BadI implementation
‘AGS_CHARM_TWB_STATUS_CHECK’ which checks this but
customers can implement their own checks via BADI ‘BADI_TWB_CHECKS’.