Advertisement
golim22

Untitled

Jun 14th, 2022
3,121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 3.50 KB | None | 0 0
  1.   METHOD eh_onsave.
  2.     DATA lr_entity  TYPE REF TO cl_crm_bol_entity.
  3.     DATA lr_tx      TYPE REF TO if_bol_transaction_context.
  4.     DATA lr_core    TYPE REF TO cl_crm_bol_core.
  5.     CALL METHOD super->eh_onsave
  6.       EXPORTING
  7.         htmlb_event    = htmlb_event
  8.         htmlb_event_ex = htmlb_event_ex.
  9.     IF  1 = 1.
  10.  
  11.       DATA: lv_concatinated_str TYPE string,
  12.             dot                 TYPE c VALUE '.',
  13.             lengthb             TYPE i,
  14.             lengths             TYPE i,
  15.             lr_adminh           TYPE REF TO cl_crm_bol_entity,
  16.             ls_admin            TYPE crmst_adminh_btil.
  17.  
  18.  
  19.       lr_core = cl_crm_bol_core=>get_instance( ).
  20.       TRY.
  21.           lr_core->start_up( EXPORTING iv_appl_name = 'ONEORDER'
  22.                                        iv_display_mode_support = abap_true ).
  23.         CATCH cx_crm_genil_general_error.               "#EC NO_HANDLER
  24.       ENDTRY.
  25.  
  26.       lr_entity ?= me->typed_context->btadminh->collection_wrapper->get_current( ).
  27.  
  28.       lr_entity->switch_to_change_mode( ).
  29.       DATA(lv_subject_id) = lr_entity->get_property_as_string( 'DESCRIPTION' ).
  30.  
  31.       FIND '.' IN lv_subject_id.
  32.       IF sy-subrc = 0.
  33.         REPLACE dot WITH ' ' INTO lv_subject_id.
  34.       ELSE.
  35.         CONCATENATE lv_subject_id dot INTO lv_subject_id.
  36.       ENDIF.
  37.  
  38.  
  39.       DATA(lr_change) = lr_entity->get_related_entity( iv_relation_name = 'BTHeaderOpportunityExt' ).
  40.       lr_change->switch_to_change_mode( ).
  41.  
  42.       DATA(lv_end) = lr_change->get_property_as_string( 'EXPECT_END' ).
  43.       DATA(lv_start) = lr_change->get_property_as_string( 'STARTDATE' ).
  44.  
  45.       DATA:
  46.         lv_da_e(8)    TYPE c,
  47.         lv_year_e(4)  TYPE c,
  48.         lv_month_e(2) TYPE c,
  49.         lv_day_e(2)   TYPE c.
  50.  
  51.       lv_year_e = lv_end+6(4).
  52.       lv_month_e = lv_end+3(2).
  53.       lv_day_e = lv_end+0(2).
  54.  
  55.       CONCATENATE lv_year_e lv_month_e lv_day_e INTO lv_da_e.
  56.  
  57.       DATA:
  58.         lv_da_s(8)    TYPE c,
  59.         lv_year_s(4)  TYPE c,
  60.         lv_month_s(2) TYPE c,
  61.         lv_day_s(2)   TYPE c.
  62.  
  63.       lv_year_s = lv_start+6(4).
  64.       lv_month_s = lv_start+3(2).
  65.       lv_day_s = lv_start+0(2).
  66.  
  67.       CONCATENATE lv_year_s lv_month_s lv_day_s INTO lv_da_s.
  68.  
  69.       DATA: edays TYPE i,
  70.             lv_da_s_d TYPE dats,
  71.             lv_da_e_d TYPE dats.
  72.  
  73. lv_da_s_d  = lv_da_s.
  74. lv_da_e_d  = lv_da_e.
  75.  
  76.       CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
  77.         EXPORTING
  78.           i_date_from = lv_da_s_d
  79.           i_date_to   = lv_da_e_d
  80. *         I_FLG_SEPARATE = ' '
  81.         IMPORTING
  82.           e_days      = edays.
  83.  
  84.  
  85.       DATA lv_difference_string TYPE string.
  86.  
  87.       lv_difference_string = edays.
  88.  
  89.       CONCATENATE lv_subject_id ' ' lv_difference_string INTO lv_subject_id.
  90.  
  91.       lr_entity->if_bol_bo_property_access~set_property( iv_attr_name = 'DESCRIPTION'
  92.                                                             iv_value     = lv_subject_id ).
  93.  
  94.       DATA(lv_recycled) = lr_change->get_property_as_string( 'ZZFLD0000CI' ).
  95.  
  96.       IF lv_recycled = 'X'.
  97.         lr_change->if_bol_bo_property_access~set_property( iv_attr_name = 'ZZFLD0000CI'
  98.                                                             iv_value     = '' ).
  99.       ENDIF.
  100.  
  101.  
  102.       IF lv_recycled = ''.
  103.         lr_change->if_bol_bo_property_access~set_property( iv_attr_name = 'ZZFLD0000CI'
  104.                                                             iv_value     = 'X' ).
  105.       ENDIF.
  106.  
  107.  
  108.  
  109.       lr_core->modify( ).
  110.       IF 1 = 1.
  111.       ENDIF.
  112.     ENDIF.
  113.   ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement