on 08-29-2008 2:28 PM
Hi Support,
I am working on component named "ICCMP_BTSHEAD", I added a field
named 'Product_ID' from context node named 'BTADMINH', and generated GET_V_PRODUCT_ID and fired and an outboound plug using the following code:
CREATE OBJECT RV_VALUEHELP_DESCRIPTOR TYPE CL_BSP_WD_VALUEHELP_NAVDESCR
EXPORTING IV_OUTBOUND_PLUG = 'OP_ToProductSearch'
It is fine in this step. And proceeding further, I shoot out a pop up screen in the outbound plug implementation and the code as follows:
DATA: LV_TITLE TYPE STRING.
LV_TITLE = 'Product Search'.
GR_OBJSEARCHPOPUP = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
IV_USAGE_NAME = 'ProductSearch' "#EC NOTEXT
IV_TITLE = LV_TITLE ).
GR_OBJSEARCHPOPUP->SET_WINDOW_WIDTH( IV_WIDTH = 1024 ).
searchpopup->set_window_height( IV_HEIGHT = 480 ).
GR_OBJSEARCHPOPUP->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = 'SELECT_PRODUCT' )."#EC NOTEXT
GR_OBJSEARCHPOPUP->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
GR_OBJSEARCHPOPUP->OPEN( 'SEARCHPRODANDOBJECTS' ). "#EC NOTEXT
The sbove code is fine, in the Event Handler implementation, I have written the following code:
DATA: LR_CONTEXT_NODE TYPE REF TO CL_BSP_WD_CONTEXT_NODE,
LR_CURRENT TYPE REF TO IF_BOL_BO_PROPERTY_ACCESS,
LR_ENTITY TYPE REF TO IF_BOL_BO_PROPERTY_ACCESS,
LV_OUTBOUND_PLUG TYPE SEOCMPNAME,
LV_PRODUCT_ID TYPE CRMT_PRODUCT_ID.
FIELD-SYMBOLS: <LV_PROD_VALUE> TYPE ANY.
IF GR_OBJSEARCHPOPUP IS NOT BOUND.
RETURN.
ENDIF.
LR_CONTEXT_NODE = GR_OBJSEARCHPOPUP ->GET_CONTEXT_NODE( IV_CNODE_NAME = 'PRD' ). "#EC NOTEXT
LR_CURRENT ?= LR_CONTEXT_NODE->COLLECTION_WRAPPER->GET_CURRENT( ).
IF LR_CURRENT IS NOT BOUND.
RETURN.
ENDIF.
LV_OUTBOUND_PLUG = GR_OBJSEARCHPOPUP ->GET_FIRED_OUTBOUND_PLUG( ).
IF LV_OUTBOUND_PLUG = 'RETURNRESULT'. "#EC NOTEXT
CALL METHOD LR_CURRENT->GET_PROPERTY_AS_VALUE EXPORTING IV_ATTR_NAME = 'PRODUCT_ID' "#EC NOTEXT
IMPORTING EV_RESULT = LV_PRODUCT_ID.
IF LV_PRODUCT_ID IS INITIAL.
RETURN.
ENDIF.
LR_ENTITY ?= TYPED_CONTEXT->BTADMINH->COLLECTION_WRAPPER->GET_CURRENT( ).
LR_ENTITY->SET_PROPERTY( EXPORTING IV_ATTR_NAME = 'PRODUCT_ID'
IV_VALUE = LV_PRODUCT_ID ) .
ENDIF.
In the above, where I have bolded the test, I am getting the following error in the WebUI screen.
"An error occurred during event processing in view BTSHeader.htm
An exception has occurred Exception Class CX_CRM_CIC_PARAMETER_ERROR -
Entry parameter of method CL_CRM_BOL_ENTITY->SET_PROPERTY contains
value PRODUCT_ID, which is not allowed
Method: CL_CRM_BOL_ENTITY=>IF_BOL_BO_PROPERTY_ACCESS~SET_PROPERTY
Source Text Row: 52 "
Note:
But I am able to store the selected value from the popup in the "lv_product_ID" in the event handler.
Please suggest me the cause of the above error and the solution for the same.
I have referred ICCMP_IBASE componet for reference, which has implemented the similar functionality.
Waiting for your reply....
Regards,
Guru
It is reolved....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
8 | |
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.