Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
mich_vollmer
Contributor

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

Best regards,

Michael

List builds up on ST 7.10, Support Package 8.

ChaRM consistency

check name

The consistency check checks...

Relevant and customized forDetail           
0YESInternal useSMMM, SMMN, SMDV
ALL_TASKS_RELEASED...if all tasks of the original transport belonging to the change document are releasedSMMJ, SMMJ
ANY_CHANGES...if there are changes done, meaning if the transport belonging to the change document has objects on the piece listSMHF, SMMJ, SMTM
APPROVER_FILLED...if the approver in the approval steps of the approval procedure have valid partner functions and partner id's assignedSMCRThis 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 cycleSMMJ

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 currentlySMCR, SMHF, SMMJ, SMTM, SMAD, SMCGThe solution objects are displayed in the 'Solution' assignment block
DGP_CHECK_OK...if unapproved downgrade protection conflicts existSMHF, 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 documentsSMCR

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 assignedSMCR, SMTM
IMPORT_INTO_PROD_OK...if the import of the original transport request of the Urgent Change has been successfully imported into the productive clientSMHF
IMPORT_INTO_TEST_OK...if the import of the original transport request of the Urgent Change has been successfully imported into the test clientSMHF
IMPORT_OF_COPIES_OK...if the import of the original transport request of the Normal Change has been successfully imported into the productive clientSMMJ

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 openSMHF, SMMJ, SMAD
NO_BUSINESS_PARTNER...if the current user has a business partnerSMHF, 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_OBJThere are no critical objects on the piece list of the transport belonging to the change documentSMMJ
PREDOC_CAN_BE_SET...if the user status of the predecessor can be changedSMCR, 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 systemSMMJFor 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...
PRELIM_TR_IN_PRD_BUF...if the transport is already in production system import bufferSMMJ
PREP_FOR_PROD...if the import into the pre-production client is doneSMHFSpecific for the Urgent Change
PRODUCTION_IMPORT_OK...if the import into the production client is doneSMMJSpecific for the Normal Change
PROJECT_ASSIGNED...if the Request for Change needs the project field in the 'General Data' assignment block filledSMCR

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 retrofittedSMHF, SMMJ, , SMMM, SMMN
RFC_DEST...if the RFC connection to the ChaRM system exists accordinglySMHF, SMMJ, SMTM, SMAD, SMMM, SMMN, SMDV
SAME_USER

Specifies the business partner to which the system compares the business
partner of the current user (defined in SY-UNAME). If the two business partners
are the same, the consistency check is not fulfilled.

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 documentSMMN, 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 maintainedSMCR
TASKLIST_ACTIVE...if the task list status is activeSMHF, SMMJ, SMTM, SMAD

An example of an active task list.

TASKLIST_CLOSED...if the task list status is completedSMHF

An example of an completed task list.

TR_REQUEST...if all transport request belonging to the change document are released or deletedSMHF, SMTM
TWB_TEST_OK...if a test plan is attached and the test status is okSMMJ

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

18 Comments