on 10-27-2015 5:13 AM
Hi Team,
I am trying to create complaint . I got an error say in - Details Item 20: No item category could be determined Details Item 20: The product does not exist in the system
Can you please tell me, when such type of error comes? Do we need to check any configuration for this?
In item assignment block item 20 is coming , so i don't want 20 line item here.if i remove item number 20 then that errors are not coming.how to do it? could you please help here..Thanks in advance.
Thanks & regards
Kalpana
Hi,
Check your code available in do_prepare_output of the items assignment block view. What code you are using to populate line item 10 based on header data, check this logic functionality in debug by keeping break point.
Even keep break points in do_prepare_output of the items assignment block and check what is happening after adding the line item 10, generally empty line would created after adding line item 10. But in your case empty is adding with number int and other details.
Regards,
Dharmakasi.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello!
You can check if enhancements are source of your problem: set parameter WCF_IGNORE_ENHANCEMT to A on your user in SU01 and retest. If there would not be error - problems are in enhancement.
Regards,
Viktor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Viktor,
I have added the same parameter ,all custom developments will be removed.and i have created AET fields and added same fields on complaint creation screen.but its get removed and entire z configurations ares removed.it is showing all standard.
Complaint creation screen-if you enter serial number(i.e AET field) item level 20 is coming and erros is coming that is the exact issue we are facing.
After adding this parameter on SU01 now there is no custom developments here..So with out disturbing our custom developments how to remove this errors. please help.
Thanks
Kalpana
Hello!
You can try to turn off only part of enhancements as decribed in link
and check which enhancement gives you this problem
Have you enhanced views of assignment block "Items"? Could you give me a name of this component?
Regards,
Viktor
Hi Viktor,
please find the below details of component and item view.in this item list i have added 3 AET fields and just implemented drop down end editable on based on return replacement button of item view.for this i have enhanced the EH_ONACTION event handler and i have copied same standard code but added some logic for return replacement functionality.
Component - BT120H_CPL
View - BT120H_CPL/ItemList
Thanks & Regards
Kalpana
Hi Viktor,
Please find the below code.
METHOD eh_onaction.
*CALL METHOD SUPER->EH_ONACTION
* EXPORTING
* IV_EVENT_NAME = IV_EVENT_NAME.
DATA: lv_action_set TYPE REF TO cl_crm_bol_entity,
lv_actions TYPE REF TO if_bol_entity_col,
lv_action TYPE REF TO cl_crm_bol_entity,
lv_entity TYPE REF TO cl_crm_bol_entity,
lr_ent2 TYPE REF TO cl_crm_bol_entity,
lr_core TYPE REF TO cl_crm_bol_core,
lr_col TYPE REF TO if_bol_entity_col,
lr_marked TYPE REF TO if_bol_bo_col,
lr_cucompl TYPE REF TO cl_bt120h_c_bspwdcomponen_impl,
lv_ttype TYPE string,
lv_msgv TYPE symsgv,
lr_msg_srv TYPE REF TO cl_bsp_wd_message_service,
lv_dummy TYPE c LENGTH 1. "#EC NEEDED
lr_core = cl_crm_bol_core=>get_instance( ).
lr_marked = me->typed_context->btadmini->collection_wrapper->get_marked( ).
IF lr_marked IS BOUND.
IF lr_marked->size( ) = 1.
lv_entity ?= lr_marked->get_first( ).
CHECK lv_entity IS BOUND.
lv_action_set = lv_entity->get_related_entity( iv_relation_name = 'BTItemAction' ).
IF lv_action_set IS BOUND.
TRY.
lv_action_set->execute( iv_method_name = 'ACIDetermine' ).
CATCH cx_crm_genil_model_error
cx_crm_bol_meth_exec_failed.
ENDTRY.
lv_actions = lv_action_set->get_related_entities( iv_relation_name = 'ACIInactiveActionRel' ).
IF lv_actions IS BOUND.
lv_action ?= lv_actions->get_first( ).
WHILE lv_action IS BOUND.
lv_ttype = lv_action->get_property_as_string( 'TTYPE' ).
IF lv_ttype = iv_event_name.
TRY.
lv_action->execute( iv_method_name = 'ACIActivate' ).
lv_entity->set_property( iv_attr_name = 'MODE' iv_value = '' ).
CATCH cx_crm_genil_model_error
cx_crm_bol_meth_exec_failed.
ENDTRY.
lr_ent2 ?= me->typed_context->btitems->collection_wrapper->get_current( ).
lr_col ?= lr_ent2->get_related_entities( iv_relation_name = 'BTOrderItemAll' iv_mode = cl_crm_bol_entity=>bypassing_buffer ).
IF lv_ttype = 'ZSUBST_DEL'.
DATA : lr_btadmini TYPE REF TO cl_crm_bol_entity,
lv_serial TYPE string,
lv_itemno TYPE crmt_item_no,
lr_iterator TYPE REF TO if_bol_entity_col_iterator.
CALL METHOD lr_col->get_iterator
RECEIVING
rv_result = lr_iterator.
CALL METHOD lr_iterator->get_first
RECEIVING
rv_result = lr_btadmini.
WHILE lr_btadmini IS BOUND.
CALL METHOD lr_btadmini->if_bol_bo_property_access~get_property_as_value
EXPORTING
iv_attr_name = 'NUMBER_INT'
IMPORTING
ev_result = lv_itemno.
IF lv_itemno = '30'.
IF lr_btadmini IS BOUND.
CALL METHOD lr_btadmini->set_property
EXPORTING
iv_attr_name = '/RCRM/F005V'
iv_value = ' '.
***today changeSeptmber 2nd 2015
CALL METHOD lr_btadmini->set_property
EXPORTING
iv_attr_name = '/RCRM/F005T'
iv_value = '1000'.
****today chnge septmber 2nd 2015
CALL METHOD lr_col->add
EXPORTING
iv_entity = lr_btadmini.
EXIT.
ENDIF.
ENDIF.
CALL METHOD lr_iterator->get_next
RECEIVING
rv_result = lr_btadmini.
ENDWHILE.
ENDIF.
*****************return solc set 1000 defualt septmber 2nd 2015
IF lv_ttype = 'YCREATERTNREQ1'.
CALL METHOD lr_col->get_iterator
RECEIVING
rv_result = lr_iterator.
CALL METHOD lr_iterator->get_first
RECEIVING
rv_result = lr_btadmini.
WHILE lr_btadmini IS BOUND.
CALL METHOD lr_btadmini->if_bol_bo_property_access~get_property_as_value
EXPORTING
iv_attr_name = 'NUMBER_INT'
IMPORTING
ev_result = lv_itemno.
IF lv_itemno = '20'.
IF lr_btadmini IS BOUND.
CALL METHOD lr_btadmini->set_property
EXPORTING
iv_attr_name = '/RCRM/F005T'
iv_value = '2999'.
CALL METHOD lr_col->add
EXPORTING
iv_entity = lr_btadmini.
EXIT.
ENDIF.
ENDIF.
CALL METHOD lr_iterator->get_next
RECEIVING
rv_result = lr_btadmini.
ENDWHILE.
ENDIF.
*********** return sloc value should set 1000 Septbmber 2nd 2015
*****************************************
me->typed_context->btadmini->collection_wrapper->set_collection( lr_col ).
me->typed_context->btadmini->collection_wrapper->find( iv_bo = lv_entity ).
lr_cucompl ?= me->comp_controller.
lr_cucompl->force_save = abap_true.
EXIT.
ENDIF.
lv_action ?= lv_actions->get_next( ).
ENDWHILE.
ENDIF.
lv_actions = lv_action_set->get_related_entities( iv_relation_name = 'ACIActiveUnprocessedActionRel' ).
IF lv_actions IS BOUND.
lv_action ?= lv_actions->get_first( ).
WHILE lv_action IS BOUND.
DATA lv_dispatch TYPE i.
lv_ttype = lv_action->get_property_as_string( 'TTYPE' ).
lv_dispatch = lv_action->get_property_as_string( 'DISPATCH' ).
IF lv_ttype = iv_event_name AND lv_dispatch = 3. "immediate only
TRY.
lv_action->execute( iv_method_name = 'ACIExecute' ).
lv_entity->set_property( iv_attr_name = 'MODE' iv_value = '' ).
CATCH cx_crm_genil_model_error
cx_crm_bol_meth_exec_failed.
lv_msgv = lv_action->get_property_as_string( 'TTYPEDESCR' ).
MESSAGE e028(crm_complaint) WITH lv_msgv INTO lv_dummy. "#EC *
lr_msg_srv = me->view_manager->get_message_service( ).
IF lr_msg_srv IS BOUND.
lr_msg_srv->add_message( iv_msg_type = sy-msgty
iv_msg_id = sy-msgid
iv_msg_number = sy-msgno
iv_msg_v1 = sy-msgv1
iv_important_info = abap_true ).
ENDIF.
TRY.
lv_action->execute( iv_method_name = 'ACIDeactivate' ).
CATCH cx_crm_genil_model_error
cx_crm_bol_meth_exec_failed.
EXIT.
ENDTRY.
EXIT.
ENDTRY.
lr_ent2 ?= me->typed_context->btitems->collection_wrapper->get_current( ).
lr_col ?= lr_ent2->get_related_entities( iv_relation_name = 'BTOrderItemAll' iv_mode = cl_crm_bol_entity=>bypassing_buffer ).
me->typed_context->btadmini->collection_wrapper->set_collection( lr_col ).
me->typed_context->btadmini->collection_wrapper->find( iv_bo = lv_entity ).
lr_cucompl ?= me->comp_controller.
lr_cucompl->force_save = abap_true.
EXIT.
ENDIF.
lv_action ?= lv_actions->get_next( ).
ENDWHILE.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDMETHOD.
Thanks & Regards
Kalpana
Hello!
I have compared your code with standard and see that your code has 2 additional If constructions where you call
CALL METHOD lr_col->add
EXPORTING
iv_entity = lr_btadmini.
Please try to skip your changes via shift+f12 and see if your issue still exists. If not - reason is in those part of code.
P.S. I see that mentioned lr_col->add calls are without changing of NUMBER_INT - is it correct? As per my understanding it could be a source of problems
Regards,
Viktor
Hi Viktor,
No still it is not working. i have commented that code ,and debug mode also i have checked but still it is coming.
See user enter header level Serial number ,then few fields on header and item its gets filled automatically.in the item i,item value 20 that time user clicks return and replacement buttons i have copied serial number on 2nd line item based on edit non edit that's it only these changes i did at item level.
So what to do here .Could you please hep. still item 10 and 20 is coming.
Thanks & Regards
Kalpana
Hi Kalpana,
Please keep a break point in the FM "CRM_ORDERADM_I_MAINTAIN_OW" and follow the same actions you are doing. once this FM is triggered check if the item number 20 is there in the importing structure.
If it is there go to desktop 2 and check the call stack. hopefully you can find from where the item 20 is added.
Br,
Navn
Hi Kalpana,
As per my knowledge this FM has to trigger twice. first time is for line item 10 and second time is for line item 20. For item 10 the ORDERED_PROD will be you entered (49002465xx) and for item 20 the ORDERED_PROD will be blank.
Please check in above way once and let me know.
Br,
Navn
Hi Kalpana,
It looks like the Product ID is wrongly entered. Can you check the correct product ID in the Product master ? Also, check the item group of the product. It will throw error if the correct item category is not mapped.
Hope this helps.
Thanks,
Samantak Chatterjee
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi samantak,
Thanks for your reply..see here actual scenario is header level user enter serial number automatically filling the header Object ID and sold to party employee responsible,and item level product ID,quantity is filling automatically.
So above screen shot user enter serial number on header level, based on that item gets filled and item 20 additionally it is coming so here we don't want item 20 line..
i have checked commpro1 transaction ,please find the below image.
help here how to solve this issue.
Thanks & reagrds
Kalpana
User | Count |
---|---|
5 | |
1 | |
1 | |
1 | |
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.