Advertisement
Guest User

Untitled

a guest
Oct 26th, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 3.37 KB | None | 0 0
  1. FORM determine_partner_wm_not USING i_viqmel TYPE viqmel is_act_bo_tsk TYPE ztwpm_act_bo_tsk
  2.       iv_parvw CHANGING cs_iviqmsm TYPE wqmsm.
  3.  
  4.   DATA: lv_vaplz        TYPE teregplantwc-vaplz,
  5.         lt_return       TYPE TABLE OF bapiret2,
  6.         lt_costs_sum    TYPE TABLE OF bapi_alm_order_costs_sum_e,
  7.         ls_searchparams TYPE bapi_isufinder_efindpar,
  8.         lt_searchresult TYPE TABLE OF bapi_isufinder_result.
  9.  
  10.   CHECK cs_iviqmsm-parnr IS INITIAL.
  11.  
  12.   cs_iviqmsm-parvw = iv_parvw.
  13.  
  14.   SELECT SINGLE nrart INTO @DATA(lv_nrart) FROM tpar WHERE parvw = @iv_parvw.
  15.  
  16.   IF i_viqmel-qmart NE 'Z3'.
  17.     SELECT SINGLE iloan FROM qmih INTO @DATA(lv_iloan) WHERE qmnum = @i_viqmel-qmnum.
  18.   ELSE.
  19.     lv_iloan = i_viqmel-iloan.
  20.   ENDIF.
  21.  
  22.   SELECT SINGLE swerk, tplnr FROM iloa INTO @DATA(ls_iloa) WHERE iloan = @lv_iloan.
  23.  
  24.   ls_searchparams-installation = cs_iviqmsm-zzanlage.
  25.  
  26.   CALL FUNCTION 'BAPI_ISUFINDER_FINDOBJOFDATA'
  27.     EXPORTING
  28.       objecttype       = 'CONNOBJ'
  29.       searchparameters = ls_searchparams
  30.     TABLES
  31.       searchresult     = lt_searchresult.
  32.  
  33.   READ TABLE lt_searchresult ASSIGNING FIELD-SYMBOL(<ls_searchresult>) INDEX 1.
  34.   CHECK sy-subrc = 0.
  35.  
  36.   IF lv_nrart = 'A'.
  37.  
  38.     IF iv_parvw = 'ZI'.
  39.  
  40.       IF cs_iviqmsm-zzilart IS INITIAL OR ( i_viqmel-qmgrp = 'ZNEWCONN' AND i_viqmel-qmcod = 'NEWS' ).
  41.         SELECT SINGLE ilart FROM /hepedm/tew_0003 INTO @DATA(lv_ilart) WHERE
  42.           codegrp = @is_act_bo_tsk-codegruppe AND code = @is_act_bo_tsk-code.
  43.       ELSE.
  44.         lv_ilart = cs_iviqmsm-zzilart.
  45.       ENDIF.
  46.  
  47.       SELECT SINGLE ilatx FROM t353i_t INTO @DATA(lv_ilatx) WHERE spras = '6' AND ilart = @lv_ilart.
  48.       IF sy-subrc = 0.
  49.  
  50.         DATA(lv_fin_activity) = substring_before( val = lv_ilatx sub = ` ` ).
  51.  
  52.         IF lv_fin_activity = '2713'.
  53.           DATA(fin_code) = '1'.
  54.         ELSEIF lv_fin_activity CP '27++'.
  55.           fin_code = '2'.
  56.         ELSE.
  57.           MESSAGE e144(zwpm).
  58.         ENDIF.
  59.  
  60.         CALL FUNCTION 'BAPI_ALM_ORDER_GET_DETAIL'
  61.           EXPORTING
  62.             number       = i_viqmel-aufnr
  63.           TABLES
  64.             et_costs_sum = lt_costs_sum
  65.             return       = lt_return.
  66.  
  67.         READ TABLE lt_costs_sum ASSIGNING FIELD-SYMBOL(<ls_costs_sum>) INDEX 1.
  68.         IF sy-subrc = 0.
  69.           IF <ls_costs_sum>-total_costs_plan GE '40000'.
  70.             DATA(lv_cost_est) = 2.
  71.           ELSE.
  72.             lv_cost_est = 1.
  73.           ENDIF.
  74.  
  75.           SELECT SINGLE regiogroup FROM ehauisu INTO @DATA(lv_regiogroup) WHERE haus = @ls_iloa-tplnr.
  76.           IF sy-subrc = 0.
  77.             SELECT SINGLE partner_ou FROM ztwpm_det_orguni INTO @cs_iviqmsm-parnr WHERE cuobj_plant = @ls_iloa-swerk
  78.               AND cuobj_regiogroup = @lv_regiogroup AND fin_activity = @fin_code AND cost_estimation = @lv_cost_est.
  79.           ENDIF.
  80.         ENDIF.
  81.       ENDIF.
  82.  
  83.     ELSE.
  84.  
  85.       zcl_wpm_workcenter_utils=>get_workcenter(
  86.         EXPORTING
  87.           iv_haus         = CONV haus( <ls_searchresult>-objkey )    " Functional Location
  88.           iv_codegrp      = is_act_bo_tsk-codegruppe    " Code Group
  89.           iv_code         = is_act_bo_tsk-code    " Code
  90.         IMPORTING
  91.           ev_vaplz        = lv_vaplz    " Main work center for maintenance tasks
  92.           ev_plant        = cs_iviqmsm-zzworkcenter_plant    " Plant
  93.       ).
  94.  
  95.       cs_iviqmsm-parnr = lv_vaplz.
  96.  
  97.     ENDIF.
  98.  
  99.   ENDIF.
  100.  
  101. ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement