Zcrm Serv Con Include

Embed Size (px)

Citation preview

*&---------------------------------------------------------------------**& Include ZCRM_SERV_CONT_IN*&---------------------------------------------------------------------*TYPES : BEGIN OF ty_record, stp TYPE bu_partner, product_list TYPE comt_product_id, description TYPE string, product TYPE crmt_ordered_prod, quantity TYPE string, unit TYPE string, std_price TYPE string, dis TYPE string, pr_amount TYPE string, bill_cont TYPE string, scale_amt TYPE string, ppc TYPE string, protection TYPE string, tax TYPE string, END OF ty_record.DATA : lt_record TYPE TABLE OF ty_record, ls_record TYPE ty_record.TYPES : BEGIN OF ty_pragree, guid TYPE crmt_object_guid, stp TYPE bu_partner, product_list TYPE comt_product_id, description TYPE string, product TYPE crmt_ordered_prod, quantity TYPE string, unit TYPE string, std_price TYPE string, dis TYPE string, pr_amount TYPE string, bill_cont TYPE string, scale_amt TYPE string, ppc TYPE string, protection TYPE string, tax TYPE string, END OF ty_pragree.DATA : lt_pragree TYPE TABLE OF ty_pragree, ls_pragree TYPE ty_pragree.TYPES : BEGIN OF ty_scale_tab, scale_amt1 TYPE p decimals 2, scale_rate1 TYPE p decimals 2, END OF ty_scale_tab.DATA : lt_scale_tab TYPE TABLE OF ty_scale_tab, lt_scale_tab_t TYPE TABLE OF ty_scale_tab, ls_scale_tab TYPE ty_scale_tab.DATA : lv_string TYPE string.DATA : l_v1 TYPE string, l_v2 TYPE string.TYPES : BEGIN OF ty_final, stp TYPE bu_partner, product_list TYPE comt_product_id, description TYPE string, product TYPE crmt_ordered_prod, remarks TYPE string, END OF ty_final.DATA : lt_final TYPE TABLE OF ty_final, ls_final TYPE ty_final.DATA: lv_file_path TYPE string.DATA : lv_counter TYPE i.DATA: lt_header TYPE TABLE OF bapibus20001_header_ins, ls_header TYPE bapibus20001_header_ins, lt_item TYPE TABLE OF bapibus20001_item, ls_item TYPE bapibus20001_item, lt_partner TYPE TABLE OF bapibus20001_partner_ins, ls_partner TYPE bapibus20001_partner_ins, lt_status TYPE TABLE OF bapibus20001_status_ins, ls_status TYPE bapibus20001_status_ins, lt_product TYPE TABLE OF bapibus20001_product, ls_product TYPE bapibus20001_product, lt_prodlist TYPE TABLE OF bapibus20001_product_list, ls_prodlist TYPE bapibus20001_product_list, lt_input_fields TYPE TABLE OF bapibus20001_input_fields, ls_input_fields TYPE bapibus20001_input_fields, lt_schedule TYPE TABLE OF bapibus20001_schedlin, ls_schedule TYPE bapibus20001_schedlin, lt_save TYPE TABLE OF bapibus20001_guid_dis, ls_save TYPE bapibus20001_guid_dis, lt_saved TYPE TABLE OF bapibus20001_object_id, ls_saved TYPE bapibus20001_object_id , lv_guid TYPE crmt_object_guid, lv_item TYPE crmt_object_guid, lv_sched TYPE crmt_object_guid, lv_bill_cont TYPE string, lv_prod TYPE string .DATA : lr_cond_rec TYPE REF TO cl_crm_bol_entity, lr_core TYPE REF TO cl_crm_bol_core.DATA : ls_sub_rec LIKE ls_record, lt_record_temp LIKE lt_record, lt_rec_prod_list LIKE lt_record, ls_rec_prod_list LIKE ls_record.DATA : ls_ordprp_i_com TYPE crmt_ordprp_i_com, lt_ordprp_i_d_com TYPE crmt_ordprp_i_d_comt, ls_ordprp_i_d_com TYPE crmt_ordprp_i_d_com, lt_ordprp_objl_i_d_com TYPE crmt_ordprp_objl_i_d_comt, lt_field_names TYPE crmt_input_field_names_tab, ls_field_names TYPE crmt_input_field_names.TYPES : BEGIN OF ty_itm_dta, guid TYPE crmt_object_guid, resp_profile TYPE crmt_srv_escal, ser_profile TYPE crmt_srv_serwi, END OF ty_itm_dta.DATA : lt_itm_dta TYPE TABLE OF ty_itm_dta, ls_itm_dta TYPE ty_itm_dta.*&---------------------------------------------------------------------**& Form DISPLAY_FINAL_OP*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* p1 text* p1 text* p1 text* p1 text* get_related_entities( iv_relation_name = relation ). IF lcol_scale IS BOUND. lr_entity ?= lcol_scale->if_bol_bo_col~get_first( ). CHECK lr_entity IS BOUND. lr_entity->lock( ). lr_entity->switch_to_change_mode( ). TRY. CALL METHOD lr_entity->if_bol_bo_property_access~set_property_as_string EXPORTING iv_attr_name = 'SCALE_BASE_TYPE' iv_value = 'C'. CATCH cx_sy_conversion_error . ENDTRY. TRY. CALL METHOD lr_entity->if_bol_bo_property_access~set_property_as_string EXPORTING iv_attr_name = 'SCALE_TYPE' iv_value = 'D'. CATCH cx_sy_conversion_error . ENDTRY. TRY. CALL METHOD lr_entity->if_bol_bo_property_access~set_property_as_string EXPORTING iv_attr_name = 'SCALE_UNIT' iv_value = 'EA'. CATCH cx_sy_conversion_error . ENDTRY. lr_core->modify( ).* Create Scale Table FREE lcol_scale. FREE lr_entity.* REFRESH : lt_scale_tab_t, lt_scale_tab.** IF ls_pragree-scale_amt IS NOT INITIAL.* lv_string = ls_pragree-scale_amt.* DO .* SPLIT lv_string AT ':' INTO l_v1 l_v2.* ls_scale_tab-scale_amt1 = l_v1.* lv_string = l_v2.* SPLIT lv_string AT ':' INTO l_v1 l_v2.* ls_scale_tab-scale_rate1 = l_v1.* lv_string = l_v2.** IF l_v1 IS INITIAL.* EXIT.* ELSE.* INSERT ls_scale_tab INTO TABLE lt_scale_tab.* ENDIF.* ENDDO.** ENDIF.*Extra Entry in Scale* lt_scale_tab_t[] = lt_scale_tab[].* SORT lt_scale_tab_t ASCENDING BY scale_rate1.* READ TABLE lt_scale_tab_t INTO ls_scale_tab INDEX 1.* IF sy-subrc = 0.* DATA : lv_amt TYPE p DECIMALS 2,* lv_amt1 TYPE p DECIMALS 2.* lv_amt = ls_scale_tab-scale_rate1.* lv_amt1 = '0.01'.* lv_amt = lv_amt - lv_amt1.* ls_scale_tab-scale_amt1 = '9999999999999.999'.* ls_scale_tab-scale_rate1 = lv_amt.* INSERT ls_scale_tab INTO TABLE lt_scale_tab.* ENDIF. LOOP AT lt_scale_tab INTO ls_scale_tab. relation = 'REL_SCALECRMSET_CP'. lcol_scale ?= lr_cond_rec->get_related_entities( iv_relation_name = relation ). CHECK lcol_scale IS BOUND. lr_entity ?= lcol_scale->if_bol_bo_col~get_first( ). CHECK lr_entity IS BOUND. CALL METHOD lr_entity->if_bol_bo_property_access~get_properties IMPORTING es_attributes = ls_table. ls_table-/sapcnd/lin_value_01_001 = ls_scale_tab-scale_amt1. ls_table-kbetr_prt = ls_scale_tab-scale_rate1. FREE lr_entity. lr_entity ?= lr_cond_rec->create_related_entity( iv_relation_name = relation ). lr_entity->if_bol_bo_property_access~set_properties( EXPORTING is_attributes = ls_table ). lcol_scale->if_bol_bo_col~add( lr_entity ). lr_core->modify( ). ENDLOOP. ENDIF. ENDIF.ENDFORM. " CREATE_SCALE*&---------------------------------------------------------------------**& Form SERV_ORG*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text*