A Non-Standard Use Case: Creating Defect Corrections via the Request for Change Scope
Update on 11.) added part 4) of the customizing
Today I would like to blog some use case not covered with SAP standard customizing:
The Defect Correction can be created in SAP standard only during phase ‘Test’ as a stand-alone change document. So it is linked only to the project cycle, not to a Request for Change.
A not so rare use case (we had customer inquiries how to do that and now customers which use it) would be to create a Defect Correction from the a Request for Change (RfC) by adding it to the scope and generating it as a follow-on document. So long as a development project (which is reflected by a Normal Change) is not in user status ‘In production’, the RfC is only in status ‘Implemented’ and can extend the scope, meaning generate additional change documents, like a Defect Correction when the new project is tested. Then not only the changes covered by the project but as well the changes for this project and it’s test are collected under one Request for Change.
My example picture will show you how to enhance the customizing, so the Defect Correction is available in the scope of an implementation project. The customizing change affects four areas:
- Phase Controller (to allow creation of Defect Correction from a logical side)
- Change Request Management Copy Control (to make the Defect correction available in the scope for special project types)
- CRM Copy Control (to allow creation from a CRM document side)
- Specify Required Status Values for Successor
- The Phase Controller is the underlying logical model in the Change Request Management enviroment which controls what action is allowed . It asks the different participants (f.e. the task list, the project cycle, cProject [if used], QGM [if used in the project]) if an action (like f.e. create transport or import into test system, or create Urgent Change) is allowed from their side. If no participant has issues, the action can be executed.
Call view cluster ‘/TMWFLOW/VC_PHMD’ sm34:
To enhance the Phase Controller model enhance the SAP standard model ‘DEVRL’ for the project cycle which is created when we have a SAP Solution Manager project of type ‘Implementation, Upgrade or Template’.
—- The Phase Controller customizing will be already done with Support Package 8 ———
Choose DEVL as Phase Model which is the relevant model and choose ‘Assign Phase Values to Model’.
Mark the phase ‘TEST’ and choose ‘Assign Actions to a Phase Value’.
Create the new entries…
– TM_CREATE
– TM_REASSIGN
– TM_TR_ASSIGN
– TM_TR_CREATE
– TM_TR_DECOUPLE
– TM_TR_RELEASE
– TM_TT_CREATE
as displayed below. Save the customizing in your transport request.
Remark: If you want to enhance the maintenance cycle, the entries have to be added to teh phase model
MNTCL (SAP0 variant, transaction type SMMN) or MNTMM (SAP1 variant, transaction type SMMM).
2. Go to IMG activity ‘Make Settings for Change Transaction Types’ or transaction SM34 ‘AIC_SETTINGS’.
Select your equivalent ZMCR/YMCR Request for Change (to the SAP standard SMCR), mark it and go to the ‘Copy Control Rules’ area.
Create the relevant entry as displayed below but fill for ‘Source Transaction Type’ your Z/Y Request for Change and as target transaction type instead for the SMTM (Standard Defect Correction) your relevant ZMTM (Customer Defect Correction). Notice that the project type is ‘Implementation Project’. If you want it in the Upgrade and Template project as well you have to create entries for them as well.
Save your changes in the tranport.
3. CRM Copy Control (to allow creation from a CRM document side)
In the IMG go to activity ‘Define Copying Control for Transaction Types’
Add the relevant entry as shown below only insert your Z/Y transaction type from the Request for Change as ‘Srce Trans. Type’ and your Z/Y Defect Correction as ‘Tgt Transaction Type’.
Save your changes in the tranport.
If you now create a Request for Change and assign a project type which you choose as project type (implementation, template, upgrade) in part 2.), the Defect Correction is available in the scope of the Request for Change:
4.) The area ‘Specify Required Status Values for Successor’ part in the IMG activity ‘Make Settings for Change Transaction Types’ does set the predecessor user status (SET_PREDOC functionality) of the Request for Change if the defect correction has user status ‘Completed’ or Withdrawn. I would recomment this customizing so the user status of the Request for Change is set to ‘Implemented’ and the document chain is setting the predecessor user status correctly.
Go to IMG activity ‘Make Settings for Change Transaction Types’.
Select your Z/Y Request for Change transaction type and choose area ‘Specify Status Attributes’.Select user status ‘E0005’Select user status ‘E0005’Select
Select user status E0005 (Implemented) and choose ‘Specify Required Status Values for Successor’.
Add the following entries (the relevant ‘Completed’ and ‘Withdrawn’ user status of your Defect Correction.
So the user status change for the Request for Change is triggered to ‘Implemented’ if the Defect Correction reaches user status ‘Withdrawn’ or ‘Completed’, ‘Change Request Management action ‘SET_PREDOC’ has to be customized as well in the same view cluster, area ‘Assign Actions’.
Choose your Z/Y Defect Correction and choose the area ‘Assign Actions’, then customize the action ‘SET_PREDOC’ for the user status ‘Completed’ or ‘Withdrawn’ (or your equivalent user status).
Hope that helps you to enhance your ChaRM, if you encounter issues, get in touch.
Michael
Hi Michael - a very interesting posting. i am going to attempt to implement it. i am currently on SP6.
1. Can i use the above steps for Maintenance projects ?
I would like to have the ability to create a defect correction via Request for Change Scope in the Test Phase of the maintenance project.
2. what is the standard SMTM process flow and use case scenario ? what are the actions available from start to end of defect correction (SMTM) ?
there is no reference of SMTM in the RKT material.
Your response is highly appreciated.
thanks,
sid
Hello Sid,
It actually works for Maintenance Projects, just select that option instead of Implementation, that simple! Thanks to Michael for this handy doc.
Kindly advise how I can pay back or forward.
Fine regards,
#solman71today
Hello Mr. Vollmer,
You have got me out of the gutter several times with this one!
I only share the following:
Step 1. It looks O.K. in SP07
Step 3. Can this step be found elsewhere? Say, inside Change Control Management? Or only in CRManagement? I will try to find it out. Anyways, this step is the VERY IMPORTANT one! Without Step 3. this wouldn't work.
Thank you for sharing!
Regards,
Cesar
Dear Cesar,
the CRM copy control can be found here in SP7, too.
Best regards,
Michael
Hello Mr. Vollmer,
Thank you very much! But now you gave me the curiosity for going through the CRM menu also, which is really good! Long life to you.
Fine regards,
César
HI Michael,
Thanks for this wonderful Blog. I configured this & it works fine 🙂
My only concern is it allows to create Defect correction in all Project Phases. It should allow to create Defect correction only in Test Phase.
When I released the RFC for Development it created Defect Correction, even though Project cycle phase is 'In Development w/o Release'. Can we restrict this ?
It should allow to create Defect correction via RFC onlywhen Project cycle/Maintenance cycle phase is 'Test'.
Regards
PK
Hi PK,
I took a look at the code. Currently this is not implemented as this is not the standard way to have the defect correction in the scope.
The best way to do it would be to restrict the F4 help to assign the projects.
But this would be a developer task, to create a post-exit in method CL_AI_CRM_CM_PROJ_SH_RUN_BTIL method IF_CRM_QUERY_RUNTIME_BTIL~GET_DYNAMIC_QUERY_RESULT
This method filters the relevant projects. Table gt_scope_data should have the scope with all transaction types. With method CL_AL_CRM_CM_UTILITY=>GET_SOCM_PROXY_BY_TRASN_TYPE you get the proxy class for the defect correction. In case proxy class is CL_AGS_WORK_BP_INFO=>C_PROXY_CL_TEST_MESG you have to filter projects which do not have phase 'Test'.
For a customer implementation you could do this by reading the GUID of the cycle with method CL_AI_CRM_CM_PROJ_SH_RUN_BTIL=>PROJECT_TO_CYCLE_LIST GUID and checking the relevant user status of the cycle. You can use CL_HF_HELPER=>GET_ESTAT_OF_CHANGE_DOCUMENT to read the user status,
hope that helps,
Michael
PS: Today is my last day until january because of parental leave, so I will not answer for some time. Have to renew a flat and move into it. Lots of work ;-).
Hi Michael
For once I can offer you some advice: DIYNETWORK.COM 🙂
They have great tips for renovation projects of all types.
Good luck and thanks for all your help on Solution Manager!
Regards, Rob
Hi Michael,
In the case we are using ITSM integrated with CHARM then SMTM’s integration with SMCR is must!
If we are not going to include SMTM in SMCR scope, how can we create SMTM from SMIN (during test phase of our project) the only way is via integration or ….?
Thank you in advance for your answer.
BM
Hi Boris,
you could create a SMTM directly from a SMIN. You just have to customize the CRM copy control (SMIM->SMTM, IMG activity 'Define Copying Control for Transaction Types') and the ChaRM copy control (which data is copied like texts, etc, is part of IMG activity 'Make Settings for Change Transaction Types')
hope that helps,
Michael
Hi Michael,
How can I restrict directly creating SMTM, as I want to allow SMTM creation only as a followup document from SMIN & not as a direct creation.
Regards
Praveen Khot
Hi Praveen,
I expect you have a copied Z business role from SOLMANPRO.This role has a direct link group SM-CREATE, as SOLMANPRO has. I think you would need to create your own link group and insert every logical link ID except the 'Create Defect Correction' link which should be SM-TM-DC. This link group needs to be assigned to your business role and the one which has the 'Create Defect Correction' link in it, has to be de-assigned from the role.
Please check the IMG activity 'Define Navigation Bar Profile' in the CRM section of SPRO,
hope that helps,
Michael
Thanks Michael, Its helpful.
Hi Michael,
I am using SM 7.2 SP3. I have copied SMCR, SMHF to ZMCR and ZMHF as part of ChaRM configuration. In my configuration, when I go for creation of 'request for change', ID is generated immediately before saving the document. So what happens when I change mind not to create the 'request for change', that generated ID is wasted. I want ID to be generated only on saving the document. Can you please suggest some solution (config) to archive this?
I do not know if I am writing my issue in correct blog. But while looking for solution to above issue, I found something related. So I am writing my issue here.
Regards,
Ashvini Singh
Hi Ashvini, the flag in the 'Define Transaction type' customizing determines if a document gets the object ID saved early or only if you save the document. Hope that's it, what you wanted.
Hi Michael,
I was looking for this only. It worked. Thank you very much.
Sorry for late acknowledgement.
Regards,
Ashvini Singh
Hello,
I've made the same settings (allow ZMTM on Devel. with release phace) on old 7.1 SP12 and its worked good. But after upgrade up to SP15 I've got an issue like this
An error :
Details No maintenance cycle is open for the current system
when I try to move defect correction in E0002 status and the phase of cycle is Developmewnt with release
Hi Dmitry,
I changed the department, therefore I do not process the code anymore and would suggest you create a customer ticket,
thanks,
Michael