物料bapi

物料创建bapi,MRP,CLASSFICATION视图

***********NEW BAPI  CTF
  DATA:LV_FUN              TYPE BAPIFN,
       LW_HEAD             TYPE BAPIE1MATHEADER,
       LIT_HEAD            TYPE TABLE OF BAPIE1MATHEADER,
       LW_CLIENTDATA       TYPE BAPIE1MARA,
       LW_CLIENTDATAX      TYPE BAPIE1MARAX,
       LIT_CLIENTDATA      TYPE TABLE OF BAPIE1MARA,
       LIT_CLIENTDATAX     TYPE TABLE OF BAPIE1MARAX,
       LW_SALESDATA        TYPE BAPIE1MVKE,
       LIT_SALESDATA       TYPE TABLE OF BAPIE1MVKE,
       LW_SALESDATAX       TYPE BAPIE1MVKEX,
       LIT_SALESDATAX      TYPE TABLE OF BAPIE1MVKEX,
       LW_TAXCLASSI        TYPE BAPIE1MLAN,
       LIT_TAXCLASSI       TYPE TABLE OF BAPIE1MLAN,
       LW_PLANTDATA        TYPE BAPIE1MARC,
       LIT_PLANTDATA       TYPE TABLE OF BAPIE1MARC,
       LW_PLANTDATAX       TYPE BAPIE1MARCX,
       LIT_PLANTDATAX      TYPE TABLE OF BAPIE1MARCX,
       LW_VALUATION        TYPE BAPIE1MBEW,
       LIT_VALUATION       TYPE TABLE OF BAPIE1MBEW,
       LW_VALUATIONX       TYPE BAPIE1MBEWX,
       LIT_VALUATIONX      TYPE TABLE OF BAPIE1MBEWX,
       LW_STOLOCA          TYPE BAPIE1MARD,
       LIT_STOLOCA         TYPE TABLE OF BAPIE1MARD,
       LW_STOLOCAX         TYPE BAPIE1MARDX,
       LIT_STOLOCAX        TYPE TABLE OF BAPIE1MARDX,
       LW_METERAIL_DES     TYPE BAPIE1MAKT,
       LIT_METERAIL_DES    TYPE TABLE OF BAPIE1MAKT,
       LW_UNITSOFMEASURE   TYPE BAPIE1MARM,
       LIT_UNITSOFMEASURE  TYPE TABLE OF BAPIE1MARM,
       LW_UNITSOFMEASUREX  TYPE BAPIE1MARMX,
       LIT_UNITSOFMEASUREX TYPE TABLE OF BAPIE1MARMX,
       LW_MAT_LONGTEXT     TYPE BAPIE1MLTX,
       LIT_MAT_LONGTEXT    TYPE TABLE OF BAPIE1MLTX,
       LW_TE_MARA          TYPE BAPI_TE_E1MARA2,
       LW_TE_MARAX         TYPE BAPI_TE_E1MARA2X,
       LW_TE_MARC          TYPE BAPI_TE_E1MARC2,
       LW_TE_MARCX         TYPE BAPI_TE_E1MARC2X,
       LW_TE_MVKE          TYPE BAPI_TE_E1MVKE2,
       LW_TE_MVKEX         TYPE BAPI_TE_E1MVKE2X,
       LW_EXTENSIONIN      TYPE BAPIE1PAREX,
       LIT_EXTENSIONIN     TYPE STANDARD TABLE OF BAPIE1PAREX,
       LW_EXTENSIONINX     TYPE BAPIE1PAREXX,
       LIT_EXTENSIONINX    TYPE STANDARD TABLE OF BAPIE1PAREXX,
       LIT_RETURN          TYPE STANDARD TABLE OF BAPIRET2,
       LIT_STOR_VIEW       TYPE TYP_IT_STOR,          "Storage Location
       LIT_MRP_CRT         TYPE TYP_IT_STOR,          "MRP Area Create  "SIR228
       LW_MRP_CRT          TYPE TYP_W_STOR.          "MRP Area Create  "SIR228
  FIELD-SYMBOLS<LW_ANY> TYPE ANY.

  DATA:
    LV_WAERS    TYPE T001-WAERS,
    LV_DATE     TYPE SYST-DATUM,
    LV_C_ZCPUPR TYPE ZMAT0010-ZCPUPR.

  DATA:
    LV_MATNR            TYPE MARA-MATNR,
    LV_PROFILE          TYPE CHAR1,
    LW_CRE_CLASSVIEW    TYPE BAPI1003_KEY.

  LIT_STOR_VIEW GIT_STOR_VIEW.          "Storage Location

  READ TABLE U_IT_MARA_DATA TRANSPORTING NO FIELDS
    WITH KEY NS01 COMPONENTS
      MATNR C_W_ORGA-MATNR.
  IF SY-SUBRC 0.
    LV_FUN CNS_UPD.
  ELSE.
    LV_FUN CNS_INS.
  ENDIF.

* Get factory material information
  READ TABLE U_IT_MARA_R2 INTO DATA(LW_MARA_R2)
        WITH KEY NS01 COMPONENTS
        MATNR C_W_ORGA-ZDEVI.
  IF SY-SUBRC <> 0.
    CLEAR LW_MARA_R2.
  ENDIF.

*  LW_HEAD-MATERIAL        = C_W_ORGA-MATNR.     "Material
  LW_HEAD-FUNCTION        LV_FUN.             "Function of BAPI
  LW_HEAD-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material
  LW_HEAD-IND_SECTOR      GV_INDUSTRY.        "Industry Sector
  LW_HEAD-MATL_TYPE       C_W_ORGA-MTART.     "Material Type
  LW_HEAD-BASIC_VIEW      CNS_FLG_X.          "Basic View
  LW_HEAD-SALES_VIEW      CNS_FLG_X.          "Sales View
  LW_HEAD-PURCHASE_VIEW   CNS_FLG_X.          "PURCHASE View
  LW_HEAD-ACCOUNT_VIEW    CNS_FLG_X.          "Accounting View
  LW_HEAD-STORAGE_VIEW    CNS_FLG_X.          "Storage View
  LW_HEAD-COST_VIEW       CNS_FLG_X.          "Cost View
  LW_HEAD-MRP_VIEW        CNS_FLG_X.          "MRPView
  APPEND LW_HEAD TO LIT_HEAD.
  CLEAR LW_HEAD.

* Edit the structure "CLIENTDATA"
  LW_CLIENTDATA-FUNCTION        LV_FUN.             "Function of BAPI
  LW_CLIENTDATA-MATL_GROUP      C_W_ORGA-MATKL.     "Material Group
  LW_CLIENTDATA-BASE_UOM        C_W_ORGA-MEINS.     "Base Unit
  LW_CLIENTDATA-NET_WEIGHT      C_W_ORGA-NTGEW.     "Net weight
  LW_CLIENTDATA-UNIT_OF_WT      C_W_ORGA-GEWEI.     "Weight unit
  LW_CLIENTDATA-DIVISION        CNS_00.             "Division
  LW_CLIENTDATA-HIGH_VISC       C_W_ORGA-IHIVI.     "FS Flag
  LW_CLIENTDATA-DOCUMENT        C_W_ORGA-ZEINR.     "DOCUMENT
  LW_CLIENTDATA-BATCH_MGMT      ABAP_TRUE.          "Batch management
  LW_CLIENTDATA-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material No.
  LW_CLIENTDATA-SHELF_LIFE   LW_MARA_R2-MHDHB.     "Total shelf life
  LW_CLIENTDATA-MINREMLIFE   LW_MARA_R2-MHDRZ.     "Min.Rem.Shelf Life
  LW_CLIENTDATA-PERIOD_IND_EXPIRATION_DATE
                               LW_MARA_R2-IPRKZ.     "Period Ind. For SLED
  LW_CLIENTDATA-SLED_BBD     LW_MARA_R2-SLED_BBD.  "Expiration Date

* Edit the structure "CLIENTDATAX (Register Parameter)"
  LW_CLIENTDATAX-FUNCTION       LV_FUN.             "Function of BAPI
  LW_CLIENTDATAX-MATL_GROUP     CNS_FLG_X.         "Material Group
  LW_CLIENTDATAX-BASE_UOM       CNS_FLG_X.         "Base Unit
  LW_CLIENTDATAX-NET_WEIGHT     CNS_FLG_X.         "Net weight
  LW_CLIENTDATAX-UNIT_OF_WT     CNS_FLG_X.         "Weight unit
  LW_CLIENTDATAX-DIVISION       CNS_FLG_X.         "Division
  LW_CLIENTDATAX-HIGH_VISC      CNS_FLG_X.         "FS Flag
  LW_CLIENTDATAX-DOCUMENT       CNS_FLG_X.         "DOCUMENT
  LW_CLIENTDATAX-BATCH_MGMT     ABAP_TRUE.         "Batch management
  LW_CLIENTDATAX-MATERIAL_LONG  C_W_ORGA-MATNR.    "Material No.
*> Start INS R2 Modification 2021/01/29
  IF LW_MARA_R2 IS NOT INITIAL .
    LW_CLIENTDATAX-SHELF_LIFE   CNS_FLG_X.          "Total shelf life
    LW_CLIENTDATAX-MINREMLIFE   CNS_FLG_X.          "Min.Rem.Shelf Life
    LW_CLIENTDATAX-PERIOD_IND_EXPIRATION_DATE
                               CNS_FLG_X.          "Period Ind. For SLED
    LW_CLIENTDATAX-SLED_BBD     CNS_FLG_X.          "Expiration Date
  ENDIF.

* Edit the structure "SALESDATA"
  LW_SALESDATA-FUNCTION       LV_FUN.             "Function of BAPI
  LW_SALESDATA-SALES_ORG      C_W_ORGA-VKORG1.     "sales organization
  LW_SALESDATA-DISTR_CHAN     CNS_00.              "Distribution channel
  LW_SALESDATA-SAL_STATUS     U_V_ZSSTUS.          "Sales status [sales]
  PERFORM F_ALPHA_INPUT CHANGING LW_SALESDATA-SAL_STATUS.
  LW_SALESDATA-VALID_FROM     U_V_ZVMSTD.           "Valid from
  LW_SALESDATA-ITEM_CAT       GV_ICAT_GRP.          "Item category Group
  LW_SALESDATA-MATL_GRP_1     C_W_ORGA-MVGR1.       "Product Code
  LW_SALESDATA-MATL_GRP_2     C_W_ORGA-MVGR2.       "Consumables Type
  LW_SALESDATA-DELY_UNIT      C_W_ORGA-SCMNG.       "Delivery unit
  LW_SALESDATA-MIN_ORDER      C_W_ORGA-AUMNG.       "Minimum  Ordering Quantity
  LW_SALESDATA-MAT_PR_GRP     C_W_ORGA-KONDM.       "Material Price Group
  LW_SALESDATA-MATERIAL_LONG  C_W_ORGA-MATNR.       "Material
  APPEND LW_SALESDATA TO LIT_SALESDATA.
  CLEAR LW_SALESDATA.

* Edit the structure "SALESDATAX (Register Parameter)"
  LW_SALESDATAX-FUNCTION       LV_FUN.             "Function of BAPI
  LW_SALESDATAX-SALES_ORG      C_W_ORGA-VKORG1.     "sales organization
  LW_SALESDATAX-DISTR_CHAN     CNS_00.              "Distribution channel
  LW_SALESDATAX-SAL_STATUS     CNS_FLG_X.           "Sales status [sales]
  LW_SALESDATAX-VALID_FROM     CNS_FLG_X.           "Valid from
  LW_SALESDATAX-ITEM_CAT       CNS_FLG_X.           "Item category Group
  LW_SALESDATAX-MATL_GRP_1     CNS_FLG_X.           "Product Code
  LW_SALESDATAX-MATL_GRP_2     CNS_FLG_X.           "Consumables Type
  LW_SALESDATAX-DELY_UNIT      CNS_FLG_X.           "Delivery unit
  LW_SALESDATAX-MIN_ORDER      CNS_FLG_X.           "Minimum  Ordering Quantity
  LW_SALESDATAX-MAT_PR_GRP     CNS_FLG_X.           "Material Price Group
  LW_SALESDATAX-MATERIAL_LONG  C_W_ORGA-MATNR.      "Material
  APPEND LW_SALESDATAX TO LIT_SALESDATAX.
  CLEAR LW_SALESDATAX.

* Edit the structure " TAXCLASSIFICATIONS"

* Get tax from fixed value by sales org
   LOOP AT U_IT_FIXED_VAL ASSIGNING FIELD-SYMBOL(<FS_FIXED>)
     WHERE KEY1 C_W_ORGA-VKORG1 AND
           KEY2 CNS_TAX.

      LW_TAXCLASSI-FUNCTION        LV_FUN.             "Function of BAPI
      LW_TAXCLASSI-DEPCOUNTRY      <FS_FIXED>-VALUE1.  "Departure country
      LW_TAXCLASSI-DEPCOUNTRY_ISO  <FS_FIXED>-VALUE2.  "Departure country in ISO code
      LW_TAXCLASSI-TAX_TYPE_1      <FS_FIXED>-VALUE3.  "Tax category
      LW_TAXCLASSI-TAXCLASS_1      <FS_FIXED>-VALUE4.  "Tax classification material
      LW_TAXCLASSI-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material
      APPEND LW_TAXCLASSI TO LIT_TAXCLASSI.
      CLEAR LW_TAXCLASSI.

   ENDLOOP.

  LOOP AT U_IT_PLANT_DATA ASSIGNING FIELD-SYMBOL(<LW_PLANT_DATA>)
    WHERE KUNNR C_W_ORGA-KUNNR.

    READ TABLE U_IT_INFOR_GEN WITH TABLE KEY NS01
    COMPONENTS MATNR C_W_ORGA-MATNR
               WERKS <LW_PLANT_DATA>-WERKS
      INTO DATA(LW_INFORE_GEN).                                "#EC CI_SUBRC

* Edit the structure "PLANTDATA"
  LW_PLANTDATA-FUNCTION         LV_FUN.             "Function of BAPI
*  LW_PLANTDATA-PLANT            = C_W_ORGA-WERKS1.     "Plant
  LW_PLANTDATA-PLANT            <LW_PLANT_DATA>-WERKS.     "Plant
  LW_PLANTDATA-COUNTRYORI       C_W_ORGA-HERKL.      "Country of origin
  LW_PLANTDATA-MRP_TYPE         U_V_MRP_TYP.         " mrp typ
  LW_PLANTDATA-AVAILCHECK       U_V_AVAI_CHK.        "Availability check
  LW_PLANTDATA-PUR_STATUS       U_V_ZMSTUS.          "Material status [plant]
  PERFORM F_ALPHA_INPUT CHANGING LW_PLANTDATA-PUR_STATUS.
*  LW_PLANTDATA-PVALIDFROM       = U_V_ZMMSTD.          "Valid from
  LW_PLANTDATA-PVALIDFROM       LW_INFORE_GEN-ZMMSTD"Valid from
  LW_PLANTDATA-NO_COSTING       SPACE.               "No cost calculations
  LW_PLANTDATA-LOT_SIZE         CNS_VALUE_1.         "Costing Lot Size
  LW_PLANTDATA-PROFIT_CTR       U_V_ZZPRCTR.         "Profit Center
  LW_PLANTDATA-MATERIAL_LONG    C_W_ORGA-MATNR.         "Material
  READ TABLE U_IT_FIXED_VAL INTO DATA(LW_FIXED_VAL)
    WITH KEY KEY1 CNS_EKGRP
             KEY2 CNS_MATERIAL.                         "#EC CI_SUBRC
  LW_PLANTDATA-PUR_GROUP     LW_FIXED_VAL-VALUE1.

* Edit the structure "PLANTDATAX (Register Parameter)"
  LW_PLANTDATAX-FUNCTION       LV_FUN.             "Function of BAPI
*  LW_PLANTDATAX-PLANT          = C_W_ORGA-WERKS1.   "Plant
  LW_PLANTDATAX-PLANT          <LW_PLANT_DATA>-WERKS.   "Plant
  LW_PLANTDATAX-COUNTRYORI     CNS_FLG_X.         "Country of origin
  LW_PLANTDATAX-MRP_TYPE       CNS_FLG_X.         "mrp typ
  LW_PLANTDATAX-AVAILCHECK     CNS_FLG_X.         "Availability check
  LW_PLANTDATAX-PUR_STATUS     CNS_FLG_X.         "Material status [plant]
  LW_PLANTDATAX-PVALIDFROM     CNS_FLG_X.         "Valid from
  LW_PLANTDATAX-NO_COSTING     CNS_FLG_X.         "No cost calculations
  LW_PLANTDATAX-LOT_SIZE       CNS_FLG_X.         "Costing Lot Size
  LW_PLANTDATAX-PROFIT_CTR     CNS_FLG_X.         "Profit Center
  LW_PLANTDATAX-MATERIAL_LONG  C_W_ORGA-MATNR.         "Material
  LW_PLANTDATAX-PUR_GROUP      CNS_FLG_X.
  APPEND LW_PLANTDATAX TO LIT_PLANTDATAX.
  CLEAR LW_PLANTDATAX.

*< End INS R2 Modification 2021/01/29
  APPEND LW_PLANTDATA TO LIT_PLANTDATA.
  CLEAR LW_PLANTDATA.

* 'Edit the structure for " EXTENSIONIN" (for MARC)
  LW_TE_MARC-MATERIAL   C_W_ORGA-MATNR.
*  LW_TE_MARC-PLANT      = C_W_ORGA-WERKS1.
  LW_TE_MARC-PLANT      <LW_PLANT_DATA>-WERKS.
  LW_TE_MARC-ZZSAAVA    C_W_ORGA-ZSAAVA.
  LW_TE_MARC-ZZINTF     C_W_ORGA-ZINTF.
  LW_TE_MARC-ZZDPFG     C_W_ORGA-ZDPFG.
  LW_TE_MARC-ZZLABC     C_W_ORGA-ZLABC.
  LW_TE_MARC-ZZSABC     C_W_ORGA-ZSABC.
  LW_TE_MARC-ZZLBCA     C_W_ORGA-ZLBCA.
  LW_TE_MARC-ZZFRUF     C_W_ORGA-ZFRUF.
  IF LW_INFORE_GEN-MARC_INITIAL   CNS_FLG_X.
    LW_TE_MARC-ZZASOP  U_V_ZZASOP.
    LW_TE_MARC-ZZADERP U_V_ZZADERP.
    LW_TE_MARC-ZZAPOP  U_V_ZZAPOP.
    LW_TE_MARC-ZZAAUT  U_V_ZZAAUT.
  ENDIF.
  LW_TE_MARC-ZZSLTR        C_W_ORGA-ZSLTR.     "shijj add
  LW_TE_MARC-ZZSLTO        C_W_ORGA-ZSLTO.     "shijj add
  LW_EXTENSIONIN-FUNCTION  LV_FUN.                 "Function of BAPI
  LW_EXTENSIONIN-STRUCTURE CNS_BAPI_MARC.
  LW_EXTENSIONIN-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONIN+51(949)       =  LW_TE_MARC.
  APPEND LW_EXTENSIONIN TO LIT_EXTENSIONIN.
  CLEAR:LW_EXTENSIONIN.

  LW_TE_MARCX-MATERIAL   C_W_ORGA-MATNR.
*  LW_TE_MARCX-PLANT      = C_W_ORGA-WERKS1.
  LW_TE_MARCX-PLANT      <LW_PLANT_DATA>-WERKS.
  LW_TE_MARCX-ZZSAAVA    CNS_FLG_X.
  LW_TE_MARCX-ZZINTF     CNS_FLG_X.
  LW_TE_MARCX-ZZDPFG     CNS_FLG_X.
  LW_TE_MARCX-ZZLABC     CNS_FLG_X.
  LW_TE_MARCX-ZZSABC     CNS_FLG_X.
  LW_TE_MARCX-ZZLBCA     CNS_FLG_X.
  LW_TE_MARCX-ZZFRUF     CNS_FLG_X.
  IF LW_INFORE_GEN-MARC_INITIAL    CNS_FLG_X.
    LW_TE_MARCX-ZZASOP   CNS_FLG_X.
    LW_TE_MARCX-ZZADERP  CNS_FLG_X.
    LW_TE_MARCX-ZZAPOP   CNS_FLG_X.
    LW_TE_MARCX-ZZAAUT   CNS_FLG_X.
  ENDIF.
  LW_TE_MARCX-ZZSLTR CNS_FLG_X.       "shijj add
  LW_TE_MARCX-ZZSLTO CNS_FLG_X.      "shijj add
  LW_EXTENSIONINX-FUNCTION  LV_FUN.                 "Function of BAPI
  LW_EXTENSIONINX-STRUCTURE CNS_BAPI_MARCX.
  LW_EXTENSIONINX-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONINX+51(949=  LW_TE_MARCX.
  APPEND LW_EXTENSIONINX TO LIT_EXTENSIONINX.
  CLEARLW_EXTENSIONINX.

* Edit the structure "VALUATIONDATA"
  LW_VALUATION-FUNCTION       LV_FUN.             "Function of BAPI
*  LW_VALUATION-VAL_AREA       = C_W_ORGA-WERKS1.
  LW_VALUATION-VAL_AREA       <LW_PLANT_DATA>-WERKS.
  LW_VALUATION-VAL_TYPE       SPACE.
  LW_VALUATION-VAL_CLASS      U_V_VAL_CLA.
  LW_VALUATION-PRICE_UNIT     CNS_VALUE_1.
  CLEAR LV_WAERS.
  READ TABLE U_IT_T001 INTO DATA(LW_T001)
        WITH KEY NS01 COMPONENTS
        BUKRS C_W_ORGA-BUKRS1.
  IF SY-SUBRC 0.
    LV_WAERS LW_T001-WAERS.
  ENDIF.

  LW_VALUATION-QTY_STRUCT CNS_FLG_X.
  LW_VALUATION-ORIG_MAT   'X'.   "

  LW_VALUATION-MATERIAL_LONG C_W_ORGA-MATNR.
  APPEND LW_VALUATION TO LIT_VALUATION.
  CLEAR LW_VALUATION.

* Edit the structure "VALUATIONDATAX (Register Parameter)"
  LW_VALUATIONX-FUNCTION       LV_FUN.             "Function of BAPI
  LW_VALUATIONX-VAL_AREA       <LW_PLANT_DATA>-WERKS.
  LW_VALUATIONX-VAL_TYPE       SPACE.
  LW_VALUATIONX-VAL_CLASS      CNS_FLG_X.
  LW_VALUATIONX-PRICE_UNIT     CNS_FLG_X.

  IF LW_INFORE_GEN-MBEW_INITIAL CNS_FLG_X.
    LW_VALUATIONX-STD_PRICE  CNS_FLG_X.
  ENDIF.
  LW_VALUATIONX-QTY_STRUCT  CNS_FLG_X.
  LW_VALUATIONX-ORIG_MAT    'X'.   "CHEN add"
  IF LW_INFORE_GEN-MBEW_Z CNS_FLG_X.
    LW_VALUATIONX-FUTURE_PR  CNS_FLG_X.
    LW_VALUATIONX-VALID_FROM CNS_FLG_X.
  ENDIF.
  LW_VALUATIONX-MATERIAL_LONG C_W_ORGA-MATNR.
  APPEND LW_VALUATIONX TO LIT_VALUATIONX.
  CLEAR LW_VALUATIONX.

** Edit the structure " STORAGELOCATIONDATA"

  LOOP AT LIT_STOR_VIEW ASSIGNING FIELD-SYMBOL(<LW_STOR_VIEW2>)
    WHERE WERKS <LW_PLANT_DATA>-WERKS.

*   Edit the structure " STORAGELOCATIONDATA2"
    LW_STOLOCA-FUNCTION         LV_FUN.             "Function of BAPI
    LW_STOLOCA-PLANT            <LW_STOR_VIEW2>-WERKS.  "Plant
    LW_STOLOCA-STGE_LOC         <LW_STOR_VIEW2>-LGORT.  "Storage location
    LW_STOLOCA-MATERIAL_LONG    C_W_ORGA-MATNR.  "Material
    APPEND LW_STOLOCA TO LIT_STOLOCA.
    CLEAR LW_STOLOCA.

*   Edit the structure " STORAGELOCATIONDATA2X (Register Parameter)"
    LW_STOLOCAX-FUNCTION        LV_FUN.             "Function of BAPI
    LW_STOLOCAX-PLANT           <LW_STOR_VIEW2>-WERKS.  "Plant
    LW_STOLOCAX-STGE_LOC        <LW_STOR_VIEW2>-LGORT.  "Storage location
    LW_STOLOCAX-MATERIAL_LONG   C_W_ORGA-MATNR.  "Material
    APPEND LW_STOLOCAX TO LIT_STOLOCAX.
    CLEAR LW_STOLOCAX.
  ENDLOOP.

  ENDLOOP.

  APPEND LW_CLIENTDATA TO LIT_CLIENTDATA.
  CLEAR LW_CLIENTDATA.

  APPEND LW_CLIENTDATAX TO LIT_CLIENTDATAX.
  CLEAR LW_CLIENTDATAX.

* Edit the table "MATERIALDESCRIPTION"
  LW_METERAIL_DES-FUNCTION       LV_FUN.            "Function of BAPI
  LW_METERAIL_DES-LANGU          CNS_EN.            "LANGU
  LW_METERAIL_DES-MATL_DESC      C_W_ORGA-MAKTX.    "Description
  LW_METERAIL_DES-MATERIAL_LONG  C_W_ORGA-MATNR.         "Material
  APPEND LW_METERAIL_DES TO LIT_METERAIL_DES.
  CLEARLW_METERAIL_DES.
  LW_METERAIL_DES-FUNCTION       LV_FUN.            "Function of BAPI
  LW_METERAIL_DES-LANGU          CNS_JA.            "LANGU
  LW_METERAIL_DES-MATL_DESC      C_W_ORGA-MAKTX.    "Description
  LW_METERAIL_DES-MATERIAL_LONG  C_W_ORGA-MATNR.         "Material
  APPEND LW_METERAIL_DES TO LIT_METERAIL_DES.
  CLEARLW_METERAIL_DES.

* Edit the table "UNITSOFMEASURE"
  LW_UNITSOFMEASURE-FUNCTION        LV_FUN.             "Function of BAPI
  LW_UNITSOFMEASURE-ALT_UNIT        C_W_ORGA-MEINS.     "Alternative Unit of Measure
  LW_UNITSOFMEASURE-GROSS_WT        C_W_ORGA-BRGEW.     "Gross weight
  LW_UNITSOFMEASURE-UNIT_OF_WT      C_W_ORGA-GEWEI.     "Gross weight
  LW_UNITSOFMEASURE-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material
  APPEND LW_UNITSOFMEASURE TO LIT_UNITSOFMEASURE.

* Edit the table "UNITSOFMEASUREX (Register Parameter)"
  LW_UNITSOFMEASUREX-FUNCTION       LV_FUN.               "Function of BAPI
  LW_UNITSOFMEASUREX-ALT_UNIT       C_W_ORGA-MEINS.       "Alternative Unit of Measure
  LW_UNITSOFMEASUREX-GROSS_WT       CNS_FLG_X.            "Gross weight
  LW_UNITSOFMEASUREX-UNIT_OF_WT     CNS_FLG_X.            "Gross
  LW_UNITSOFMEASUREX-MATERIAL_LONG  C_W_ORGA-MATNR.       "Material
  APPEND LW_UNITSOFMEASUREX TO LIT_UNITSOFMEASUREX.


*** Edit the table " MATERIALLONGTEXT" (BAPI_MLTX (Basic data text))
  LW_MAT_LONGTEXT-FUNCTION        LV_FUN.                 "Function of BAPI
  LW_MAT_LONGTEXT-TEXT_ID         CNS_GRUN.               "Text ID
  LW_MAT_LONGTEXT-TEXT_NAME       C_W_ORGA-MATNR"#EC CI_FLDEXT_OK[2215424]    "Text Name
  LW_MAT_LONGTEXT-APPLOBJECT      CNS_MATERIAL.           "Text object
  LW_MAT_LONGTEXT-LANGU           CNS_EN.                 "Language key
  LW_MAT_LONGTEXT-FORMAT_COL      '/'.                    "Language key
  IF C_W_ORGA-ZSREMAR1 IS INITIAL .
    LW_MAT_LONGTEXT-DEL_FLAG ABAP_TRUE.
  ELSE.
    LW_MAT_LONGTEXT-TEXT_LINE  C_W_ORGA-ZSREMAR1.   "Remarks (EN)
  ENDIF.
  LW_MAT_LONGTEXT-MATERIAL_LONG   C_W_ORGA-MATNR.         "Material
  APPEND LW_MAT_LONGTEXT TO LIT_MAT_LONGTEXT.
  CLEAR LW_MAT_LONGTEXT.

  CLEAR:LW_MAT_LONGTEXT.
  LW_MAT_LONGTEXT-FUNCTION    LV_FUN.                 "Function of BAPI
  LW_MAT_LONGTEXT-TEXT_ID     CNS_GRUN.               "Text ID
  LW_MAT_LONGTEXT-TEXT_NAME   C_W_ORGA-MATNR"#EC CI_FLDEXT_OK[2215424]    "Text Name
  LW_MAT_LONGTEXT-APPLOBJECT  CNS_MATERIAL.           "Text object
  LW_MAT_LONGTEXT-LANGU       CNS_JA.                 "Language key
  LW_MAT_LONGTEXT-FORMAT_COL  '/'.                    "Language key
  IF C_W_ORGA-ZSREMAR2 IS INITIAL .
    LW_MAT_LONGTEXT-DEL_FLAG ABAP_TRUE.
  ELSE.
    LW_MAT_LONGTEXT-TEXT_LINE  C_W_ORGA-ZSREMAR2.    "Remarks (JP)
  ENDIF.
  LW_MAT_LONGTEXT-MATERIAL_LONG   C_W_ORGA-MATNR.         "Material
  APPEND LW_MAT_LONGTEXT TO LIT_MAT_LONGTEXT.
  CLEAR LW_MAT_LONGTEXT.

* Edit the structure for " EXTENSIONIN" (for MARA)
  LW_TE_MARA-MATERIAL   C_W_ORGA-MATNR.
  LW_TE_MARA-ZZSPCOMP   C_W_ORGA-ZSPCOMP.
  LW_TE_MARA-ZZDEVI     C_W_ORGA-ZDEVI.
  LW_TE_MARA-ZZCLASS    C_W_ORGA-ZCLASS.
  LW_TE_MARA-ZZMODEL    C_W_ORGA-ZMODEL.
  LW_TE_MARA-ZZLEAPFLG  C_W_ORGA-ZLEAPFLG.
  LW_TE_MARA-ZZFORC     C_W_ORGA-ZFORC.
  LW_TE_MARA-ZZFSPC     C_W_ORGA-ZFSPC.
  LW_TE_MARA-ZZNARABC   C_W_ORGA-ZNARABC.
  LW_TE_MARA-ZZLGPF     C_W_ORGA-ZLGPF.
  LW_TE_MARA-ZZSERNC    C_W_ORGA-ZSERNC.
  LW_TE_MARA-ZZMANU     C_W_ORGA-ZMANU.
  LW_TE_MARA-ZZTEDO     C_W_ORGA-ZTEDO.
  LW_TE_MARA-ZZSEBIZF   C_W_ORGA-ZSEBIZF.
  LW_TE_MARA-ZZDEBIZF   C_W_ORGA-ZDEBIZF.
  LW_TE_MARA-ZZCOC      C_W_ORGA-ZCOC.
  LW_TE_MARA-ZZPSCORE   C_W_ORGA-ZPSCORE.
  LW_TE_MARA-ZZALLOC    C_W_ORGA-ZALLOC.
  LW_TE_MARA-ZZCOC      C_W_ORGA-ZCOC.
  LW_TE_MARA-ZZDELF     C_W_ORGA-ZDELF.
  LW_TE_MARA-ZZSCSI     C_W_ORGA-ZSCSI.
  LW_EXTENSIONIN-FUNCTION      LV_FUN.                 "Function of BAPI
  LW_EXTENSIONIN-STRUCTURE     CNS_BAPI_MARA.
  LW_EXTENSIONIN-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONIN-MATERIAL_EXTERNAL C_W_ORGA-MATNR.
  LW_EXTENSIONIN+51(949)       LW_TE_MARA"#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONIN TO LIT_EXTENSIONIN.
  CLEAR:LW_EXTENSIONIN.

* Edit the structure for " EXTENSIONINX" (for MARA)
  LW_TE_MARAX-MATERIAL    C_W_ORGA-MATNR.
  LW_TE_MARAX-ZZSPCOMP    CNS_FLG_X.
  LW_TE_MARAX-ZZDEVI      CNS_FLG_X.
  LW_TE_MARAX-ZZCLASS     CNS_FLG_X.
  LW_TE_MARAX-ZZMODEL     CNS_FLG_X.
  LW_TE_MARAX-ZZLEAPFLG   CNS_FLG_X.
  LW_TE_MARAX-ZZFORC      CNS_FLG_X.
  LW_TE_MARAX-ZZFSPC      CNS_FLG_X.
  LW_TE_MARAX-ZZNARABC    CNS_FLG_X.
  LW_TE_MARAX-ZZLGPF      CNS_FLG_X.
  LW_TE_MARAX-ZZSERNC     CNS_FLG_X.
  LW_TE_MARAX-ZZMANU      CNS_FLG_X.
  LW_TE_MARAX-ZZTEDO      CNS_FLG_X.
  LW_TE_MARAX-ZZSEBIZF    CNS_FLG_X.
  LW_TE_MARAX-ZZDEBIZF    CNS_FLG_X.
  LW_TE_MARAX-ZZCOC       CNS_FLG_X.
  LW_TE_MARAX-ZZPSCORE    CNS_FLG_X.
  LW_TE_MARAX-ZZALLOC     CNS_FLG_X.
  LW_TE_MARAX-ZZCOC       CNS_FLG_X.
  LW_TE_MARAX-ZZDELF      CNS_FLG_X.
  LW_TE_MARAX-ZZSCSI      CNS_FLG_X.
  LW_EXTENSIONINX-FUNCTION    LV_FUN.                 "Function of BAPI
  LW_EXTENSIONINX-STRUCTURE   CNS_BAPI_MARAX.
  LW_EXTENSIONINX-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONINX+51(949)       LW_TE_MARAX"#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONINX TO LIT_EXTENSIONINX.
  CLEAR:LW_EXTENSIONINX.

* Edit the structure for " EXTENSIONIN" (for MVKE)
  LW_TE_MVKE-MATERIAL       C_W_ORGA-MATNR.
  LW_TE_MVKE-SALES_ORG      C_W_ORGA-VKORG1.
  LW_TE_MVKE-DISTR_CHAN     CNS_00.
  LW_TE_MVKE-ZZORITN        C_W_ORGA-ZORITN.
  LW_EXTENSIONIN-FUNCTION   LV_FUN.                 "Function of BAPI
  LW_EXTENSIONIN-STRUCTURE  CNS_BAPI_MVKE.
  LW_EXTENSIONIN-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONIN+51(949)    LW_TE_MVKE.    "#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONIN TO LIT_EXTENSIONIN.
  CLEAR:LW_EXTENSIONIN.

* Edit the structure for " EXTENSIONINX" (for MVKE)
  LW_TE_MVKEX-MATERIAL      C_W_ORGA-MATNR.
  LW_TE_MVKEX-SALES_ORG     C_W_ORGA-VKORG1.
  LW_TE_MVKEX-DISTR_CHAN    CNS_00.
  LW_TE_MVKEX-ZZORITN       CNS_FLG_X.
  LW_EXTENSIONINX-FUNCTION  LV_FUN.                 "Function of BAPI
  LW_EXTENSIONINX-STRUCTURE CNS_BAPI_MVKEX.
  LW_EXTENSIONINX-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONINX+51(949)   LW_TE_MVKEX.   "#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONINX TO LIT_EXTENSIONINX.
  CLEAR:LW_EXTENSIONINX.

  SELECT SINGLE MATNR               "#EC CI_SUBRC
    FROM MARA
    INTO LV_MATNR
    WHERE MATNR C_W_ORGA-MATNR.
*< End INS R2 Modification 2021/04/12----------------------------*
                                              "#EC CI_USAGE_OK[2438006]
  CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA'
    EXPORTING
      NOAPPLLOG            ABAP_TRUE
      NOCHANGEDOC          ABAP_FALSE
      TESTRUN              ABAP_FALSE
      INPFLDCHECK          ABAP_FALSE
    IMPORTING
      RETURN               LW_RETURN
    TABLES
      HEADDATA             LIT_HEAD
      CLIENTDATA           LIT_CLIENTDATA
      CLIENTDATAX          LIT_CLIENTDATAX
      PLANTDATA            LIT_PLANTDATA
      PLANTDATAX           LIT_PLANTDATAX
      STORAGELOCATIONDATA  LIT_STOLOCA
      STORAGELOCATIONDATAX LIT_STOLOCAX
      VALUATIONDATA        LIT_VALUATION
      VALUATIONDATAX       LIT_VALUATIONX
      SALESDATA            LIT_SALESDATA
      SALESDATAX           LIT_SALESDATAX
      MATERIALDESCRIPTION  LIT_METERAIL_DES
      UNITSOFMEASURE       LIT_UNITSOFMEASURE
      UNITSOFMEASUREX      LIT_UNITSOFMEASUREX
      MATERIALLONGTEXT     LIT_MAT_LONGTEXT
      TAXCLASSIFICATIONS   LIT_TAXCLASSI
      EXTENSIONIN          LIT_EXTENSIONIN
      EXTENSIONINX         LIT_EXTENSIONINX
      RETURNMESSAGES       LIT_RETURN.       "#EC CI_USAGE_OK[2438131]

  IF LW_RETURN-TYPE <> CNS_A_VALUE
    AND LW_RETURN-TYPE <> CNS_FLG_E ).

*---------------------add--------bapi end -----------

*---------------------del--------bapi start -----------

    IF C_V_CONTIN_FLG CNS_FLG_X.
      C_W_ORGA-PRC_STS CNS_2.
      C_W_ORGA-U_DATE SY-DATUM.
      C_W_ORGA-U_TIME SY-UZEIT.
      C_W_ORGA-U_USER SY-UNAME.
*> REP SIR1182 2020/07/31
*      C_W_ORGA-U_PGM = SY-CPROG.
      C_W_ORGA-U_PGM SY-REPID.
*< REP SIR1182 2020/07/31
      RETURN.
    ENDIF.

*228
*> REP CR1747 2021/05/24 ----------------------------------------------*
    DATA(LIT_MARD_DATAU_IT_MARD_DATA.
    DELETE LIT_MARD_DATA WHERE MATNR  <> C_W_ORGA-MATNR"#EC CI_STDSEQ
    LOOP AT LIT_MARD_DATA ASSIGNING FIELD-SYMBOL(<LW_MARD_DATA>).
      LW_MRP_CRT-WERKS  <LW_MARD_DATA>-WERKS.
      LW_MRP_CRT-LGORT  <LW_MARD_DATA>-LGORT.
      APPEND LW_MRP_CRT TO LIT_MRP_CRT.
      CLEAR LW_MRP_CRT.
    ENDLOOP.
    LOOP AT LIT_STOR_VIEW ASSIGNING <LW_STOR_VIEW2>.
      LW_MRP_CRT-WERKS  <LW_STOR_VIEW2>-WERKS.
      LW_MRP_CRT-LGORT  <LW_STOR_VIEW2>-LGORT.
      APPEND LW_MRP_CRT TO LIT_MRP_CRT.
      CLEAR LW_MRP_CRT.
    ENDLOOP.
*
    LOOP AT U_IT_PLANT_DATA ASSIGNING <LW_PLANT_DATA>
      WHERE KUNNR C_W_ORGA-KUNNR.

      LOOP AT GIT_MDLV  ASSIGNING FIELD-SYMBOL(<LW_MRP_MDLV>WHERE WERKS <LW_PLANT_DATA>-WERKS"#EC CI_STDSEQ

        READ TABLE U_IT_MDMA_DATA TRANSPORTING NO FIELDS WITH TABLE KEY NS01
        COMPONENTS MATNR C_W_ORGA-MATNR
                   BERID   <LW_MRP_MDLV>-BERID.
        IF SY-SUBRC 0.
          CONTINUE.
        ENDIF.

*   Edit Structure [I_MDMA]
        LW_I_MDMA-MATNR       C_W_ORGA-MATNR.               "Material
        LW_I_MDMA-BERID       <LW_MRP_MDLV>-BERID.          "MRP Area
*         LW_I_MDMA-WERKS        = <LW_STOR_VIEW2>-WERKS.         "Plant
        LW_I_MDMA-WERKS       <LW_MRP_MDLV>-WERKS.         "Plant  "228
        LW_I_MDMA-DISMM       U_V_MRP_TYP.         "MRP Type

*   Edit Structure [I_SELFIELDS]
        LW_I_SELFIELDS-XDISMM CNS_FLG_X.                    "MRP TYPE

        CALL FUNCTION 'MD_MRP_LEVEL_CREATE_DATA'
          EXPORTING
            I_MATNR           C_W_ORGA-MATNR
            I_WERK            LW_I_MDMA-WERKS
            I_MRP_AREA        LW_I_MDMA-BERID
            I_SELFIELDS       LW_I_SELFIELDS
            I_MDMA            LW_I_MDMA
            I_DPOP            LW_DPOP
            I_QUEUE_FLAG      'X'
            I_SAVE_FLAG       'X'
            I_EXTERNAL_COMMIT SPACE         "C
          IMPORTING
            E_ERROR_RETURN    LW_ERR_RETURN.

        IF LW_ERR_RETURN-TYPE CNS_A_VALUE
             OR  LW_ERR_RETURN-TYPE =  CNS_FLG_E ).

          C_V_CONTIN_FLG CNS_FLG_X.

          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

          CLEARLW_APPLOG_STR.

          MESSAGE ID    LW_ERR_RETURN-ID
                 TYPE   LW_ERR_RETURN-TYPE
               NUMBER   LW_ERR_RETURN-NUMBER
                 WITH   LW_ERR_RETURN-MESSAGE_V1
                        LW_ERR_RETURN-MESSAGE_V2
                        LW_ERR_RETURN-MESSAGE_V3
                        LW_ERR_RETURN-MESSAGE_V4
                 INTO   LV_MESSAGE.

          LW_APPLOG_STR-SEQNO C_W_ORGA-SEQNO.
          LW_APPLOG_STR-WERKS LW_I_MDMA-WERKS.
          LW_APPLOG_STR-MATNR C_W_ORGA-MATNR.
          LW_APPLOG_STR-TARGET_MASTER CNS_MATERIAL_T.

          PERFORM F_GET_APPLOG
            USING
              LW_APPLOG_STR                  "message context
              LW_ERR_RETURN-TYPE
            CHANGING
              C_IT_APPLOG.                   "Application Log Table

          IF C_V_CONTIN_FLG CNS_FLG_X.
            C_W_ORGA-PRC_STS CNS_2.
            C_W_ORGA-U_DATE SY-DATUM.
            C_W_ORGA-U_TIME SY-UZEIT.
            C_W_ORGA-U_USER SY-UNAME.
            C_W_ORGA-U_PGM SY-REPID.
            C_V_CONTIN_FLG  CNS_FLG_X.
            RETURN.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDLOOP.


* IF structure[Return]-type = 'E' or 'A'
  ELSE.

    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

    CLEAR:LW_APPLOG_STR.

    MESSAGE ID     LW_RETURN-ID
            TYPE   LW_RETURN-TYPE
            NUMBER LW_RETURN-NUMBER
            WITH   LW_RETURN-MESSAGE_V1
                   LW_RETURN-MESSAGE_V2
                   LW_RETURN-MESSAGE_V3
                   LW_RETURN-MESSAGE_V4
            INTO   LV_MESSAGE.

  LOOP AT U_IT_PLANT_DATA ASSIGNING <LW_PLANT_DATA>
    WHERE KUNNR C_W_ORGA-KUNNR.
    LW_APPLOG_STR-SEQNO C_W_ORGA-SEQNO.
    LW_APPLOG_STR-WERKS <LW_PLANT_DATA>-WERKS.
    LW_APPLOG_STR-MATNR C_W_ORGA-MATNR.
    LW_APPLOG_STR-TARGET_MASTER CNS_MATERIAL_T.

*  The process is skipped because of &1
    PERFORM F_GET_APPLOG
      USING
        LW_APPLOG_STR                  "message context
        LW_RETURN-TYPE                  "message context
      CHANGING
        C_IT_APPLOG.                   "Application Log Table

    C_W_ORGA-PRC_STS CNS_2.
    C_W_ORGA-U_DATE SY-DATUM.
    C_W_ORGA-U_TIME SY-UZEIT.
    C_W_ORGA-U_USER SY-UNAME.
    C_W_ORGA-U_PGM SY-REPID.

    C_V_CONTIN_FLG CNS_FLG_X.
    ENDLOOP.
    RETURN.

  ENDIF.

        C_V_FUN LV_FUN.
        IF LV_FUN CNS_INS.
*         material does not exist in table MARA,then create classification view
          IF LV_MATNR IS INITIAL.

            CLEAR LW_CRE_CLASSVIEW.

            READ TABLE U_IT_FIXED_VAL INTO LW_FIXED_VAL  "#EC CI_SUBRC  #EC CI_STDSEQ
              WITH KEY KEY1 CNS_CLASS
                       KEY2 CNS_KLART.
            IF SY-SUBRC 0.
            LW_CRE_CLASSVIEW-CLASSNUM    LW_FIXED_VAL-VALUE1.                "Z_BATCH_CLASS
            LW_CRE_CLASSVIEW-CLASSTYPE   LW_FIXED_VAL-VALUE2.                "023
            ENDIF.
            LW_CRE_CLASSVIEW-OBJECT_LONG C_W_ORGA-MATNR.                     "Material
            LW_CRE_CLASSVIEW-OBJECTTABLE CNS_OBJECTTABLE.                    "MARA
            LW_CRE_CLASSVIEW-KEYDATE     SY-DATUM.

            CALL FUNCTION 'BAPI_OBJCL_CREATE'
             EXPORTING
               OBJECTKEYNEW_LONG LW_CRE_CLASSVIEW-OBJECT_LONG
               OBJECTTABLENEW    LW_CRE_CLASSVIEW-OBJECTTABLE
               CLASSNUMNEW       LW_CRE_CLASSVIEW-CLASSNUM
               CLASSTYPENEW      LW_CRE_CLASSVIEW-CLASSTYPE
               STATUS            CNS_VALUE_1
               STANDARDCLASS     CNS_FLG_X
               KEYDATE           LW_CRE_CLASSVIEW-KEYDATE
             TABLES
               RETURN            LIT_RETURN.

             LOOP AT LIT_RETURN INTO DATA(LW_RETURN_CLA)
               WHERE TYPE CNS_A_VALUE
                  OR TYPE CNS_FLG_E"#EC CI_STDSEQ
             ENDLOOP.
             IF SY-SUBRC 0.

              C_V_CONTIN_FLG CNS_FLG_X.

              CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

              CLEARLW_APPLOG_STR.

              MESSAGE ID    LW_RETURN_CLA-ID
                     TYPE   LW_RETURN_CLA-TYPE
                   NUMBER   LW_RETURN_CLA-NUMBER
                     WITH   LW_RETURN_CLA-MESSAGE_V1
                            LW_RETURN_CLA-MESSAGE_V2
                            LW_RETURN_CLA-MESSAGE_V3
                            LW_RETURN_CLA-MESSAGE_V4
                     INTO   LV_MESSAGE.

              LW_APPLOG_STR-SEQNO C_W_ORGA-SEQNO.
              LW_APPLOG_STR-WERKS C_W_ORGA-VKORG1.
              LW_APPLOG_STR-MATNR C_W_ORGA-MATNR.
              LW_APPLOG_STR-TARGET_MASTER CNS_CLASSIFICATION.

              PERFORM F_GET_APPLOG
                USING
                  LW_APPLOG_STR                  "message context
                  LW_RETURN_CLA-TYPE
                CHANGING
                  C_IT_APPLOG.                   "Application Log Table

              IF C_V_CONTIN_FLG CNS_FLG_X.
                C_W_ORGA-PRC_STS CNS_2.
                C_W_ORGA-U_DATE SY-DATUM.
                C_W_ORGA-U_TIME SY-UZEIT.
                C_W_ORGA-U_USER SY-UNAME.
                C_W_ORGA-U_PGM SY-REPID.
                C_V_CONTIN_FLG  CNS_FLG_X.
                RETURN.
              ENDIF.
             ENDIF.

          ENDIF.
        ENDIF.

*&---------------------------------------------------------------------*
*& Report YLXTEST
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YLXTEST.


***********NEW BAPI  CTF
  DATA:LV_FUN              TYPE BAPIFN,
       LW_HEAD             TYPE BAPIE1MATHEADER,
       LIT_HEAD            TYPE TABLE OF BAPIE1MATHEADER,
       LW_CLIENTDATA       TYPE BAPIE1MARA,
       LW_CLIENTDATAX      TYPE BAPIE1MARAX,
       LIT_CLIENTDATA      TYPE TABLE OF BAPIE1MARA,
       LIT_CLIENTDATAX     TYPE TABLE OF BAPIE1MARAX,
       LW_SALESDATA        TYPE BAPIE1MVKE,
       LIT_SALESDATA       TYPE TABLE OF BAPIE1MVKE,
       LW_SALESDATAX       TYPE BAPIE1MVKEX,
       LIT_SALESDATAX      TYPE TABLE OF BAPIE1MVKEX,
       LW_TAXCLASSI        TYPE BAPIE1MLAN,
       LIT_TAXCLASSI       TYPE TABLE OF BAPIE1MLAN,
       LW_PLANTDATA        TYPE BAPIE1MARC,
       LIT_PLANTDATA       TYPE TABLE OF BAPIE1MARC,
       LW_PLANTDATAX       TYPE BAPIE1MARCX,
       LIT_PLANTDATAX      TYPE TABLE OF BAPIE1MARCX,
       LW_VALUATION        TYPE BAPIE1MBEW,
       LIT_VALUATION       TYPE TABLE OF BAPIE1MBEW,
       LW_VALUATIONX       TYPE BAPIE1MBEWX,
       LIT_VALUATIONX      TYPE TABLE OF BAPIE1MBEWX,
       LW_STOLOCA          TYPE BAPIE1MARD,
       LIT_STOLOCA         TYPE TABLE OF BAPIE1MARD,
       LW_STOLOCAX         TYPE BAPIE1MARDX,
       LIT_STOLOCAX        TYPE TABLE OF BAPIE1MARDX,
       LW_METERAIL_DES     TYPE BAPIE1MAKT,
       LIT_METERAIL_DES    TYPE TABLE OF BAPIE1MAKT,
       LW_UNITSOFMEASURE   TYPE BAPIE1MARM,
       LIT_UNITSOFMEASURE  TYPE TABLE OF BAPIE1MARM,
       LW_UNITSOFMEASUREX  TYPE BAPIE1MARMX,
       LIT_UNITSOFMEASUREX TYPE TABLE OF BAPIE1MARMX,
       LW_MAT_LONGTEXT     TYPE BAPIE1MLTX,
       LIT_MAT_LONGTEXT    TYPE TABLE OF BAPIE1MLTX,
       LW_TE_MARA          TYPE BAPI_TE_E1MARA2,
       LW_TE_MARAX         TYPE BAPI_TE_E1MARA2X,
       LW_TE_MARC          TYPE BAPI_TE_E1MARC2,
       LW_TE_MARCX         TYPE BAPI_TE_E1MARC2X,
       LW_TE_MVKE          TYPE BAPI_TE_E1MVKE2,
       LW_TE_MVKEX         TYPE BAPI_TE_E1MVKE2X,
       LW_EXTENSIONIN      TYPE BAPIE1PAREX,
       LIT_EXTENSIONIN     TYPE STANDARD TABLE OF BAPIE1PAREX,
       LW_EXTENSIONINX     TYPE BAPIE1PAREXX,
       LIT_EXTENSIONINX    TYPE STANDARD TABLE OF BAPIE1PAREXX,
       LIT_RETURN          TYPE STANDARD TABLE OF BAPIRET2,
       LIT_STOR_VIEW       TYPE TYP_IT_STOR,          "Storage Location
       LIT_MRP_CRT         TYPE TYP_IT_STOR,          "MRP Area Create  "SIR228
       LW_MRP_CRT          TYPE TYP_W_STOR.          "MRP Area Create  "SIR228
  FIELD-SYMBOLS<LW_ANY> TYPE ANY.

  DATA:
    LV_WAERS    TYPE T001-WAERS,
    LV_DATE     TYPE SYST-DATUM,
    LV_C_ZCPUPR TYPE ZMAT0010-ZCPUPR.

  DATA:
    LV_MATNR            TYPE MARA-MATNR,
    LV_PROFILE          TYPE CHAR1,
    LW_CRE_CLASSVIEW    TYPE BAPI1003_KEY.

  LIT_STOR_VIEW GIT_STOR_VIEW.          "Storage Location

  READ TABLE U_IT_MARA_DATA TRANSPORTING NO FIELDS
    WITH KEY NS01 COMPONENTS
      MATNR C_W_ORGA-MATNR.
  IF SY-SUBRC 0.
    LV_FUN CNS_UPD.
  ELSE.
    LV_FUN CNS_INS.
  ENDIF.

* Get factory material information
  READ TABLE U_IT_MARA_R2 INTO DATA(LW_MARA_R2)
        WITH KEY NS01 COMPONENTS
        MATNR C_W_ORGA-ZDEVI.
  IF SY-SUBRC <> 0.
    CLEAR LW_MARA_R2.
  ENDIF.

*  LW_HEAD-MATERIAL        = C_W_ORGA-MATNR.     "Material
  LW_HEAD-FUNCTION        LV_FUN.             "Function of BAPI
  LW_HEAD-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material
  LW_HEAD-IND_SECTOR      GV_INDUSTRY.        "Industry Sector
  LW_HEAD-MATL_TYPE       C_W_ORGA-MTART.     "Material Type
  LW_HEAD-BASIC_VIEW      CNS_FLG_X.          "Basic View
  LW_HEAD-SALES_VIEW      CNS_FLG_X.          "Sales View
  LW_HEAD-PURCHASE_VIEW   CNS_FLG_X.          "PURCHASE View
  LW_HEAD-ACCOUNT_VIEW    CNS_FLG_X.          "Accounting View
  LW_HEAD-STORAGE_VIEW    CNS_FLG_X.          "Storage View
  LW_HEAD-COST_VIEW       CNS_FLG_X.          "Cost View
  LW_HEAD-MRP_VIEW        CNS_FLG_X.          "MRPView
  APPEND LW_HEAD TO LIT_HEAD.
  CLEAR LW_HEAD.

* Edit the structure "CLIENTDATA"
  LW_CLIENTDATA-FUNCTION        LV_FUN.             "Function of BAPI
  LW_CLIENTDATA-MATL_GROUP      C_W_ORGA-MATKL.     "Material Group
  LW_CLIENTDATA-BASE_UOM        C_W_ORGA-MEINS.     "Base Unit
  LW_CLIENTDATA-NET_WEIGHT      C_W_ORGA-NTGEW.     "Net weight
  LW_CLIENTDATA-UNIT_OF_WT      C_W_ORGA-GEWEI.     "Weight unit
  LW_CLIENTDATA-DIVISION        CNS_00.             "Division
  LW_CLIENTDATA-HIGH_VISC       C_W_ORGA-IHIVI.     "FS Flag
  LW_CLIENTDATA-DOCUMENT        C_W_ORGA-ZEINR.     "DOCUMENT
  LW_CLIENTDATA-BATCH_MGMT      ABAP_TRUE.          "Batch management
  LW_CLIENTDATA-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material No.
  LW_CLIENTDATA-SHELF_LIFE   LW_MARA_R2-MHDHB.     "Total shelf life
  LW_CLIENTDATA-MINREMLIFE   LW_MARA_R2-MHDRZ.     "Min.Rem.Shelf Life
  LW_CLIENTDATA-PERIOD_IND_EXPIRATION_DATE
                               LW_MARA_R2-IPRKZ.     "Period Ind. For SLED
  LW_CLIENTDATA-SLED_BBD     LW_MARA_R2-SLED_BBD.  "Expiration Date

* Edit the structure "CLIENTDATAX (Register Parameter)"
  LW_CLIENTDATAX-FUNCTION       LV_FUN.             "Function of BAPI
  LW_CLIENTDATAX-MATL_GROUP     CNS_FLG_X.         "Material Group
  LW_CLIENTDATAX-BASE_UOM       CNS_FLG_X.         "Base Unit
  LW_CLIENTDATAX-NET_WEIGHT     CNS_FLG_X.         "Net weight
  LW_CLIENTDATAX-UNIT_OF_WT     CNS_FLG_X.         "Weight unit
  LW_CLIENTDATAX-DIVISION       CNS_FLG_X.         "Division
  LW_CLIENTDATAX-HIGH_VISC      CNS_FLG_X.         "FS Flag
  LW_CLIENTDATAX-DOCUMENT       CNS_FLG_X.         "DOCUMENT
  LW_CLIENTDATAX-BATCH_MGMT     ABAP_TRUE.         "Batch management
  LW_CLIENTDATAX-MATERIAL_LONG  C_W_ORGA-MATNR.    "Material No.
*> Start INS R2 Modification 2021/01/29
  IF LW_MARA_R2 IS NOT INITIAL .
    LW_CLIENTDATAX-SHELF_LIFE   CNS_FLG_X.          "Total shelf life
    LW_CLIENTDATAX-MINREMLIFE   CNS_FLG_X.          "Min.Rem.Shelf Life
    LW_CLIENTDATAX-PERIOD_IND_EXPIRATION_DATE
                               CNS_FLG_X.          "Period Ind. For SLED
    LW_CLIENTDATAX-SLED_BBD     CNS_FLG_X.          "Expiration Date
  ENDIF.

* Edit the structure "SALESDATA"
  LW_SALESDATA-FUNCTION       LV_FUN.             "Function of BAPI
  LW_SALESDATA-SALES_ORG      C_W_ORGA-VKORG1.     "sales organization
  LW_SALESDATA-DISTR_CHAN     CNS_00.              "Distribution channel
  LW_SALESDATA-SAL_STATUS     U_V_ZSSTUS.          "Sales status [sales]
  PERFORM F_ALPHA_INPUT CHANGING LW_SALESDATA-SAL_STATUS.
  LW_SALESDATA-VALID_FROM     U_V_ZVMSTD.           "Valid from
  LW_SALESDATA-ITEM_CAT       GV_ICAT_GRP.          "Item category Group
  LW_SALESDATA-MATL_GRP_1     C_W_ORGA-MVGR1.       "Product Code
  LW_SALESDATA-MATL_GRP_2     C_W_ORGA-MVGR2.       "Consumables Type
  LW_SALESDATA-DELY_UNIT      C_W_ORGA-SCMNG.       "Delivery unit
  LW_SALESDATA-MIN_ORDER      C_W_ORGA-AUMNG.       "Minimum  Ordering Quantity
  LW_SALESDATA-MAT_PR_GRP     C_W_ORGA-KONDM.       "Material Price Group
  LW_SALESDATA-MATERIAL_LONG  C_W_ORGA-MATNR.       "Material
  APPEND LW_SALESDATA TO LIT_SALESDATA.
  CLEAR LW_SALESDATA.

* Edit the structure "SALESDATAX (Register Parameter)"
  LW_SALESDATAX-FUNCTION       LV_FUN.             "Function of BAPI
  LW_SALESDATAX-SALES_ORG      C_W_ORGA-VKORG1.     "sales organization
  LW_SALESDATAX-DISTR_CHAN     CNS_00.              "Distribution channel
  LW_SALESDATAX-SAL_STATUS     CNS_FLG_X.           "Sales status [sales]
  LW_SALESDATAX-VALID_FROM     CNS_FLG_X.           "Valid from
  LW_SALESDATAX-ITEM_CAT       CNS_FLG_X.           "Item category Group
  LW_SALESDATAX-MATL_GRP_1     CNS_FLG_X.           "Product Code
  LW_SALESDATAX-MATL_GRP_2     CNS_FLG_X.           "Consumables Type
  LW_SALESDATAX-DELY_UNIT      CNS_FLG_X.           "Delivery unit
  LW_SALESDATAX-MIN_ORDER      CNS_FLG_X.           "Minimum  Ordering Quantity
  LW_SALESDATAX-MAT_PR_GRP     CNS_FLG_X.           "Material Price Group
  LW_SALESDATAX-MATERIAL_LONG  C_W_ORGA-MATNR.      "Material
  APPEND LW_SALESDATAX TO LIT_SALESDATAX.
  CLEAR LW_SALESDATAX.

* Edit the structure " TAXCLASSIFICATIONS"

* Get tax from fixed value by sales org
   LOOP AT U_IT_FIXED_VAL ASSIGNING FIELD-SYMBOL(<FS_FIXED>)
     WHERE KEY1 C_W_ORGA-VKORG1 AND
           KEY2 CNS_TAX.

      LW_TAXCLASSI-FUNCTION        LV_FUN.             "Function of BAPI
      LW_TAXCLASSI-DEPCOUNTRY      <FS_FIXED>-VALUE1.  "Departure country
      LW_TAXCLASSI-DEPCOUNTRY_ISO  <FS_FIXED>-VALUE2.  "Departure country in ISO code
      LW_TAXCLASSI-TAX_TYPE_1      <FS_FIXED>-VALUE3.  "Tax category
      LW_TAXCLASSI-TAXCLASS_1      <FS_FIXED>-VALUE4.  "Tax classification material
      LW_TAXCLASSI-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material
      APPEND LW_TAXCLASSI TO LIT_TAXCLASSI.
      CLEAR LW_TAXCLASSI.

   ENDLOOP.

  LOOP AT U_IT_PLANT_DATA ASSIGNING FIELD-SYMBOL(<LW_PLANT_DATA>)
    WHERE KUNNR C_W_ORGA-KUNNR.

    READ TABLE U_IT_INFOR_GEN WITH TABLE KEY NS01
    COMPONENTS MATNR C_W_ORGA-MATNR
               WERKS <LW_PLANT_DATA>-WERKS
      INTO DATA(LW_INFORE_GEN).                                "#EC CI_SUBRC

* Edit the structure "PLANTDATA"
  LW_PLANTDATA-FUNCTION         LV_FUN.             "Function of BAPI
*  LW_PLANTDATA-PLANT            = C_W_ORGA-WERKS1.     "Plant
  LW_PLANTDATA-PLANT            <LW_PLANT_DATA>-WERKS.     "Plant
  LW_PLANTDATA-COUNTRYORI       C_W_ORGA-HERKL.      "Country of origin
  LW_PLANTDATA-MRP_TYPE         U_V_MRP_TYP.         " mrp typ
  LW_PLANTDATA-AVAILCHECK       U_V_AVAI_CHK.        "Availability check
  LW_PLANTDATA-PUR_STATUS       U_V_ZMSTUS.          "Material status [plant]
  PERFORM F_ALPHA_INPUT CHANGING LW_PLANTDATA-PUR_STATUS.
*  LW_PLANTDATA-PVALIDFROM       = U_V_ZMMSTD.          "Valid from
  LW_PLANTDATA-PVALIDFROM       LW_INFORE_GEN-ZMMSTD"Valid from
  LW_PLANTDATA-NO_COSTING       SPACE.               "No cost calculations
  LW_PLANTDATA-LOT_SIZE         CNS_VALUE_1.         "Costing Lot Size
  LW_PLANTDATA-PROFIT_CTR       U_V_ZZPRCTR.         "Profit Center
  LW_PLANTDATA-MATERIAL_LONG    C_W_ORGA-MATNR.         "Material
  READ TABLE U_IT_FIXED_VAL INTO DATA(LW_FIXED_VAL)
    WITH KEY KEY1 CNS_EKGRP
             KEY2 CNS_MATERIAL.                         "#EC CI_SUBRC
  LW_PLANTDATA-PUR_GROUP     LW_FIXED_VAL-VALUE1.

* Edit the structure "PLANTDATAX (Register Parameter)"
  LW_PLANTDATAX-FUNCTION       LV_FUN.             "Function of BAPI
*  LW_PLANTDATAX-PLANT          = C_W_ORGA-WERKS1.   "Plant
  LW_PLANTDATAX-PLANT          <LW_PLANT_DATA>-WERKS.   "Plant
  LW_PLANTDATAX-COUNTRYORI     CNS_FLG_X.         "Country of origin
  LW_PLANTDATAX-MRP_TYPE       CNS_FLG_X.         "mrp typ
  LW_PLANTDATAX-AVAILCHECK     CNS_FLG_X.         "Availability check
  LW_PLANTDATAX-PUR_STATUS     CNS_FLG_X.         "Material status [plant]
  LW_PLANTDATAX-PVALIDFROM     CNS_FLG_X.         "Valid from
  LW_PLANTDATAX-NO_COSTING     CNS_FLG_X.         "No cost calculations
  LW_PLANTDATAX-LOT_SIZE       CNS_FLG_X.         "Costing Lot Size
  LW_PLANTDATAX-PROFIT_CTR     CNS_FLG_X.         "Profit Center
  LW_PLANTDATAX-MATERIAL_LONG  C_W_ORGA-MATNR.         "Material
  LW_PLANTDATAX-PUR_GROUP      CNS_FLG_X.
  APPEND LW_PLANTDATAX TO LIT_PLANTDATAX.
  CLEAR LW_PLANTDATAX.

*< End INS R2 Modification 2021/01/29
  APPEND LW_PLANTDATA TO LIT_PLANTDATA.
  CLEAR LW_PLANTDATA.

* 'Edit the structure for " EXTENSIONIN" (for MARC)
  LW_TE_MARC-MATERIAL   C_W_ORGA-MATNR.
*  LW_TE_MARC-PLANT      = C_W_ORGA-WERKS1.
  LW_TE_MARC-PLANT      <LW_PLANT_DATA>-WERKS.
  LW_TE_MARC-ZZSAAVA    C_W_ORGA-ZSAAVA.
  LW_TE_MARC-ZZINTF     C_W_ORGA-ZINTF.
  LW_TE_MARC-ZZDPFG     C_W_ORGA-ZDPFG.
  LW_TE_MARC-ZZLABC     C_W_ORGA-ZLABC.
  LW_TE_MARC-ZZSABC     C_W_ORGA-ZSABC.
  LW_TE_MARC-ZZLBCA     C_W_ORGA-ZLBCA.
  LW_TE_MARC-ZZFRUF     C_W_ORGA-ZFRUF.
  IF LW_INFORE_GEN-MARC_INITIAL   CNS_FLG_X.
    LW_TE_MARC-ZZASOP  U_V_ZZASOP.
    LW_TE_MARC-ZZADERP U_V_ZZADERP.
    LW_TE_MARC-ZZAPOP  U_V_ZZAPOP.
    LW_TE_MARC-ZZAAUT  U_V_ZZAAUT.
  ENDIF.
  LW_TE_MARC-ZZSLTR        C_W_ORGA-ZSLTR.     "shijj add
  LW_TE_MARC-ZZSLTO        C_W_ORGA-ZSLTO.     "shijj add
  LW_EXTENSIONIN-FUNCTION  LV_FUN.                 "Function of BAPI
  LW_EXTENSIONIN-STRUCTURE CNS_BAPI_MARC.
  LW_EXTENSIONIN-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONIN+51(949)       =  LW_TE_MARC.
  APPEND LW_EXTENSIONIN TO LIT_EXTENSIONIN.
  CLEAR:LW_EXTENSIONIN.

  LW_TE_MARCX-MATERIAL   C_W_ORGA-MATNR.
*  LW_TE_MARCX-PLANT      = C_W_ORGA-WERKS1.
  LW_TE_MARCX-PLANT      <LW_PLANT_DATA>-WERKS.
  LW_TE_MARCX-ZZSAAVA    CNS_FLG_X.
  LW_TE_MARCX-ZZINTF     CNS_FLG_X.
  LW_TE_MARCX-ZZDPFG     CNS_FLG_X.
  LW_TE_MARCX-ZZLABC     CNS_FLG_X.
  LW_TE_MARCX-ZZSABC     CNS_FLG_X.
  LW_TE_MARCX-ZZLBCA     CNS_FLG_X.
  LW_TE_MARCX-ZZFRUF     CNS_FLG_X.
  IF LW_INFORE_GEN-MARC_INITIAL    CNS_FLG_X.
    LW_TE_MARCX-ZZASOP   CNS_FLG_X.
    LW_TE_MARCX-ZZADERP  CNS_FLG_X.
    LW_TE_MARCX-ZZAPOP   CNS_FLG_X.
    LW_TE_MARCX-ZZAAUT   CNS_FLG_X.
  ENDIF.
  LW_TE_MARCX-ZZSLTR CNS_FLG_X.       "shijj add
  LW_TE_MARCX-ZZSLTO CNS_FLG_X.      "shijj add
  LW_EXTENSIONINX-FUNCTION  LV_FUN.                 "Function of BAPI
  LW_EXTENSIONINX-STRUCTURE CNS_BAPI_MARCX.
  LW_EXTENSIONINX-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONINX+51(949=  LW_TE_MARCX.
  APPEND LW_EXTENSIONINX TO LIT_EXTENSIONINX.
  CLEARLW_EXTENSIONINX.

* Edit the structure "VALUATIONDATA"
  LW_VALUATION-FUNCTION       LV_FUN.             "Function of BAPI
*  LW_VALUATION-VAL_AREA       = C_W_ORGA-WERKS1.
  LW_VALUATION-VAL_AREA       <LW_PLANT_DATA>-WERKS.
  LW_VALUATION-VAL_TYPE       SPACE.
  LW_VALUATION-VAL_CLASS      U_V_VAL_CLA.
  LW_VALUATION-PRICE_UNIT     CNS_VALUE_1.
  CLEAR LV_WAERS.
  READ TABLE U_IT_T001 INTO DATA(LW_T001)
        WITH KEY NS01 COMPONENTS
        BUKRS C_W_ORGA-BUKRS1.
  IF SY-SUBRC 0.
    LV_WAERS LW_T001-WAERS.
  ENDIF.

  LW_VALUATION-QTY_STRUCT CNS_FLG_X.
  LW_VALUATION-ORIG_MAT   'X'.   "

  LW_VALUATION-MATERIAL_LONG C_W_ORGA-MATNR.
  APPEND LW_VALUATION TO LIT_VALUATION.
  CLEAR LW_VALUATION.

* Edit the structure "VALUATIONDATAX (Register Parameter)"
  LW_VALUATIONX-FUNCTION       LV_FUN.             "Function of BAPI
  LW_VALUATIONX-VAL_AREA       <LW_PLANT_DATA>-WERKS.
  LW_VALUATIONX-VAL_TYPE       SPACE.
  LW_VALUATIONX-VAL_CLASS      CNS_FLG_X.
  LW_VALUATIONX-PRICE_UNIT     CNS_FLG_X.

  IF LW_INFORE_GEN-MBEW_INITIAL CNS_FLG_X.
    LW_VALUATIONX-STD_PRICE  CNS_FLG_X.
  ENDIF.
  LW_VALUATIONX-QTY_STRUCT  CNS_FLG_X.
  LW_VALUATIONX-ORIG_MAT    'X'.   "CHEN add"
  IF LW_INFORE_GEN-MBEW_Z CNS_FLG_X.
    LW_VALUATIONX-FUTURE_PR  CNS_FLG_X.
    LW_VALUATIONX-VALID_FROM CNS_FLG_X.
  ENDIF.
  LW_VALUATIONX-MATERIAL_LONG C_W_ORGA-MATNR.
  APPEND LW_VALUATIONX TO LIT_VALUATIONX.
  CLEAR LW_VALUATIONX.

** Edit the structure " STORAGELOCATIONDATA"

  LOOP AT LIT_STOR_VIEW ASSIGNING FIELD-SYMBOL(<LW_STOR_VIEW2>)
    WHERE WERKS <LW_PLANT_DATA>-WERKS.

*   Edit the structure " STORAGELOCATIONDATA2"
    LW_STOLOCA-FUNCTION         LV_FUN.             "Function of BAPI
    LW_STOLOCA-PLANT            <LW_STOR_VIEW2>-WERKS.  "Plant
    LW_STOLOCA-STGE_LOC         <LW_STOR_VIEW2>-LGORT.  "Storage location
    LW_STOLOCA-MATERIAL_LONG    C_W_ORGA-MATNR.  "Material
    APPEND LW_STOLOCA TO LIT_STOLOCA.
    CLEAR LW_STOLOCA.

*   Edit the structure " STORAGELOCATIONDATA2X (Register Parameter)"
    LW_STOLOCAX-FUNCTION        LV_FUN.             "Function of BAPI
    LW_STOLOCAX-PLANT           <LW_STOR_VIEW2>-WERKS.  "Plant
    LW_STOLOCAX-STGE_LOC        <LW_STOR_VIEW2>-LGORT.  "Storage location
    LW_STOLOCAX-MATERIAL_LONG   C_W_ORGA-MATNR.  "Material
    APPEND LW_STOLOCAX TO LIT_STOLOCAX.
    CLEAR LW_STOLOCAX.
  ENDLOOP.

  ENDLOOP.

  APPEND LW_CLIENTDATA TO LIT_CLIENTDATA.
  CLEAR LW_CLIENTDATA.

  APPEND LW_CLIENTDATAX TO LIT_CLIENTDATAX.
  CLEAR LW_CLIENTDATAX.

* Edit the table "MATERIALDESCRIPTION"
  LW_METERAIL_DES-FUNCTION       LV_FUN.            "Function of BAPI
  LW_METERAIL_DES-LANGU          CNS_EN.            "LANGU
  LW_METERAIL_DES-MATL_DESC      C_W_ORGA-MAKTX.    "Description
  LW_METERAIL_DES-MATERIAL_LONG  C_W_ORGA-MATNR.         "Material
  APPEND LW_METERAIL_DES TO LIT_METERAIL_DES.
  CLEARLW_METERAIL_DES.
  LW_METERAIL_DES-FUNCTION       LV_FUN.            "Function of BAPI
  LW_METERAIL_DES-LANGU          CNS_JA.            "LANGU
  LW_METERAIL_DES-MATL_DESC      C_W_ORGA-MAKTX.    "Description
  LW_METERAIL_DES-MATERIAL_LONG  C_W_ORGA-MATNR.         "Material
  APPEND LW_METERAIL_DES TO LIT_METERAIL_DES.
  CLEARLW_METERAIL_DES.

* Edit the table "UNITSOFMEASURE"
  LW_UNITSOFMEASURE-FUNCTION        LV_FUN.             "Function of BAPI
  LW_UNITSOFMEASURE-ALT_UNIT        C_W_ORGA-MEINS.     "Alternative Unit of Measure
  LW_UNITSOFMEASURE-GROSS_WT        C_W_ORGA-BRGEW.     "Gross weight
  LW_UNITSOFMEASURE-UNIT_OF_WT      C_W_ORGA-GEWEI.     "Gross weight
  LW_UNITSOFMEASURE-MATERIAL_LONG   C_W_ORGA-MATNR.     "Material
  APPEND LW_UNITSOFMEASURE TO LIT_UNITSOFMEASURE.

* Edit the table "UNITSOFMEASUREX (Register Parameter)"
  LW_UNITSOFMEASUREX-FUNCTION       LV_FUN.               "Function of BAPI
  LW_UNITSOFMEASUREX-ALT_UNIT       C_W_ORGA-MEINS.       "Alternative Unit of Measure
  LW_UNITSOFMEASUREX-GROSS_WT       CNS_FLG_X.            "Gross weight
  LW_UNITSOFMEASUREX-UNIT_OF_WT     CNS_FLG_X.            "Gross
  LW_UNITSOFMEASUREX-MATERIAL_LONG  C_W_ORGA-MATNR.       "Material
  APPEND LW_UNITSOFMEASUREX TO LIT_UNITSOFMEASUREX.


*** Edit the table " MATERIALLONGTEXT" (BAPI_MLTX (Basic data text))
  LW_MAT_LONGTEXT-FUNCTION        LV_FUN.                 "Function of BAPI
  LW_MAT_LONGTEXT-TEXT_ID         CNS_GRUN.               "Text ID
  LW_MAT_LONGTEXT-TEXT_NAME       C_W_ORGA-MATNR"#EC CI_FLDEXT_OK[2215424]    "Text Name
  LW_MAT_LONGTEXT-APPLOBJECT      CNS_MATERIAL.           "Text object
  LW_MAT_LONGTEXT-LANGU           CNS_EN.                 "Language key
  LW_MAT_LONGTEXT-FORMAT_COL      '/'.                    "Language key
  IF C_W_ORGA-ZSREMAR1 IS INITIAL .
    LW_MAT_LONGTEXT-DEL_FLAG ABAP_TRUE.
  ELSE.
    LW_MAT_LONGTEXT-TEXT_LINE  C_W_ORGA-ZSREMAR1.   "Remarks (EN)
  ENDIF.
  LW_MAT_LONGTEXT-MATERIAL_LONG   C_W_ORGA-MATNR.         "Material
  APPEND LW_MAT_LONGTEXT TO LIT_MAT_LONGTEXT.
  CLEAR LW_MAT_LONGTEXT.

  CLEAR:LW_MAT_LONGTEXT.
  LW_MAT_LONGTEXT-FUNCTION    LV_FUN.                 "Function of BAPI
  LW_MAT_LONGTEXT-TEXT_ID     CNS_GRUN.               "Text ID
  LW_MAT_LONGTEXT-TEXT_NAME   C_W_ORGA-MATNR"#EC CI_FLDEXT_OK[2215424]    "Text Name
  LW_MAT_LONGTEXT-APPLOBJECT  CNS_MATERIAL.           "Text object
  LW_MAT_LONGTEXT-LANGU       CNS_JA.                 "Language key
  LW_MAT_LONGTEXT-FORMAT_COL  '/'.                    "Language key
  IF C_W_ORGA-ZSREMAR2 IS INITIAL .
    LW_MAT_LONGTEXT-DEL_FLAG ABAP_TRUE.
  ELSE.
    LW_MAT_LONGTEXT-TEXT_LINE  C_W_ORGA-ZSREMAR2.    "Remarks (JP)
  ENDIF.
  LW_MAT_LONGTEXT-MATERIAL_LONG   C_W_ORGA-MATNR.         "Material
  APPEND LW_MAT_LONGTEXT TO LIT_MAT_LONGTEXT.
  CLEAR LW_MAT_LONGTEXT.

* Edit the structure for " EXTENSIONIN" (for MARA)
  LW_TE_MARA-MATERIAL   C_W_ORGA-MATNR.
  LW_TE_MARA-ZZSPCOMP   C_W_ORGA-ZSPCOMP.
  LW_TE_MARA-ZZDEVI     C_W_ORGA-ZDEVI.
  LW_TE_MARA-ZZCLASS    C_W_ORGA-ZCLASS.
  LW_TE_MARA-ZZMODEL    C_W_ORGA-ZMODEL.
  LW_TE_MARA-ZZLEAPFLG  C_W_ORGA-ZLEAPFLG.
  LW_TE_MARA-ZZFORC     C_W_ORGA-ZFORC.
  LW_TE_MARA-ZZFSPC     C_W_ORGA-ZFSPC.
  LW_TE_MARA-ZZNARABC   C_W_ORGA-ZNARABC.
  LW_TE_MARA-ZZLGPF     C_W_ORGA-ZLGPF.
  LW_TE_MARA-ZZSERNC    C_W_ORGA-ZSERNC.
  LW_TE_MARA-ZZMANU     C_W_ORGA-ZMANU.
  LW_TE_MARA-ZZTEDO     C_W_ORGA-ZTEDO.
  LW_TE_MARA-ZZSEBIZF   C_W_ORGA-ZSEBIZF.
  LW_TE_MARA-ZZDEBIZF   C_W_ORGA-ZDEBIZF.
  LW_TE_MARA-ZZCOC      C_W_ORGA-ZCOC.
  LW_TE_MARA-ZZPSCORE   C_W_ORGA-ZPSCORE.
  LW_TE_MARA-ZZALLOC    C_W_ORGA-ZALLOC.
  LW_TE_MARA-ZZCOC      C_W_ORGA-ZCOC.
  LW_TE_MARA-ZZDELF     C_W_ORGA-ZDELF.
  LW_TE_MARA-ZZSCSI     C_W_ORGA-ZSCSI.
  LW_EXTENSIONIN-FUNCTION      LV_FUN.                 "Function of BAPI
  LW_EXTENSIONIN-STRUCTURE     CNS_BAPI_MARA.
  LW_EXTENSIONIN-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONIN-MATERIAL_EXTERNAL C_W_ORGA-MATNR.
  LW_EXTENSIONIN+51(949)       LW_TE_MARA"#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONIN TO LIT_EXTENSIONIN.
  CLEAR:LW_EXTENSIONIN.

* Edit the structure for " EXTENSIONINX" (for MARA)
  LW_TE_MARAX-MATERIAL    C_W_ORGA-MATNR.
  LW_TE_MARAX-ZZSPCOMP    CNS_FLG_X.
  LW_TE_MARAX-ZZDEVI      CNS_FLG_X.
  LW_TE_MARAX-ZZCLASS     CNS_FLG_X.
  LW_TE_MARAX-ZZMODEL     CNS_FLG_X.
  LW_TE_MARAX-ZZLEAPFLG   CNS_FLG_X.
  LW_TE_MARAX-ZZFORC      CNS_FLG_X.
  LW_TE_MARAX-ZZFSPC      CNS_FLG_X.
  LW_TE_MARAX-ZZNARABC    CNS_FLG_X.
  LW_TE_MARAX-ZZLGPF      CNS_FLG_X.
  LW_TE_MARAX-ZZSERNC     CNS_FLG_X.
  LW_TE_MARAX-ZZMANU      CNS_FLG_X.
  LW_TE_MARAX-ZZTEDO      CNS_FLG_X.
  LW_TE_MARAX-ZZSEBIZF    CNS_FLG_X.
  LW_TE_MARAX-ZZDEBIZF    CNS_FLG_X.
  LW_TE_MARAX-ZZCOC       CNS_FLG_X.
  LW_TE_MARAX-ZZPSCORE    CNS_FLG_X.
  LW_TE_MARAX-ZZALLOC     CNS_FLG_X.
  LW_TE_MARAX-ZZCOC       CNS_FLG_X.
  LW_TE_MARAX-ZZDELF      CNS_FLG_X.
  LW_TE_MARAX-ZZSCSI      CNS_FLG_X.
  LW_EXTENSIONINX-FUNCTION    LV_FUN.                 "Function of BAPI
  LW_EXTENSIONINX-STRUCTURE   CNS_BAPI_MARAX.
  LW_EXTENSIONINX-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONINX+51(949)       LW_TE_MARAX"#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONINX TO LIT_EXTENSIONINX.
  CLEAR:LW_EXTENSIONINX.

* Edit the structure for " EXTENSIONIN" (for MVKE)
  LW_TE_MVKE-MATERIAL       C_W_ORGA-MATNR.
  LW_TE_MVKE-SALES_ORG      C_W_ORGA-VKORG1.
  LW_TE_MVKE-DISTR_CHAN     CNS_00.
  LW_TE_MVKE-ZZORITN        C_W_ORGA-ZORITN.
  LW_EXTENSIONIN-FUNCTION   LV_FUN.                 "Function of BAPI
  LW_EXTENSIONIN-STRUCTURE  CNS_BAPI_MVKE.
  LW_EXTENSIONIN-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONIN+51(949)    LW_TE_MVKE.    "#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONIN TO LIT_EXTENSIONIN.
  CLEAR:LW_EXTENSIONIN.

* Edit the structure for " EXTENSIONINX" (for MVKE)
  LW_TE_MVKEX-MATERIAL      C_W_ORGA-MATNR.
  LW_TE_MVKEX-SALES_ORG     C_W_ORGA-VKORG1.
  LW_TE_MVKEX-DISTR_CHAN    CNS_00.
  LW_TE_MVKEX-ZZORITN       CNS_FLG_X.
  LW_EXTENSIONINX-FUNCTION  LV_FUN.                 "Function of BAPI
  LW_EXTENSIONINX-STRUCTURE CNS_BAPI_MVKEX.
  LW_EXTENSIONINX-MATERIAL_LONG C_W_ORGA-MATNR.
  LW_EXTENSIONINX+51(949)   LW_TE_MVKEX.   "#EC CI_FLDEXT_OK[2215424]
  APPEND LW_EXTENSIONINX TO LIT_EXTENSIONINX.
  CLEAR:LW_EXTENSIONINX.

  SELECT SINGLE MATNR               "#EC CI_SUBRC
    FROM MARA
    INTO LV_MATNR
    WHERE MATNR C_W_ORGA-MATNR.
*< End INS R2 Modification 2021/04/12----------------------------*
                                              "#EC CI_USAGE_OK[2438006]
  CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA'
    EXPORTING
      NOAPPLLOG            ABAP_TRUE
      NOCHANGEDOC          ABAP_FALSE
      TESTRUN              ABAP_FALSE
      INPFLDCHECK          ABAP_FALSE
    IMPORTING
      RETURN               LW_RETURN
    TABLES
      HEADDATA             LIT_HEAD
      CLIENTDATA           LIT_CLIENTDATA
      CLIENTDATAX          LIT_CLIENTDATAX
      PLANTDATA            LIT_PLANTDATA
      PLANTDATAX           LIT_PLANTDATAX
      STORAGELOCATIONDATA  LIT_STOLOCA
      STORAGELOCATIONDATAX LIT_STOLOCAX
      VALUATIONDATA        LIT_VALUATION
      VALUATIONDATAX       LIT_VALUATIONX
      SALESDATA            LIT_SALESDATA
      SALESDATAX           LIT_SALESDATAX
      MATERIALDESCRIPTION  LIT_METERAIL_DES
      UNITSOFMEASURE       LIT_UNITSOFMEASURE
      UNITSOFMEASUREX      LIT_UNITSOFMEASUREX
      MATERIALLONGTEXT     LIT_MAT_LONGTEXT
      TAXCLASSIFICATIONS   LIT_TAXCLASSI
      EXTENSIONIN          LIT_EXTENSIONIN
      EXTENSIONINX         LIT_EXTENSIONINX
      RETURNMESSAGES       LIT_RETURN.       "#EC CI_USAGE_OK[2438131]

  IF LW_RETURN-TYPE <> CNS_A_VALUE
    AND LW_RETURN-TYPE <> CNS_FLG_E ).

*---------------------add--------bapi end -----------

*---------------------del--------bapi start -----------

    IF C_V_CONTIN_FLG CNS_FLG_X.
      C_W_ORGA-PRC_STS CNS_2.
      C_W_ORGA-U_DATE SY-DATUM.
      C_W_ORGA-U_TIME SY-UZEIT.
      C_W_ORGA-U_USER SY-UNAME.
*> REP SIR1182 2020/07/31
*      C_W_ORGA-U_PGM = SY-CPROG.
      C_W_ORGA-U_PGM SY-REPID.
*< REP SIR1182 2020/07/31
      RETURN.
    ENDIF.

*228
*> REP CR1747 2021/05/24 ----------------------------------------------*
    DATA(LIT_MARD_DATAU_IT_MARD_DATA.
    DELETE LIT_MARD_DATA WHERE MATNR  <> C_W_ORGA-MATNR"#EC CI_STDSEQ
    LOOP AT LIT_MARD_DATA ASSIGNING FIELD-SYMBOL(<LW_MARD_DATA>).
      LW_MRP_CRT-WERKS  <LW_MARD_DATA>-WERKS.
      LW_MRP_CRT-LGORT  <LW_MARD_DATA>-LGORT.
      APPEND LW_MRP_CRT TO LIT_MRP_CRT.
      CLEAR LW_MRP_CRT.
    ENDLOOP.
    LOOP AT LIT_STOR_VIEW ASSIGNING <LW_STOR_VIEW2>.
      LW_MRP_CRT-WERKS  <LW_STOR_VIEW2>-WERKS.
      LW_MRP_CRT-LGORT  <LW_STOR_VIEW2>-LGORT.
      APPEND LW_MRP_CRT TO LIT_MRP_CRT.
      CLEAR LW_MRP_CRT.
    ENDLOOP.
*
    LOOP AT U_IT_PLANT_DATA ASSIGNING <LW_PLANT_DATA>
      WHERE KUNNR C_W_ORGA-KUNNR.

      LOOP AT GIT_MDLV  ASSIGNING FIELD-SYMBOL(<LW_MRP_MDLV>WHERE WERKS <LW_PLANT_DATA>-WERKS"#EC CI_STDSEQ

        READ TABLE U_IT_MDMA_DATA TRANSPORTING NO FIELDS WITH TABLE KEY NS01
        COMPONENTS MATNR C_W_ORGA-MATNR
                   BERID   <LW_MRP_MDLV>-BERID.
        IF SY-SUBRC 0.
          CONTINUE.
        ENDIF.

*   Edit Structure [I_MDMA]
        LW_I_MDMA-MATNR       C_W_ORGA-MATNR.               "Material
        LW_I_MDMA-BERID       <LW_MRP_MDLV>-BERID.          "MRP Area
*         LW_I_MDMA-WERKS        = <LW_STOR_VIEW2>-WERKS.         "Plant
        LW_I_MDMA-WERKS       <LW_MRP_MDLV>-WERKS.         "Plant  "228
        LW_I_MDMA-DISMM       U_V_MRP_TYP.         "MRP Type

*   Edit Structure [I_SELFIELDS]
        LW_I_SELFIELDS-XDISMM CNS_FLG_X.                    "MRP TYPE

        CALL FUNCTION 'MD_MRP_LEVEL_CREATE_DATA'
          EXPORTING
            I_MATNR           C_W_ORGA-MATNR
            I_WERK            LW_I_MDMA-WERKS
            I_MRP_AREA        LW_I_MDMA-BERID
            I_SELFIELDS       LW_I_SELFIELDS
            I_MDMA            LW_I_MDMA
            I_DPOP            LW_DPOP
            I_QUEUE_FLAG      'X'
            I_SAVE_FLAG       'X'
            I_EXTERNAL_COMMIT SPACE         "C
          IMPORTING
            E_ERROR_RETURN    LW_ERR_RETURN.

        IF LW_ERR_RETURN-TYPE CNS_A_VALUE
             OR  LW_ERR_RETURN-TYPE =  CNS_FLG_E ).

          C_V_CONTIN_FLG CNS_FLG_X.

          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

          CLEARLW_APPLOG_STR.

          MESSAGE ID    LW_ERR_RETURN-ID
                 TYPE   LW_ERR_RETURN-TYPE
               NUMBER   LW_ERR_RETURN-NUMBER
                 WITH   LW_ERR_RETURN-MESSAGE_V1
                        LW_ERR_RETURN-MESSAGE_V2
                        LW_ERR_RETURN-MESSAGE_V3
                        LW_ERR_RETURN-MESSAGE_V4
                 INTO   LV_MESSAGE.

          LW_APPLOG_STR-SEQNO C_W_ORGA-SEQNO.
          LW_APPLOG_STR-WERKS LW_I_MDMA-WERKS.
          LW_APPLOG_STR-MATNR C_W_ORGA-MATNR.
          LW_APPLOG_STR-TARGET_MASTER CNS_MATERIAL_T.

          PERFORM F_GET_APPLOG
            USING
              LW_APPLOG_STR                  "message context
              LW_ERR_RETURN-TYPE
            CHANGING
              C_IT_APPLOG.                   "Application Log Table

          IF C_V_CONTIN_FLG CNS_FLG_X.
            C_W_ORGA-PRC_STS CNS_2.
            C_W_ORGA-U_DATE SY-DATUM.
            C_W_ORGA-U_TIME SY-UZEIT.
            C_W_ORGA-U_USER SY-UNAME.
            C_W_ORGA-U_PGM SY-REPID.
            C_V_CONTIN_FLG  CNS_FLG_X.
            RETURN.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDLOOP.


* IF structure[Return]-type = 'E' or 'A'
  ELSE.

    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

    CLEAR:LW_APPLOG_STR.

    MESSAGE ID     LW_RETURN-ID
            TYPE   LW_RETURN-TYPE
            NUMBER LW_RETURN-NUMBER
            WITH   LW_RETURN-MESSAGE_V1
                   LW_RETURN-MESSAGE_V2
                   LW_RETURN-MESSAGE_V3
                   LW_RETURN-MESSAGE_V4
            INTO   LV_MESSAGE.

  LOOP AT U_IT_PLANT_DATA ASSIGNING <LW_PLANT_DATA>
    WHERE KUNNR C_W_ORGA-KUNNR.
    LW_APPLOG_STR-SEQNO C_W_ORGA-SEQNO.
    LW_APPLOG_STR-WERKS <LW_PLANT_DATA>-WERKS.
    LW_APPLOG_STR-MATNR C_W_ORGA-MATNR.
    LW_APPLOG_STR-TARGET_MASTER CNS_MATERIAL_T.

*  The process is skipped because of &1
    PERFORM F_GET_APPLOG
      USING
        LW_APPLOG_STR                  "message context
        LW_RETURN-TYPE                  "message context
      CHANGING
        C_IT_APPLOG.                   "Application Log Table

    C_W_ORGA-PRC_STS CNS_2.
    C_W_ORGA-U_DATE SY-DATUM.
    C_W_ORGA-U_TIME SY-UZEIT.
    C_W_ORGA-U_USER SY-UNAME.
    C_W_ORGA-U_PGM SY-REPID.

    C_V_CONTIN_FLG CNS_FLG_X.
    ENDLOOP.
    RETURN.

  ENDIF.

        C_V_FUN LV_FUN.
        IF LV_FUN CNS_INS.
*         material does not exist in table MARA,then create classification view
          IF LV_MATNR IS INITIAL.

            CLEAR LW_CRE_CLASSVIEW.

            READ TABLE U_IT_FIXED_VAL INTO LW_FIXED_VAL  "#EC CI_SUBRC  #EC CI_STDSEQ
              WITH KEY KEY1 CNS_CLASS
                       KEY2 CNS_KLART.
            IF SY-SUBRC 0.
            LW_CRE_CLASSVIEW-CLASSNUM    LW_FIXED_VAL-VALUE1.                "Z_BATCH_CLASS
            LW_CRE_CLASSVIEW-CLASSTYPE   LW_FIXED_VAL-VALUE2.                "023
            ENDIF.
            LW_CRE_CLASSVIEW-OBJECT_LONG C_W_ORGA-MATNR.                     "Material
            LW_CRE_CLASSVIEW-OBJECTTABLE CNS_OBJECTTABLE.                    "MARA
            LW_CRE_CLASSVIEW-KEYDATE     SY-DATUM.

            CALL FUNCTION 'BAPI_OBJCL_CREATE'
             EXPORTING
               OBJECTKEYNEW_LONG LW_CRE_CLASSVIEW-OBJECT_LONG
               OBJECTTABLENEW    LW_CRE_CLASSVIEW-OBJECTTABLE
               CLASSNUMNEW       LW_CRE_CLASSVIEW-CLASSNUM
               CLASSTYPENEW      LW_CRE_CLASSVIEW-CLASSTYPE
               STATUS            CNS_VALUE_1
               STANDARDCLASS     CNS_FLG_X
               KEYDATE           LW_CRE_CLASSVIEW-KEYDATE
             TABLES
               RETURN            LIT_RETURN.

             LOOP AT LIT_RETURN INTO DATA(LW_RETURN_CLA)
               WHERE TYPE CNS_A_VALUE
                  OR TYPE CNS_FLG_E"#EC CI_STDSEQ
             ENDLOOP.
             IF SY-SUBRC 0.

              C_V_CONTIN_FLG CNS_FLG_X.

              CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

              CLEARLW_APPLOG_STR.

              MESSAGE ID    LW_RETURN_CLA-ID
                     TYPE   LW_RETURN_CLA-TYPE
                   NUMBER   LW_RETURN_CLA-NUMBER
                     WITH   LW_RETURN_CLA-MESSAGE_V1
                            LW_RETURN_CLA-MESSAGE_V2
                            LW_RETURN_CLA-MESSAGE_V3
                            LW_RETURN_CLA-MESSAGE_V4
                     INTO   LV_MESSAGE.

              LW_APPLOG_STR-SEQNO C_W_ORGA-SEQNO.
              LW_APPLOG_STR-WERKS C_W_ORGA-VKORG1.
              LW_APPLOG_STR-MATNR C_W_ORGA-MATNR.
              LW_APPLOG_STR-TARGET_MASTER CNS_CLASSIFICATION.

              PERFORM F_GET_APPLOG
                USING
                  LW_APPLOG_STR                  "message context
                  LW_RETURN_CLA-TYPE
                CHANGING
                  C_IT_APPLOG.                   "Application Log Table

              IF C_V_CONTIN_FLG CNS_FLG_X.
                C_W_ORGA-PRC_STS CNS_2.
                C_W_ORGA-U_DATE SY-DATUM.
                C_W_ORGA-U_TIME SY-UZEIT.
                C_W_ORGA-U_USER SY-UNAME.
                C_W_ORGA-U_PGM SY-REPID.
                C_V_CONTIN_FLG  CNS_FLG_X.
                RETURN.
              ENDIF.
             ENDIF.

          ENDIF.
        ENDIF.

原文地址:https://www.cnblogs.com/lingxiaoj/p/14814295.html