When an Urgent Change is set into status ‘In Development’ from the status ‘Created’ a dialog window is opened up automatically. This dialog window allows the user to create transport requests.
Some background for developers and consultants:
Technically, the dialog window ‘Create Transport Request’ has an UI usage to the change document header UI component (which is AIC_CMCD_H) and is registered in the ChaRM Dialog Window Framework where you can register dialog windows to a PPF (Post Processing Action) action.
Depending from the customizing dialog windows can be started before or after the PPF action is executed.
The ‘Create Transport Request’ is from an implementation view an independent dialog window which means if it is called the code which does the real functionality is executed in the dialog window itself (this is different in the Transport to sandbox dialog window for example).
This means it just has to be called.
New use case for the Normal Change or (untested) the Defect Correction:
There might be customers who like the dialog window in the Urgent Change as much for the Normal Change or Defect Correction because it fastens up the process.
The nature of the implementation of the ‘Create Transport Request’ dialog window allows it to implement this dialog window for the Normal Change for an experienced PPF customizer in about 15 minutes which is a fine ROI :-).
How to do it:
1.) Maintain the PPF container class as an element in the PPF action which sets the user status ‘in development’.
This is done in the IMG activity ‘Define Action Profiles and Actions’. Normally if you copy the SMMJ to ZMMJ the PPF action is named ‘ZMMJ_IN_PROCESS_MJ’.
2.) Here, you have two options. The one with and the one without modification:
2.a) Small modification (You need a developer key from the service marketplace for that): Enhance the filter for the BadI.
go to transaction SE19 and display the AIC_POPUP_EXAMPLE enhancement.
The filter looks for implementation AIC_CREATE_TRANSPORT_REQ like this:
Change the BadI filter to the value ‘*IN_PROCESS*. You need a developer key for the object R3TR ENHO AIC_POPUP_EXAMPLE to do that.
Save everything to a transport.
2.b) Without modification: Copy the PPF action which set the status ‘In Development’ to the name <transaction type>_IN_PROCESS
Please be aware that we copy and then delete the old PPF action. This means you have first to check which schedule and start conditions the old PPF action ZMMJ_IN_PROCESS_MJ has (or have to look it up later in the productive system).
We do that in the IMG activities ‘Define Conditions’. Switch to the Technical Name so you find the action profile more easily.
Be aware that you might have adopted the schedule and start condition as shown in the screenshot here. Note down the name of the schedule and start conditions assigned.
Then go to IMG activity ‘Define Action Profiles and Actions’ and to the action. Mark the PPF action and copy it
Rename it to ‘ZMMJ_IN_PROCESS’
Copy all dependnet entries:
Save your changes in the transport request.
Delete the old PPF action ZMMJ_IN_PROCESS_MJ:
Now you have to create the PPF condition, so go back to the IMG activities ‘Define Conditions’ in the action profile. Create the PPF condition.
And assign again the start and schedule conditions which you marked down first:
Do it for the schedule and start condition (if you have any). Save your changes.
3.) Register the dialog window for the PPF action
Last action is to register the dialog window to the Dialog window framework and to the PPF action. If you have chosen variant 2.b) please notice that the name of the PPF action is ZMMJ_IN_PROCESS instead of the ZMMJ_IN_PROCESS_MJ as displayed in the screenshot. You can use the marked SMHF entry as a copy template.
Save your changes.
Now the dialog window ‘Create Transport Request should be opened if you set a Normal Change from status ‘Created’ to status ‘In development’.
The same should be possible for the Defect Correction of course I have to admit that I have not done it yet. The PPF action which is relevant for the Defect Correction is ZMTM_IN_PROCESS_TM. You have to create the same PPF container element in step 1.). You can skip 2a.) if you have done that. If you choose 2.b) you have to do it for PPF action ZMTM_IN_PROCESS_TM as well. For 3.) just fill in the entry with PPF actionZMTM_IN_PROCESS_TM and action profile ZMTM_ACTION.
As always if you find errors or have comments, please give me feedback,