Update (WMATGRP02) Material assignment to article Hierarchy using BAPI

 *&---------------------------------------------------------------------*

*& Report ZMM_MAT_ARTICLE_HIERARCHY
*&---------------------------------------------------------------------*
*& Program        : ZMM_MAT_ARTICLE_HIERARCHY
*& Author         : King Of ABAP'r
*& Created on     : 2023
*& Requested By   : Functional 
*& Description    : Material assignment to article hireachy(WMATGRP02)
*&---------------------------------------------------------------------*
REPORT zmm_mat_article_hierarchy.

INCLUDE zmm_mat_article_hierarchy_top.
INCLUDE zmm_mat_article_hierarchy_sel.
INCLUDE zmm_mat_article_hierarchy_f01.

START-OF-SELECTION.
*** Get the records
PERFORM get_data.

*&---------------------------------------------------------------------*
*& Include          ZMM_MAT_ARTICLE_HIERARCHY_TOP
*&---------------------------------------------------------------------*

TYPES:BEGIN OF ty_final,
        hier_id       TYPE wrf_hier_cnt,
        matnr         TYPE matnr,
        node          TYPE wrf_struc_node,
        date_from(10TYPE c"wrf_date_from,
        date_to(10)   TYPE c"wrf_date_to,
        mainflg       TYPE wrf_main_flag,
      END OF ty_final.


DATA:wa_final TYPE ty_final,
     it_final TYPE TABLE OF ty_final.

DATAwa_WRF_MATGRP_SKU LIKE wrf_matgrp_sku.

*&---------------------------------------------------------------------*
*& Include          ZMM_MAT_ARTICLE_HIERARCHY_SEL
*&---------------------------------------------------------------------*
SELECTION-SCREEN:BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
  PARAMETERS:p_file TYPE rlgrap-filename.
SELECTION-SCREEN:END OF BLOCK b1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM file_upload.

*&---------------------------------------------------------------------*
*& Include          ZMM_MAT_ARTICLE_HIERARCHY_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form file_upload
*&---------------------------------------------------------------------*

FORM file_upload .
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  syst-cprog
      dynpro_number syst-dynnr
      field_name    'P_FILE'
    IMPORTING
      file_name     p_file.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*

FORM get_data .
  DATA:
    t_raw                    TYPE truxs_t_text_data,
    lv_matnr                 TYPE matnr18,
    lt_hierarchy_items       TYPE bapi_wrf_hier_ch_items_tty,
    ls_hierarchy_data        TYPE bapi_wrf_hier_change_head,
    lt_hierarchy_structure   TYPE bapi_wrf_hier_ch_struc_tty,
    lt_description_hierarchy TYPE bapi_wrf_desc_ch_hier_tty,
    lt_description_structure TYPE bapi_wrf_desc_ch_struc_tty,
    lt_extension_in          TYPE bapi_wrf_extension_tty,
    lt_return                TYPE bapi_wrf_return_tty,
    ls_testrun               TYPE bapi_wrf_testrun_sty.

  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
      i_line_header        'X'
      i_tab_raw_data       t_raw
      i_filename           p_file
    TABLES
      i_tab_converted_data it_final.

  IF it_final IS INITIAL.
    MESSAGE 'NO Records Found' TYPE 'E'.
  ENDIF.

  DATA:lv_date_from(10TYPE c,
       lv_date_to       TYPE sy-datum VALUE '99991231'.

  LOOP AT it_final INTO wa_final.

    CLEARlt_hierarchy_items.

    APPEND INITIAL LINE TO lt_hierarchy_items ASSIGNING FIELD-SYMBOL(<ls_hierarchy_items>).

    <ls_hierarchy_items>-change         'I'.
    <ls_hierarchy_items>-matnr          |{ wa_final-matnr ALPHA IN }|.
    <ls_hierarchy_items>-mainflg        wa_final-mainflg.
    <ls_hierarchy_items>-node           wa_final-node.
*    <ls_hierarchy_items>-matnr_long     = |{ wa_final-matnr ALPHA = IN }|.
    ls_hierarchy_data-hier_id           wa_final-hier_id.
    <ls_hierarchy_items>-date_from      sy-datum.
    <ls_hierarchy_items>-date_to        lv_date_to.

    CALL FUNCTION 'BAPI_WRF_MATGRP_CHANGE'
      EXPORTING
        hierarchy_data        ls_hierarchy_data
        testrun               ls_testrun
        hierarchy_structure   lt_hierarchy_structure
        description_hierarchy lt_description_hierarchy
        description_structure lt_description_structure
        hierarchy_items       lt_hierarchy_items
        extension_in          lt_extension_in
      IMPORTING
        return                lt_return.

    READ TABLE lt_return TRANSPORTING NO FIELDS WITH KEY type 'E'.
    IF sy-subrc NE 0.
      MESSAGE 'Successfully uploaded records' TYPE 'S'.
    ELSE.
      LOOP AT lt_return INTO DATA(ls_returnWHERE type 'E'
                                               AND type 'A'.
        WRITE/ ls_return-message.
      ENDLOOP.
    ENDIF.

  ENDLOOP.

*    wa_wrf_matgrp_sku-hier_id = wa_final-hier_id.
*    lv_matnr = |{ wa_final-matnr ALPHA = IN }|.
*    wa_wrf_matgrp_sku-matnr   = lv_matnr.
*    wa_wrf_matgrp_sku-node    = wa_final-node.
*
*    CLEAR:lv_date_from.
*    CONCATENATE  wa_final-date_from+6(4) wa_final-date_from+3(2) wa_final-date_from+0(2) INTO wa_wrf_matgrp_sku-date_from."
*
*    CONCATENATE  lv_date_to+6(4) lv_date_to+3(2) lv_date_to+0(2) INTO wa_wrf_matgrp_sku-date_to.
*    wa_wrf_matgrp_sku-mainflg = 'X'.
*
*    INSERT wrf_matgrp_sku FROM wa_wrf_matgrp_sku.
*  MESSAGE 'Successfully uploaded records' TYPE 'S'.
*  ENDLOOP.
ENDFORM.

Comments

Popular posts from this blog

PO rejection notification & rejection comments for Fiori

FB60 Vendor Invoice Post using BAPI

Service Invoice Upload For FB70 (BAPI)