Genil Class: Attributes: DESIGNTIME_MODE Constant Public Type CHAR1 Single-Character Indicator 'D' RUNTIME_MODE Constant Public Type CHAR1 Single-Character Indicator 'R' SHM_MODEL_LOAD_MODE Constant Public Type CHAR1 Single-Character Indicator 'S' GC_HEADER Constant Public Type CRMT_EXT_OBJ_NAME External Name of Object 'RAJA_CAT_H' GC_ITEM Constant Public Type CRMT_EXT_OBJ_NAME External Name of Object 'RAJA_CAT_ITEM' GC_SEARCH Constant Public Type CRMT_EXT_OBJ_NAME External Name of Object 'RAJA_SEARCH' GC_HEADER_ITEM_R Constant Public Type CRMT_RELATION_NAME External Name of Object 'RAJA_HEADER_ITEM' GC_SEARCH_R Constant Public Type CRMT_RELATION_NAME External Name of Object 'RAJA_SEARCH_H' GT_HEADER Instance Attribute Public Type TT_HEADER GT_ITEM Instance Attribute Public Type TT_ITEM GC_DELTA_CHANGED Constant Public Type CRMT_DELTA Delta Flag 'M' GC_DELTA_CREATED Constant Public Type CRMT_DELTA Delta Flag 'N' GC_DELTA_DELETED Constant Public Type CRMT_DELTA Delta Flag 'D'
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Genil Class:
Attributes:
DESIGNTIME_MODE Constant Public Type CHAR1 Single-Character Indicator 'D'
RUNTIME_MODE Constant Public Type CHAR1 Single-Character Indicator 'R'
SHM_MODEL_LOAD_MODE Constant Public Type CHAR1 Single-Character Indicator 'S'
GC_HEADER Constant Public Type CRMT_EXT_OBJ_NAME External Name of Object 'RAJA_CAT_H'
GC_ITEM Constant Public Type CRMT_EXT_OBJ_NAME External Name of Object 'RAJA_CAT_ITEM'
GC_SEARCH Constant Public Type CRMT_EXT_OBJ_NAME External Name of Object 'RAJA_SEARCH'
GC_HEADER_ITEM_R Constant Public Type CRMT_RELATION_NAMEExternal Name of Object 'RAJA_HEADER_ITEM'
GC_SEARCH_R Constant Public Type CRMT_RELATION_NAME External Name of Object 'RAJA_SEARCH_H'
GT_HEADER Instance Attribute Public Type TT_HEADER
GT_ITEM Instance Attribute Public Type TT_ITEM
GC_DELTA_CHANGED Constant Public Type CRMT_DELTA Delta Flag 'M'
GC_DELTA_CREATED Constant Public Type CRMT_DELTA Delta Flag 'N'
GC_DELTA_DELETED Constant Public Type CRMT_DELTA Delta Flag 'D'
Methods:
1.
IF_GENIL_APPL_MODEL~GET_OBJECT_PROPS:-
Returning@ VALUE( RT_OBJ_PROPS ) TYPE CRMT_OBJ_PROPERTIES_TAB Table of Business Object Attributes
method IF_GENIL_APPL_MODEL~GET_OBJECT_PROPS.
select * FROM zraja_obj into CORRESPONDING FIELDS OF TABLE rt_obj_props.
endmethod.
2.IF_GENIL_APPL_MODEL~GET_MODEL:-
VALUE( RT_RELATION_DET ) TYPE CRMT_RELATION_DETAIL_TAB
method IF_GENIL_APPL_MODEL~GET_MODEL.
select * FROM zraja_model into CORRESPONDING FIELDS OF TABLE rt_relation_det.
endmethod.
3.
IF_GENIL_APPL_INTLAY~GET_DYNAMIC_QUERY_RESULT:-
@78\QImporting@ IV_QUERY_NAME TYPE CRMT_EXT_OBJ_NAME External Name of Object
IS_QUERY_PARAMETERS TYPE GENILT_QUERY_PARAMETERS
IT_SELECTION_PARAMETERS TYPE GENILT_SELECTION_PARAMETER_TAB Complex Search Condition
IV_ROOT_LIST TYPE REF TO IF_GENIL_CONT_ROOT_OBJECTLIST Data Container - Root Object List Interface
DATA: lt_request_obj TYPE crmt_request_obj_tab, ls_selection_parameters TYPE crmt_genil_order_search, lr_selection_parameters TYPE REF TO crmt_genil_order_search.
DATA lv_str TYPE string. data lv_and TYPE string VALUE ' '. DATA ls_param LIKE LINE OF IT_SELECTION_PARAMETERS. DATA lt_header TYPE TABLE OF ZST_PC_HEADER. DATA ls_header TYPE ZST_PC_HEADER.
DATA LT_PRODUCT_CAT_ID TYPE RANGE OF ZST_PC_HEADER-CATALOGUE_ID. data ls_PRODUCT_CAT_ID like line of LT_PRODUCT_CAT_ID.
DATA LT_PRODUCT_CAT_DESC TYPE RANGE OF ZST_PC_HEADER-DESCRIPTION. data ls_PRODUCT_CAT_DESC like line of LT_PRODUCT_CAT_DESC.
DATA LT_CATEGORY TYPE RANGE OF ZST_PC_HEADER-category_id. data ls_CATEGORY like line of LT_CATEGORY.
DATA LT_SUB_CATEGORY TYPE RANGE OF ZST_PC_HEADER-subcategory_id. data ls_SUB_CATEGORY like line of LT_SUB_CATEGORY.
DATA LT_STATUS TYPE RANGE OF ZST_PC_HEADER-status. data ls_STATUS like line of LT_STATUS.
DATA LT_CREATED_ON TYPE RANGE OF ZST_PC_HEADER-created_on. data ls_CREATED_ON like line of LT_CREATED_ON.
DATA LT_CREATED_BY TYPE RANGE OF ZST_PC_HEADER-created_by. data ls_CREATED_BY like line of LT_CREATED_BY.
DATA LR_OBJECT TYPE REF TO IF_GENIL_CONT_ROOT_OBJECT.
CASE iv_query_name.
WHEN gc_search.
loop at it_selection_parameters into ls_param.
case ls_param-ATTR_NAME. when 'PRODUCT_CAT_ID'.
MOVE-CORRESPONDING LS_PARAM TO ls_PRODUCT_CAT_ID. APPEND ls_PRODUCT_CAT_ID TO lt_PRODUCT_CAT_ID.
when 'DESCRIPTION'. MOVE-CORRESPONDING ls_param to LS_PRODUCT_CAT_DESC. append LS_PRODUCT_CAT_DESC to LT_PRODUCT_CAT_DESC.
when 'CATEGORY_ID'. MOVE-CORRESPONDING ls_param to ls_CATEGORY. append ls_CATEGORY to lT_CATEGORY.
when 'SUBCATEGORY_ID'. MOVE-CORRESPONDING ls_param to ls_SUB_CATEGORY. append ls_SUB_CATEGORY to lt_SUB_CATEGORY.
when 'STATUS'. MOVE-CORRESPONDING ls_param to ls_status. append ls_status to lt_status.
when 'CREATED_ON'. MOVE-CORRESPONDING LS_PARAM TO LS_created_on. APPEND LS_created_on TO LT_created_on.
when 'CREATED_BY'. MOVE-CORRESPONDING LS_PARAM TO ls_created_by. APPEND ls_created_by TO Lt_created_by. endcase.
endloop.
IF LT_product_cat_id IS NOT INITIAL. CONCATENATE LV_STR ' ZRAJA_CAT_H~CATALOGUE_ID IN LT_PRODUCT_CAT_ID' INTO LV_STR SEPARATED BY SPACE. lv_and = ' AND '. ENDIF.
IF LT_PRODUCT_CAT_DESC IS NOT INITIAL. CONCATENATE LV_STR lv_and ' ZRAJA_CAT_H~DESCRIPTION IN LT_PRODUCT_CAT_DESC' INTO LV_STR SEPARATED BY SPACE. lv_and = ' AND '. ENDIF.
IF LT_category IS NOT INITIAL. CONCATENATE LV_STR lv_and ' ZRAJA_CAT_H~CATEGORY_ID IN LT_CATEGORY' INTO LV_STR SEPARATED BY SPACE. lv_and = ' AND '. ENDIF.
IF LT_sub_category IS NOT INITIAL. CONCATENATE LV_STR lv_and ' ZRAJA_CAT_H~SUB_CATEGORY_ID IN LT_SUB_CATEGORY' INTO LV_STR SEPARATED BY SPACE. lv_and = ' AND '. ENDIF.
IF LT_status IS NOT INITIAL. CONCATENATE LV_STR lv_and ' ZRAJA_CAT_H~STATUS IN LT_STATUS' INTO LV_STR SEPARATED BY SPACE. lv_and = ' AND '. ENDIF.
IF LT_created_on IS NOT INITIAL. CONCATENATE LV_STR lv_and ' ZRAJA_CAT_H~CREATED_ON IN LT_CREATED_ON' INTO LV_STR SEPARATED BY SPACE. lv_and = ' AND '. ENDIF.
IF LT_created_BY IS NOT INITIAL. CONCATENATE LV_STR lv_and ' ZRAJA_CAT_H~CREATED_BY IN LT_CREATED_BY' INTO LV_STR SEPARATED BY SPACE. lv_and = ' AND '. ENDIF.
SELECT * from ZRAJA_CAT_H INTO CORRESPONDING FIELDS OF TABLE gt_header WHERE (lv_str).
FIELD-SYMBOLS <ls_object> LIKE LINE OF ct_object_list.
LOOP AT ct_object_list ASSIGNING <ls_object>. <ls_object>-success = abap_true. ENDLOOP.endmethod.
5.
IF_GENIL_APPL_INTLAY~CREATE_OBJECTS:-
@78\QImporting@ IV_OBJECT_NAME TYPE CRMT_EXT_OBJ_NAME Type of Object to Be Created
IV_NUMBER TYPE INT4 DEFAULT 1 Number of Objects to Be Created
IT_PARAMETERS TYPE CRMT_NAME_VALUE_PAIR_TAB Parameter Table of Name-Value Pairs
IV_ROOT_LIST TYPE REF TO IF_GENIL_CONT_ROOT_OBJECTLIST Data Container - Root Object List Interface
method IF_GENIL_APPL_INTLAY~CREATE_OBJECTS.
data LS_PARAMETERS LIKE LINE OF gt_header. data LT_REQUEST_OBJ type CRMT_REQUEST_OBJ_TAB. data lr_object TYPE REF TO if_genil_cont_root_object. data: LV_GUID type CRMT_GENIL_OBJECT_GUID.
field-symbols <LINE> type CRMT_NAME_VALUE_PAIR. field-symbols <VALUE> type DATA.
case IV_OBJECT_NAME. when gc_header. "#EC NOTEXT* fill parameter structure from name value pair table call method FILL_STRUCT_FROM_NVP_TAB EXPORTING IT_PARAMETERS = IT_PARAMETERS CHANGING CS_PARAMETER = LS_PARAMETERS.
* create IV_NUMBER orders do IV_NUMBER times.
call function 'GUID_CREATE' IMPORTING EV_GUID_16 = LV_GUID.
field-symbols: <ls_OBJect> like LINE OF CT_OBJECT_LIST. data lv_key_h type ZCATELOUGE_ID. DATA ls_header LIKE LINE OF gt_header.* loop at CT_OBJECT_LIST assigning <ls_OBJect>. case <ls_OBJect>-OBJECT_NAME. when gc_header.
data LR_ROOT type ref to IF_GENIL_CONTAINER_OBJECT.
data LV_ROOT_NAME type CRMT_EXT_OBJ_NAME. data LV_cat_id type ZCATELOUGE_ID. data LV_ATTRIBUTES type ZST_PC_HEADER. data ls_header like LINE OF gt_header.
field-symbols: <REQ_OBJ> type CRMT_REQUEST_OBJ.
"Child Declarations
data LR_CHILDREN type ref to IF_GENIL_CONTAINER_OBJECTLIST. data LR_CHILD type ref to IF_GENIL_CONTAINER_OBJECT.
data LV_CHILD_NAME type CRMT_EXT_OBJ_NAME. data LV_KEY_ITEM type ZDE_ITEM_GUID. data LS_REQUEST_OBJECT type CRMT_REQUEST_OBJ. data ls_item like LINE OF gt_item.
@78\QImporting@ IV_ROOT_LIST TYPE REF TO IF_GENIL_CONT_ROOT_OBJECTLIST Data Container - Root Object List Interface
IV_RETURN_ROOT_LIST TYPE REF TO IF_GENIL_CONT_ROOT_OBJECTLIST Data Container - Root Object List Interface
ET_CHANGED_OBJECTS TYPE CRMT_GENIL_OBJ_INSTANCE_TABObject Table with Object Type and ID
method IF_GENIL_APPL_INTLAY~MODIFY_OBJECTS.
"Root/Header Declarations data: lr_root type ref to IF_GENIL_CONTAINER_OBJECT, lv_root_name type CRMT_EXT_OBJ_NAME.
data lv_cat_id TYPE ZCATELOUGE_ID.
data: LR_PROPS_OBJ type ref to IF_GENIL_OBJ_ATTR_PROPERTIES, LT_CHANGED_ATTR type CRMT_ATTR_NAME_TAB, LS_ATTRIBUTES type STR_HEADER, LV_GUID type CRMT_GENIL_OBJECT_GUID, LV_HEADER type ref to IF_GENIL_CONT_ROOT_OBJECT, ls_changed_object LIKE LINE OF ET_CHANGED_OBJECTS.
field-symbols: <HEADER_LINE> like LINE OF gt_header, <HEADER_OLD> type SIMPLE, <HEADER_NEW> type SIMPLE, <HEADER_NAME> type NAME_KOMP.
clear ET_CHANGED_OBJECTS.
lr_header = IV_ROOT_LIST->GET_FIRST( ).
check lr_header is bound.
lv_header_name = lr_header->GET_NAME( ).
case lv_header_name.
when GC_HEADER.
LV_HEADER = IV_ROOT_LIST->GET_FIRST( ).
while LV_HEADER is bound.
if LV_HEADER->GET_DELTA_FLAG( ) = GC_DELTA_CHANGED.
data: LV_CHILDREN_LIST type ref to IF_GENIL_CONTAINER_OBJECTLIST, LV_CHILD type ref to IF_GENIL_CONTAINER_OBJECT, LV_CHILD_NAME type CRMT_EXT_OBJ_NAME.
data: "LV_PROPS_OBJ type ref to IF_GENIL_OBJ_ATTR_PROPERTIES, LT_CHANGED_ATTR_ITEM type CRMT_ATTR_NAME_TAB, LS_ATTRIBUTES_ITEM type CRMT_GENIL_PARTNER_ATTR, Lv_KEY_CHILD type ZDE_ITEM_GUID, LT_RETURN type BAPIRET2_T, LV_MSG_CONT type ref to CL_CRM_GENIL_BAPI_MESS_CONT, LS_CHILD_OBJ_INST type CRMT_GENIL_OBJ_INSTANCE, LV_DELTA type CRMT_DELTA, "LV_CAT_ID type ZCATELOUGE_ID, ls_item_attr TYPE str_item, LV_HEADER1 type ref to IF_GENIL_CONTAINER_OBJECT, ls_item like LINE OF gt_item.
field-symbols: <ITEM_LINE> like LINE OF gt_item, <ITEM_OLD> type SIMPLE, <ITEM_NEW> type SIMPLE, <ITEM_NAME> type NAME_KOMP.
FIELD-SYMBOLS <ls_object> like line of ct_object_list. DATA lv_cat_id TYPE ZCATELOUGE_ID. DATA ls_header LIKE LINE OF gt_header. DATA ls_item LIKE LINE OF gt_item.
loop at ct_object_list ASSIGNING <ls_object>.
case <ls_OBJect>-OBJECT_NAME. when gc_header. CLEAR lv_cat_id. CALL METHOD cl_crm_genil_container_tools=>get_key_from_object_id EXPORTING iv_object_name = <ls_object>-object_name iv_object_id = <ls_object>-object_id IMPORTING es_key = lv_cat_id.
LOOP AT gt_header INTO ls_header WHERE CATALOGUE_ID = lv_cat_id .
MODIFY ZRAJA_CAT_H FROM ls_header.
LOOP AT gt_item INTO ls_item WHERE CATALOGUE_ID = lv_cat_id . MODIFY ZRAJA_ITEM FROM ls_item.
@7B\QReturning@ VALUE( RT_OBJ_PROPS ) TYPE CRMT_OBJ_PROPERTIES_TAB Table of Business Object Attributes
method IF_GENIL_APPL_MODEL~GET_OBJECT_PROPS.
select * FROM zraja_obj into CORRESPONDING FIELDS OF TABLE rt_obj_props.
endmethod.
Web Ui Part:1.
For Linking Product Id :
Under Attributes:-
@78\QImporting@ IV_PROPERTY TYPE STRING Feldeigenschaft -> Siehe Interfacekonstanten
IV_INDEX TYPE I OPTIONAL Zeilenindex bei Tabelle
IV_DISPLAY_MODE TYPE ABAP_BOOL DEFAULT ABAP_FALSE Display Mode?
VALUE( RV_VALUE ) TYPE STRING Wert
method GET_P_CATLOG_ID. CASE iv_property. WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype. rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link. WHEN if_bsp_wd_model_setter_getter=>fp_onclick. rv_value = 'PROCATINFO'. ENDCASE.endmethod.
Then Under Event Method:
@78\QImporting@ HTMLB_EVENT TYP
E REF TO CL_HTMLB_EVENT OPTIONAL
HTMLB_EVENT_EX TYPE REF TO IF_HTMLB_DATA OPTIONAL
method EH_ONPROCATINFO.
DATA: lv_index TYPE int4. DATA: lr_current TYPE REF TO if_bol_bo_property_access. DATA: lr_col type ref to cl_crm_bol_entity_col. DATA: lv_guid type crmt_object_guid. data: lr_core TYPE REF TO cl_crm_bol_core. data: lr_ent type ref to cl_crm_bol_entity, lr_property TYPE REF TO if_bol_bo_property_access. DATA: lr_data_collection TYPE REF TO if_bol_bo_col. DATA: lr_nav_srv TYPE REF TO if_crm_ui_navigation_service.
IV_PROPERTY TYPE STRING Feldeigenschaft -> Siehe Interfacekonstanten
IV_INDEX TYPE I OPTIONAL Zeilenindex bei Tabelle
IV_DISPLAY_MODE TYPE ABAP_BOOL DEFAULT ABAP_FALSE Display Mode?
VALUE( RV_VALUE ) TYPE STRING Wert
method GET_P_CATEGORY. CASE iv_property. WHEN if_bsp_wd_model_setter_getter=>FP_FIELDTYPE. rv_value = if_bsp_dlc_view_descriptor=>FIELD_TYPE_PICKLIST.* WHEN if_bsp_wd_model_setter_getter=>FP_SERVER_EVENT.
@78\QImporting@ IV_MODE TYPE CHAR1 DEFAULT IF_BSP_WD_MODEL_SETTER_GETTER=>RUNTIME_MODE Aufrufmodus
IV_INDEX TYPE I OPTIONAL Zeilenindex bei Tabelle
VALUE( RV_VALUEHELP_DESCRIPTOR ) TYPE REF TO IF_BSP_WD_VALUEHELP_DESCRIPTOR
method GET_V_CATEGORY. data lr_ddlb type ref to cl_crm_uiu_ddlb. data lt_select_table type BSP_WD_DROPDOWN_TABLE. data ls_select_table like line of lt_select_table. data lt_category type table of ZG1P_CATEGORY. data ls_category like line of lt_category. refresh lt_select_table. CREATE OBJECT LR_DDLB EXPORTING IV_SOURCE_TYPE = iv_mode. select CATEGORYID CATEGORYNAME from ZG1P_CATEGORY into CORRESPONDING FIELDS OF TABLE lt_category.
if lt_category is not INITIAL. insert INITIAL LINE INTO lt_select_table index 1. loop at lt_category into ls_category. ls_select_table-key = ls_category-CATEGORYID. ls_select_table-value = ls_category-CATEGORYNAME. append ls_select_table to lt_select_table. endloop.
FIELD-SYMBOLS: <rt_result> TYPE crms_thtmlb_search_field_info.
* data : lt_ddl TYPE CRMS_THTMLB_SEARCH_DDLB_NVP.
DATA lr_sq TYPE REF TO cl_crm_bol_dquery_service. DATA lr_sel TYPE REF TO if_bol_bo_col. DATA ls_sel TYPE genilt_selection_parameter. DATA lr_prop TYPE REF TO if_bol_bo_property_access.
data : catagory type string.
data lr_ddlb type ref to cl_crm_uiu_ddlb. data lt_select_table type CRMT_THTMLB_SEARCH_DDLB_NVP. data ls_select_table like line of lt_select_table. data lt_SUBcategory type table of ZG1P_SUB_CAT. data ls_SUBcategory like line of lt_SUBcategory. refresh lt_select_table.
CASE ls_sel-attr_name. WHEN 'CATEGORY'. catagory = ls_sel-low. endcase. lr_prop = lr_sel->get_next( ). endwhile. endif. endif.
select SUB_CATID SUB_DESC from ZG1P_SUB_CAT into CORRESPONDING FIELDS OF TABLE lt_SUBcategory where CATEGORYID = catagory.
if lt_subcategory is not INITIAL . insert INITIAL LINE INTO lt_select_table index 1. loop at lt_subcategory into ls_subcategory. ls_select_table-key = ls_subcategory-SUB_CATID. ls_select_table-value = ls_subcategory-SUB_DESC. append ls_select_table to lt_select_table. endloop. elseif lt_subcategory is INITIAL and catagory is NOT INITIAL. insert INITIAL LINE INTO lt_select_table index 1. endif.
loop at rt_result assigning <rt_result>. CASE <rt_result>-FIELD. when 'CATEGORY'. <rt_result>-server_event = 'DUMMY_EVENT'. WHEN 'SUBCATEGORY'. if lt_select_table is not initial. REFRESH <rt_result>-ddlb_options. <rt_result>-ddlb_options = lt_select_table. endif. ENDCASE. endloop.endmethod.
Then Under Sub CatId
method GET_P_SUBCATEGORY. CASE iv_property. WHEN if_bsp_wd_model_setter_getter=>FP_FIELDTYPE. rv_value = if_bsp_dlc_view_descriptor=>FIELD_TYPE_PICKLIST. ENDCASE.endmethod.
And
method GET_V_SUBCATEGORY.
data lr_ddlb type ref to cl_crm_uiu_ddlb. data lt_select_table type BSP_WD_DROPDOWN_TABLE. data ls_select_table like line of lt_select_table. data lt_category type table of ZG1P_SUB_CAT. data ls_category like line of lt_category. refresh lt_select_table. CREATE OBJECT LR_DDLB EXPORTING IV_SOURCE_TYPE = iv_mode. select SUB_CATID SUB_DESC from ZG1P_SUB_CAT into CORRESPONDING FIELDS OF TABLE lt_category.
if lt_category is not INITIAL. insert INITIAL LINE INTO lt_select_table index 1. loop at lt_category into ls_category. ls_select_table-key = ls_category-SUB_CATID. ls_select_table-value = ls_category-SUB_DESC. append ls_select_table to lt_select_table. endloop.
@78\QImporting@ HTMLB_EVENT TYPE REF TO CL_HTMLB_EVENT OPTIONAL
HTMLB_EVENT_EX TYPE REF TO IF_HTMLB_DATA OPTIONAL
method EH_ONNEW.
DATA LR_CORE TYPE REF TO CL_CRM_BOL_CORE. data lt_param type CRMT_NAME_VALUE_PAIR_TAB. DATA LR_ENTITY_COL TYPE REF TO IF_BOL_BO_COL. DATA LR_CONTROLLER TYPE REF TO ZL_ZG1_PCAT_BSPWDCOMPONE0_IMPL . DATA LR_ROOT TYPE REF TO CL_CRM_BOL_ENTITY.
method EH_ONDELETE. DATA: lr_ent TYPE REF TO cl_crm_bol_entity, lr_core TYPE REF TO cl_crm_bol_core, lr_coco TYPE REF TO ZL_ZG1_PCAT_BSPWDCOMPONE0_IMPL.
TRY.
lr_ent ?= me->typed_context->PCATH->collection_wrapper->get_current( ). IF lr_ent->is_locked( ) = abap_true OR lr_ent->lock( ) = abap_true. lr_ent->delete( ).
lr_core = cl_crm_bol_core=>get_instance( ). IF lr_core IS BOUND. lr_core->modify( ). ENDIF.
* refresh the item list of the component controller lr_coco ?= me->comp_controller. IF lr_coco IS BOUND. lr_coco->typed_context->PCATH->collection_wrapper->publish_current( ). me->op_default_back( ).
method EH_ONCANCEL. data lr_core type ref to cl_Crm_bol_core. DATA LR_TX TYPE REF TO IF_BOl_TRANSACTION_CONTEXT.
lr_Core = cl_crm_bol_core=>get_instance( ).
lr_tx ?= lr_core->get_transaction( ).
LR_TX->REVERT( ).*** me->op_default_back( ).
endmethod.
5.
EH_ONSAVE:
Importing@ HTMLB_EVENT TYPE REF TO CL_HTMLB_EVENT OPTIONAL
HTMLB_EVENT_EX TYPE REF TO IF_HTMLB_DATA OPTIONAL
method EH_ONSAVE.
DATA LR_ENTITY TYPE REF TO CL_CRM_BOL_ENTITY. DATA LR_CONTROLLER TYPE REF TO ZL_ZG1_PCAT_BSPWDCOMPONE0_IMPL . DATA LR_TX TYPE REF TO IF_BOl_TRANSACTION_CONTEXT. data lr_core type ref to cl_Crm_bol_core. DATA LS_ATTR TYPE ZST_G1_CATLOG_RESULT. DATA LR_MSG_CONT TYPE REF TO CL_CRM_GENIL_GLOBAL_MESS_CONT.* data lr_core type ref to cl_Crm_bol_core.