on 2014 May 09 5:01 PM
Dear Experts,
I'm trying to cancel a contract through a specific z button in view BT126H_APPT/ApptOVViewset. I've created the button and created the event that is already called.
The question is regarding the cancel process. I was going to use the following class CL_CRM_IU_PR_CNTR_END_HD, but indeed in method start it should pass a context of type IF_CRM_IU_PROCES_CTXT that i'm unable to get it.
I believe that the process cancelation should be called by a process, maybe by the process manager, but how can i do this?
Can you help me how can i get this context or use a BAPI, i saw BAPI_BUSPROCESSND_CREATEMULTI. Is this possible through this BAPI?
Thanks.
Hi Nazir,
as you are enhancing component BT126H_APPT the first question is what type of contract do you want to cancel? Is it really a utilities contract? The reason I'm asking this is, that the class CL_CRM_IU...HD is specific for ending (not canceling) utilities contracts. If you have any other contract type at hand this class will therefor not be useful.
Christian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Nazir,
using the process framework outside the standard components for the handling of utilities contracts (e.g. IUICCON) is a little tricky. Therefore, I wanted to make sure you indeed need to use this class. I wanted to write a blog on how to do this for quite some time. So maybe your question will be the trigger to finally do it .
If you want to see how the SAP standard uses the process classes see component IUICCON. What you need to do in you case is the following:
1. Instantiate the process manager using the contract item or header and a process profile
proc_mgr = cl_crm_iu_process_mgr=>get_instance ( item_guid = item_guid
profile_id = 'DEFAULT' ).
2. Check if the process category (in the example below 'IUMO', the category id for the process CONTRACT_START_CANCEL in the DEFAULT process profile) you want to execute is executable
is_executable = proc_mgr->is_executable( category_id = 'IUMO' ).
3. Execute the process. This will execute the process class that is customized for the process profile and category_id and return the BOL objects that need to be saved.
proc_mgr->start(
EXPORTING
category_id = 'IUMO'
IMPORTING
objects_to_be_saved = objects_to_be_saved ).
Afterwards you need to save the BOL objects using the BOL transactions.
Best,
Christian
Hi Christian,
Thank you for your reply.
I'm implementing with the above methods but when the start method is executed is not returning any objects to save. Inside the debug it gives an error when check:
* check repository
try.
success = me->execute_checks(
execution_time = if_crm_iu_process_check=>co_exec_time_start
validation = if_crm_iu_process_check=>co_validation_before
assignment = if_crm_iu_process_check=>co_assignment_head
context = context
log_access = context->log_access ).
This is what i'm doing:
lr_proc_mgr = cl_crm_iu_process_mgr=>get_instance( item_guid = ls_items-guid "Item of the contract
profile_id = 'DEFAULT' ).
DATA: lv_is_executable TYPE abap_bool.
lv_is_executable = lr_proc_mgr->is_executable( category_id = zcl_cx_contracts_utility=>gc_contract_category )."IUMO
DATA: lr_objects_save TYPE REF TO if_bol_bo_col.
CHECK lv_is_executable = abap_true.
lr_proc_mgr->start(
EXPORTING
category_id = zcl_cx_contracts_utility=>gc_contract_category "IUMO
IMPORTING
objects_to_be_saved = lr_objects_save ).
What is wrong or what is missing?
Anther issue if i need to change the dates that the cancel should apply how can that be changed?
Thank you.
Hi Nazir,
unless you already implemented checks using the new utilities check framework, the error in
me->execute_checks
should be no problem. AFAIK there is an exception raised if no checks are defined. Instead, please check if an error occurs in the different methods of class CL_CRM_IU_PR_CNTR_END_HD and CL_CRM_IU_PR_CNTR_END.
To change the date simply set the date ISURQCONTEND on the contract item after the creation of the process manager.
Christian
User | Count |
---|---|
27 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.