Method IF IF Data
Method IF IF Data
IF sy-uname = 'APRIYA'.
IF gv_post = abap_true.
DATA(ls_item) = im_item->get_data( ).
ls_item-bednr = 'TEST_2023'.
im_item->set_data( ls_item ).
CLEAR gv_post.
ENDIF.
ENDIF.
RETURN.
ENDMETHOD.
METHOD if_ex_me_process_po_cust~check.
* IF sy-uname = 'APRIYA'.
* IF sy-ucomm = 'MESAVE'.
*
* DATA: lt_orders TYPE zaif_ptm_i043_order_detials,
* ls_orders TYPE zsptm_i043_key_data.
*
* DATA(ls_header) = im_header->get_data( ).
* DATA(lt_items) = im_header->get_items( ).
* LOOP AT lt_items ASSIGNING FIELD-SYMBOL(<lfs_item>).
* DATA(ls_item) = <lfs_item>-item->get_data( ).
* lt_orders-order_data = VALUE #( BASE lt_orders-order_data[]
( vbeln = ls_item-ebeln posnr = ls_item-ebelp werks = ls_item-werks ) ).
* ENDLOOP.
*
* zcl_stp_i042_sto_replic_kiwi=>get_instance( )->send_data_call_off(
* EXPORTING
* it_orders = lt_orders ).
*
* ENDIF.
* ENDIF.
ENDMETHOD.
METHOD if_ex_me_process_po_cust~post.
* IF sy-uname = 'APRIYA'
*
* OR sy-uname = 'PKARNATI'.
*
* DATA: lt_lines TYPE TABLE OF ekpo,
** ls_item TYPE mepoitem,
* ls_test TYPE REF TO if_purchase_order_item_mm,
* lv_identifier TYPE char1.
*
*
* DATA(ls_header) = im_header->get_data( ).
* DATA(lt_items) = im_header->get_items( ).
*
* CONSTANTS: lc_pot TYPE char16 VALUE '(SAPLMEPO)POT[]'.
*
* ASSIGN (lc_pot) TO FIELD-SYMBOL(<lfs_pot>).
*
** "calling call off class
* DATA(go_sto_replication) = zcl_stp_i042_sto_replic_kiwi=>get_instance(
).
*
* LOOP AT lt_items ASSIGNING FIELD-SYMBOL(<lfs_item>).
* DATA(ls_item) = <lfs_item>-item->get_data( ).
* ls_item-bednr = 'TEST_I042'.
* <lfs_item>-item->set_data( ls_item ).
* gv_post = abap_true.
*
** APPEND ls_item TO lt_lines.
** im_header->set_conditions( ls_item ).
** im_header->set_data( ls_item ).
*
** im_header->SET_CONDITIONS( ls_item ).
* ls_test = <lfs_item>-item.
* me->if_ex_me_process_po_cust~process_item( ls_test ).
* ENDLOOP.
*
*
**--> Filter1
** lt_lines = lt_items[].
**
** CALL METHOD zcl_stp_po_sto_outbound=>determine_sheet_or_box
** EXPORTING
** it_ekpo = lt_lines[]
** CHANGING
** cv_identifier = lv_identifier.
*
* ENDIF.
RETURN.
ENDMETHOD. METHOD hold_sto_order.
*&---------------------------------------------------------------------*
* Class Name : ZCL_OTC_E001_STO_HOLD
* Method name : HOLD_STO_ORDER
* Author : Shefna Muhammed
* Date : 09/26/2023
* Transport # : DS4K912518
*----------------------------------------------------------------------*
* Description: : Method used to put hold STO export order based
* custom compliance table entry
*----------------------------------------------------------------------*
* MODIFICATION HISTORY
*----------------------------------------------------------------------*
* Transport | Charm No | Author ID | Date | Description *
*
************************************************************************
INCLUDE mm_messages_mac.
DATA: lt_items TYPE STANDARD TABLE OF mepoitem,
lt_poitem_kunnr TYPE STANDARD TABLE OF gty_kunnr,
lv_custombroker TYPE kunn2,
lv_importerofrecord TYPE kunn2,
lv_destin_country TYPE char2,
lv_fromcountry TYPE land1.
CLEAR : lt_items ,
lv_destin_country ,
lv_fromcountry .
SELECT plant,
country FROM zz1_otc_e001_plant_country
WHERE plant = @lv_supplying_plant
INTO TABLE @DATA(lt_country).
IF sy-subrc <> 0.
MESSAGE e001(zotc_msg). "No Plant country found
ELSE.
lv_destin_country = VALUE #( lt_country[ plant =
lv_supplying_plant ]-country OPTIONAL ).
ENDIF.
ENDIF.
"Get the source country
IF lt_purchaseorderitem IS NOT INITIAL.
SELECT plant,
country
FROM zz1_otc_e001_plant_country
FOR ALL ENTRIES IN @lt_poitem_new
WHERE plant = @lt_poitem_new-werks
INTO TABLE @DATA(lt_fromcountry).
IF sy-subrc <> 0.
MESSAGE e001(zotc_msg). "No Plant country found
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDMETHOD.
METHOD get_partner_function.
*&---------------------------------------------------------------------*
* Class Name : ZCL_OTC_E001_STO_HOLD
* Method name : GET_PARTNER_FUNCTION
* Author : Shefna Muhammed
* Date : 09/26/2023
* Transport # : DS4K912518
*----------------------------------------------------------------------*
* Description: : Method used to put get custom PF details
*----------------------------------------------------------------------*
* MODIFICATION HISTORY
*----------------------------------------------------------------------*
* Transport | Charm No | Author ID | Date | Description *
*
************************************************************************
DATA : lr_partnerfun TYPE RANGE OF parvw.
CLEAR : et_partner,
lr_partnerfun.
IF it_kunnr IS NOT INITIAL.
SELECT customer,
partnerfunction,
bpcustomernumber
FROM i_custsalespartnerfunc_2
INTO TABLE @et_partner
FOR ALL ENTRIES IN @it_kunnr
WHERE customer = @it_kunnr-kunnr AND
partnerfunction IN @lr_partnerfun.
IF sy-subrc <> 0.
CLEAR et_partner.
ENDIF.
ENDIF.
ENDMETHOD.
METHOD if_ex_me_process_po_cust~process_header.
* RETURN.
*----------------------------------------------------------------------*
* Class : ZCL_STP_E030_DOC_TYP
* Method : PROCESS_HEADER
* RICEFW ID/Defect : STP_E030
* Author : Glberto Cuevas / Anupam /Prashanth
* Date : 20/09/2023
* SAP Transport Req.# : DS4K912237
* Release : D1
*----------------------------------------------------------------------*
* Description : Post
*----------------------------------------------------------------------*
CONSTANTS:
lc_sign TYPE char01 VALUE 'I',
lc_option TYPE char02 VALUE 'EQ',
lc_spare_parts TYPE mtart VALUE 'ERSA',
lc_maintenance TYPE mtart VALUE 'IBAU',
lc_sto TYPE bsart VALUE 'UB',
lc_intra TYPE bsart VALUE 'ZSR',
lc_isto TYPE bsart VALUE 'ZIC',
lc_inter TYPE bsart VALUE 'ZSRI',
lc_interim TYPE bsart VALUE 'ZINT',
lc_standard TYPE bsart VALUE 'NB',
lc_inter_intra_acc_group TYPE ktokk VALUE 'ZWIC',
lc_zstr TYPE bsart VALUE 'ZSTR',
lc_mat_type TYPE c LENGTH 20 VALUE 'ZSTP_E030_MAT_TYPE'.
IF gv_is_active = abap_false.
RETURN.
ENDIF.
DATA(ls_header) = im_header->get_data( ).
DATA(lt_items) = im_header->get_items( ).
lv_pr_no = ls_item-banfn.
ENDIF.
ENDLOOP.
option = ls_constant-opti
low
= ls_constant-low ) ).
*" Header details
IF ls_header-lifnr IS NOT INITIAL.
SELECT SINGLE ktokk
FROM zcds_stp_e030_vendor
INTO @DATA(lv_vendor_account)
WHERE lifnr = @ls_header-lifnr.
IF sy-subrc <> 0.
CLEAR lv_vendor_account.
ENDIF.
ENDIF.
IF lv_supplying_company_code = lv_receiving_company_code.
* "Same company code (INTRACOMPANY)
DATA(lv_po_document_type) = COND #( WHEN lv_material_type IN
lr_material_type
AND lr_material_type IS NOT
INITIAL
THEN lc_intra "ZSR
ELSE lc_sto "UB
).
ELSE.
"Different company code (INTERCOMPANY)
lv_po_document_type = COND #( WHEN lv_material_type IN
lr_material_type
AND lr_material_type IS NOT INITIAL
THEN lc_inter "ZSRI
ELSE lc_isto "ZIC
).
ENDIF.
r_enabled = abap_false.
"Get Switchframe work details for On/Off
zcl_util_switch_framework=>get_enhancements(
EXPORTING
iv_prog_name = lc_program_name
iv_switch_name = lc_switch_name
IMPORTING
et_enhancements = DATA(lt_enhancement) ).
METHOD check_po.
*----------------------------------------------------------------------*
* Class : ZCL_STP_E025_STO_CHECK
* Method : CHECK_PO
* RICEFW ID/Defect : STP_E025
* Author : Glberto Cuevas
* Date : 7/06/2023
* SAP Transport Req.# : DS4K906378
* Release : D1
*----------------------------------------------------------------------*
* Description : Get data and determine if STO is valid
*----------------------------------------------------------------------*
CONSTANTS:
lc_sign TYPE char01 VALUE 'I',
lc_option TYPE char02 VALUE 'EQ',
lc_machine_id TYPE atnam VALUE 'MACHINE_ID',
lc_max_roll_width TYPE atnam VALUE 'MAX_ROLL_WIDTH',
lc_min_roll_width TYPE atnam VALUE 'MIN_ROLL_WIDTH',
lc_paper_grade TYPE atnam VALUE 'GRADE_CODE', "Change by GCUEVAS4
lc_form TYPE atnam VALUE 'FORM',
lc_roll TYPE atwrt VALUE 'R'.
DATA:
lt_input_plants TYPE RANGE OF werks_d,
lt_objky TYPE RANGE OF ibobjkey,
lt_stp TYPE RANGE OF kunnr,
lt_config TYPE ibco2_instance_tab2,
lt_chara TYPE STANDARD TABLE OF gty_characteristics,
lv_material TYPE matnr,
lt_purchase_order_item TYPE tab_mepoitem.
ENDIF.
ENDLOOP.
IF cv_failed = abap_true.
MESSAGE e022(zstp_msg).
ENDIF.
ENDIF.
ENDIF.
IF cv_failed = abap_false.
* If the entry exists, check if the widths or the delivery date are outside
of the ranges in table
LOOP AT lt_preference ASSIGNING FIELD-SYMBOL(<lfs_preference>)
WHERE shiptoparty = lv_plant_customer
AND papergrade = lv_paper_grade
"Change by GCUEVAS4
AND mill = is_purchaseorder-reswk
AND machine_id = lv_machine
AND transportationmode = ls_item-zz1_stp_e026_transpor_pdi.
"Change by GCUEVAS4
DATA:
lt_input_plants TYPE RANGE OF werks_d,
lt_objky TYPE RANGE OF ibobjkey,
lt_stp TYPE RANGE OF kunnr,
lt_config TYPE ibco2_instance_tab2,
lt_chara TYPE STANDARD TABLE OF gty_characteristics,
lv_material TYPE matnr,
lt_purchase_order_item TYPE tab_mepoitem.
IF lv_form NE lc_roll.
CONTINUE.
ENDIF.
* Add error message if the entry exists in embargo
IF line_exists( lt_embargo[ shiptoparty = lv_plant_customer
* material = ls_item-matnr
"CHANGES MADE BY ATHAKUR4
mill = is_purchaseorder-reswk
machineid = lv_machine
papergrade = lv_paper_grade ] ) .
"Change by GCUEVAS4
cv_failed = abap_true.
ENDIF.
ENDLOOP.
IF cv_failed = abap_true.
MESSAGE e022(zstp_msg).
ENDIF.
ENDIF.
ENDIF.
IF cv_failed = abap_false.
* If the entry exists, check if the widths or the delivery date are outside
of the ranges in table
LOOP AT lt_preference ASSIGNING FIELD-SYMBOL(<lfs_preference>)
WHERE shiptoparty = lv_plant_customer
AND papergrade = lv_paper_grade
"Change by GCUEVAS4
AND mill = is_purchaseorder-reswk
AND machine_id = lv_machine
AND transportationmode = ls_item-zz1_stp_e026_transpor_pdi.
"Change by GCUEVAS4
"Check if the ordertype is allowed and the processing user is dialog type
IF iv_doctype IN lt_allowed_doctypes
AND sy-tcode IN lt_allowed_tcodes
AND lv_user = sy-uname.
r_process = abap_true.
ENDIF.
ENDMETHOD.
METHOD get_internal_atnam.
*----------------------------------------------------------------------*
* Class : ZCL_STP_E025_STO_CHECK
* Method : GET_INTERNAL_ATNAM
* RICEFW ID/Defect : STP_E025
* Author : Glberto Cuevas
* Date : 7/06/2023
* SAP Transport Req.# : DS4K906378
* Release : D1
*----------------------------------------------------------------------*
* Description : Get internal number for characteristic name
*----------------------------------------------------------------------*
CALL FUNCTION 'CONVERSION_EXIT_ATINN_INPUT'
EXPORTING
input = iv_chara_name
IMPORTING
output = r_atinn.
ENDMETHOD.