2 Replies Latest reply: Feb 29, 2012 10:52 AM by Jaime Cordeiro RSS

how to upload material master using BAPI

Pradeep Miriyala
Currently Being Moderated

I have a flat file with 3 fields MATNR,MAKTX,MEINS and I want to create material master with 2 views basic data1 & basic data2 with three fields using BAPI

 

Can anyone tell me how to do this only using three fields and 2 views

 

and also i want to know what is the exact difference between session call transaction BAPI and LSWM methods.

 

Thank you,

Pradeep Reddy M.

  • Re: how to upload material master using BAPI
    Rajasekhar Dinavahi
    Currently Being Moderated

    Hi

     

    BAPI_STANDARDMATERIAL_CREATE

     

    BAPI_MATERIAL_SAVEDATA

     

     

    Refer this thread

    bapi for material creation (urgent)

     

    Regards

    Raj

  • Re: how to upload material master using BAPI
    Jaime Cordeiro
    Currently Being Moderated

    Hi Pradeep Reddy Miriyala,

    This a example you can use, the views are related with each table only have to adapt to your case.

     

    Best regards

    Jaime Cordeiro

     

     

    *&----


    *

    *& Report  ZMM01_BAPI_01                                               *

    *&                                                                     *

    *&----


    *

    *&                                                                     *

    *&                                                                     *

    *&----


    *

     

    REPORT  ZMM01_BAPI_01                           .

     

    **********************************************************************

    •                STRUCTURE  DECLARATIONS                             *

    **********************************************************************

     

    TABLES: BAPIMATHEAD,  "Headerdata

            BAPI_MARA,    "Clientdata

            BAPI_MARAX,   "Clientdatax

            BAPI_MVKE,    "SalesData

            BAPI_MVKEX,   "SalesDatax

            BAPI_MARC,    "Plantdata

            BAPI_MARCX,   "Plantdatax

            BAPI_MBEW,    "ValuationData

            BAPI_MBEWX,    "ValuationData

            BAPI_MLGN,    "Storage

            BAPI_MLGNX,   "StorageX

            BAPI_MAKT,    "Material description

    *----

    -


            BAPI_MARM,

            BAPI_MARMX,

            bapi_mean,

            BAPI_MLAN,

    *----

    -


            BAPIRET2.     "Return messages

     

     

    DATA: BEGIN OF LSMW_MATERIAL_MASTER,

    *----

    -


    > Initial Data

         matnr(18),

         mtart(4),

         WERKS(4),

         VKORG(4),

         VTWEG(2),

         LGNUM(3),"retirar

    *----

    -


    > Basic Data 1

     

         MAKTX(40),

         MEINS(3),

         MATKL(9),

         BISMT(18),

         SPART(2),

         PRDHA(18),

         BRGEW(17),

         NTGEW(17),

         GEWEI(3),

         VOLUM(13),

         VOLEH(3),

         EAN11(18),

         NUMTP(2),

     

     

     

    *----

    -


    > Sales 1

     

         DWERK(4),

         TAXKM(1),

     

    *----

    -


    > Sales 2

     

         KTGRM(2),

         PRODH(18),

         MTPOS(4),

    *----

    -


    > Sales: General/Plant

     

         MTVFP(2),

         TRAGR(4),

         LADGR(4),

         PRCTR(10),

    *----

    -


    > Purchasing

     

    • Novas entradas

         EKGRP(3),

         KAUTB(1),

         XCHPF1(1),

         EKWSL(4),

         WEBAZ(3),

         INSMK1(1),

         KORDB(1),

     

    *----

    -


    > Foreign Trade

     

         STAWN(17),

         MTVER(4),

         HERKL(3),

         HERKR(3),

     

     

    *----

    -


    > Purchase Order Text View

    • Identificar Campos

         TextoEN(100),

         TextoPT(100),

         TextoPL(100),

         TextoES(100),

    *----

    -


    > MRP1

     

         DISGR(4),

         DISMM(2),

         DISPO(3),

         DISLS(2),

         BSTMI(18),

         BSTRF(13),

    *----

    -


    > MRP2

     

     

         BESKZ(1),

         RGEKZ(1),

         LGPRO(4),

         LGFSB(4),

     

         EPRIO(4),

     

         WEBAZ1(3),

         PLIFZ(3),

     

         FHORI(3),

    *----

    -


    > MRP3

     

         PERKZ(1),

         STRGR(2),

         VRMOD(1),

         VINT1(3),

         VINT2(3),

     

    *----

    -


    > MRP4

     

         ALTSL(1),

         FEVOR(3),

     

    *----

    -


    > Work Sch

     

         INSMK(1),

         XCHPF(1),

         UEETO(3),

     

    *----

    -


    > Plant Storage 1

     

         MHDRZ(4),

         MHDHB(4),

     

    *----

    -


    > Plant Storage 2

     

         PRCTR1(10),

         EPRIO1(4),

     

    *----

    -


    > WM 1 S01 comum a todos

     

         LTKZA_S01(3),

         LTKZE_S01(3),

         LGBKZ_S01(3),

     

    **----

    -


    > WM 1 SHV

     

         LTKZA_SHV(3),

         LTKZE_SHV(3),

         LGBKZ_SHV(3),

     

    *----

    -


    > WM 1 SQW

     

         LTKZA_SQW(3),

         LTKZE_SQW(3),

         LGBKZ_SQW(3),

     

     

    *----

    -


    > WM 2

     

         LHMG1(13),

         LHME1(3),

         LETY1(3),

         LHMG2(13),

         LHME2(3),

         LETY2(3),

         LHMG3(13),

         LHME3(3),

         LETY3(3),

     

    *----

    -


    > Accounting 1

     

         BKLAS(4),

         VPRSV(1),

         VERPR(23),

         PEINH(5),

     

       END OF LSMW_MATERIAL_MASTER.

     

     

    DATA:V_FILE TYPE STRING.

    DATA:VolumUnitConv(3).

    DATA:UnitConv(3).

     

    **********************************************************************

    •                INTERNAL TABLE DECLARATIONS                         *

    **********************************************************************

     

    *to store the input data

    DATA:

      BEGIN OF  it_matmaster OCCURS 0.

            INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.

     

    DATA:

      END OF it_matmaster.

     

    *for material description

    DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.

            INCLUDE STRUCTURE BAPI_MAKT .

    DATA:END OF IT_MATERIALDESC.

     

    *FOR gross wt

    data: begin of it_uom occurs 0.

            include structure BAPI_MARM.

    data:end of it_uom.

     

    DATA: BEGIN OF IT_UOMX OCCURS 0.

            INCLUDE STRUCTURE BAPI_MARMX.

    DATA:END OF IT_UOMX.

     

    data:begin of it_mean occurs 0.

            include structure bapi_mean.

    data:end of it_mean.

     

    DATA: BEGIN OF it_MLAN OCCURS 0.

            include STRUCTURE BAPI_MLAN.

    DATA: END OF it_MLAN.

     

    DATA:BEGIN OF IT_MLTX OCCURS 0.

            INCLUDE STRUCTURE BAPI_MLTX.

    DATA:END OF IT_MLTX.

     

    *to return messages

    DATA:BEGIN OF IT_RETURN OCCURS 0.

            INCLUDE STRUCTURE BAPIRET2.

    DATA:END OF IT_RETURN.

     

    DATA : imat TYPE TABLE OF bapimatinr WITH HEADER LINE.

     

    DATA: text LIKE bapi_mltx OCCURS 0 WITH HEADER LINE.

     

    DATA: matnrAct(18),oldMart(4).

     

     

    ************************************************************************

    • SELECTION SCREEN

    ************************************************************************

    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.

     

    PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.

    SELECTION-SCREEN END OF BLOCK B1 .

     

    ************************************************************************

    • AT SELECTION SCREEN

    ************************************************************************

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

      CALL FUNCTION 'F4_FILENAME'

        EXPORTING

          PROGRAM_NAME  = SYST-CPROG

          DYNPRO_NUMBER = SYST-DYNNR

          FIELD_NAME    = 'P_FILE'

        IMPORTING

          FILE_NAME     = P_FILE.

     

     

     

    **********************************************************************

    •                TO UPLOAD THE DATA                                  *

    **********************************************************************

     

    START-OF-SELECTION.

      V_FILE = P_FILE.

      CALL FUNCTION 'GUI_UPLOAD'

        EXPORTING

          filename                      = V_FILE

         FILETYPE                      = 'ASC'

         HAS_FIELD_SEPARATOR           = 'X'

    •   HEADER_LENGTH                 = 0

    •   READ_BY_LINE                  = 'X'

    •   DAT_MODE                      = ' '

    • IMPORTING

    •   FILELENGTH                    =

    •   HEADER                        =

        tables

          data_tab                      =  IT_MATMASTER

       EXCEPTIONS

         FILE_OPEN_ERROR               = 1

         FILE_READ_ERROR               = 2

         NO_BATCH                      = 3

         GUI_REFUSE_FILETRANSFER       = 4

         INVALID_TYPE                  = 5

         NO_AUTHORITY                  = 6

         UNKNOWN_ERROR                 = 7

         BAD_DATA_FORMAT               = 8

         HEADER_NOT_ALLOWED            = 9

         SEPARATOR_NOT_ALLOWED         = 10

         HEADER_TOO_LONG               = 11

         UNKNOWN_DP_ERROR              = 12

         ACCESS_DENIED                 = 13

         DP_OUT_OF_MEMORY              = 14

         DISK_FULL                     = 15

         DP_TIMEOUT                    = 16

         OTHERS                        = 17

                .

      IF sy-subrc <> 0.

        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

      ENDIF.

     

      check sy-subrc eq 0.

     

     

    **********************************************************************

    •                DATA POPULATIONS                                    *

    **********************************************************************

     

      LOOP AT  IT_MATMASTER.

     

     

        IF IT_MATMASTER-MATNR EQ '' .

          oldMart = IT_MATMASTER-Mtart.

          CALL FUNCTION 'MATERIAL_NUMBER_GET_NEXT'

            EXPORTING

              MATERIALART                = IT_MATMASTER-Mtart

           IMPORTING

             MATERIALNR                 = matnrAct

    •   RETURNCODE                 =

    • EXCEPTIONS

    •   NO_INTERNAL_INTERVAL       = 1

    •   TYPE_NOT_FOUND             = 2

    •   OTHERS                     = 3

                    .

     

          if sy-subrc = 0.

            BAPIMATHEAD-MATERIAL = matnrAct.

          endif.

     

        ELSE.

     

          BAPIMATHEAD-MATERIAL = it_matmaster-matnr.

     

        ENDIF.

     

     

     

    *----

    -


    Preenchimento dos dados do ecrã inicial

    •    BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.

        BAPIMATHEAD-IND_SECTOR = 'M'.

        BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.

        "declaration of views

        BAPIMATHEAD-BASIC_VIEW = 'X'.

        BAPIMATHEAD-MRP_VIEW = 'X'.

        BAPIMATHEAD-STORAGE_VIEW = 'X'.

        BAPIMATHEAD-WAREHOUSE_VIEW = 'X'.

        BAPIMATHEAD-ACCOUNT_VIEW = 'X'.

     

     

        If IT_MATMASTER-Mtart EQ '31'.

          BAPIMATHEAD-SALES_VIEW = 'X'.

          BAPIMATHEAD-WORK_SCHED_VIEW = 'X'.

        ENDIF.

     

        If IT_MATMASTER-Mtart EQ '51'.

          BAPIMATHEAD-SALES_VIEW = 'X'.

          BAPIMATHEAD-WORK_SCHED_VIEW = 'X'.

        ENDIF.

     

        If IT_MATMASTER-Mtart EQ '65'.

          BAPIMATHEAD-PURCHASE_VIEW = 'X'.

        ENDIF.

     

     

    *----

    -


    Preenchimento de dados relativos a MARA

     

        BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.

        BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.

        BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.

        BAPI_MARA-DIVISION = IT_MATMASTER-SPART.

        BAPI_MARA-PROD_HIER = IT_MATMASTER-PRDHA.

        BAPI_MARA-NET_WEIGHT = IT_MATMASTER-ntgew.

        BAPI_MARA-UNIT_OF_WT = IT_MATMASTER-GEWEI.

        BAPI_MARA-TRANS_GRP = IT_MATMASTER-tragr.

     

    *----

    -


    > Novas Entradas

     

        IF IT_MATMASTER-Mtart EQ '65'.

          BAPI_MARA-BATCH_MGMT = IT_MATMASTER-XCHPF1.

     

          BAPI_MARA-PUR_VALKEY = IT_MATMASTER-EKWSL.     

          BAPI_MARAX-PUR_VALKEY = 'X'.

     

        ELSE.

                   BAPI_MARA-BATCH_MGMT = IT_MATMASTER-XCHPF.

     

    ENDIF.

    *----

    -


    > Novas Entradas

     

     

          BAPI_MARA-MINREMLIFE = IT_MATMASTER-MHDRZ.

          BAPI_MARA-SHELF_LIFE = IT_MATMASTER-MHDHB.

     

          BAPI_MARAX-MATL_GROUP = 'X'.

          BAPI_MARAX-OLD_MAT_NO = 'X'.

          BAPI_MARAX-BASE_UOM = 'X'.

          BAPI_MARAX-DIVISION = 'X'.

          BAPI_MARAX-PROD_HIER = 'X'.

          BAPI_MARAX-NET_WEIGHT = 'X'.

          BAPI_MARAX-UNIT_OF_WT = 'X'.

          BAPI_MARAX-TRANS_GRP = 'X'.

          BAPI_MARAX-BATCH_MGMT = 'X'.

          BAPI_MARAX-MINREMLIFE = 'X'.

          BAPI_MARAX-SHELF_LIFE = 'X'.

     

     

     

     

    *----

    -


    Preencimento de dados Relativos a MKVE

     

          BAPI_MVKE-DELYG_PLNT = IT_MATMASTER-DWERK.

          BAPI_MVKE-SALES_ORG = IT_MATMASTER-VKORG.

          BAPI_MVKE-DISTR_CHAN = IT_MATMASTER-VTWEG.

          BAPI_MVKE-PROD_HIER = IT_MATMASTER-PRODH.

          BAPI_MVKE-ITEM_CAT = IT_MATMASTER-MTPOS.

          BAPI_MVKE-ACCT_ASSGT = IT_MATMASTER-KTGRM.

     

          BAPI_MVKEX-SALES_ORG = IT_MATMASTER-VKORG.

          BAPI_MVKEX-DISTR_CHAN = IT_MATMASTER-VTWEG.

          BAPI_MVKEX-PROD_HIER = 'X'.

          BAPI_MVKEX-ITEM_CAT = 'X'.

          BAPI_MVKEX-DELYG_PLNT = 'X'.

          BAPI_MVKEX-ACCT_ASSGT = 'X'.

     

    *----

    -


    Preencimento de dados Relativos a MARC

     

          BAPI_MARC-PLANT = IT_MATMASTER-WERKS.

          BAPI_MARC-AVAILCHECK = IT_MATMASTER-MTVFP.

          BAPI_MARC-LOADINGGRP = IT_MATMASTER-LADGR.

          BAPI_MARC-PROFIT_CTR = IT_MATMASTER-PRCTR.

     

          IF NOT IT_MATMASTER-Mtart EQ '51'.

     

            BAPI_MARC-COMM_CODE = IT_MATMASTER-STAWN.

            BAPI_MARC-COUNTRYORI = IT_MATMASTER-HERKL.

            BAPI_MARC-REGIONORIG = IT_MATMASTER-HERKR.

     

            BAPI_MARCX-COMM_CODE = 'X'.

            BAPI_MARCX-COUNTRYORI = 'X'.

            BAPI_MARCX-REGIONORIG = 'X'.

     

          ENDIF.

     

     

          BAPI_MARC-MRP_GROUP = IT_MATMASTER-DISGR.

          BAPI_MARC-MRP_TYPE = IT_MATMASTER-DISMM.

          BAPI_MARC-MRP_CTRLER = IT_MATMASTER-DISPO.

          BAPI_MARC-LOTSIZEKEY = IT_MATMASTER-DISLS.

          BAPI_MARC-MINLOTSIZE = IT_MATMASTER-BSTMI.

          BAPI_MARC-ROUND_VAL = IT_MATMASTER-BSTRF.

          BAPI_MARC-PROC_TYPE = IT_MATMASTER-BESKZ.

          BAPI_MARC-BACKFLUSH = IT_MATMASTER-RGEKZ .

          BAPI_MARC-ISS_ST_LOC = IT_MATMASTER-LGPRO.

          BAPI_MARC-DETERM_GRP = IT_MATMASTER-EPRIO.

          BAPI_MARC-SM_KEY = IT_MATMASTER-FHORI.

          BAPI_MARC-PERIOD_IND = IT_MATMASTER-PERKZ.

          BAPI_MARC-PLAN_STRGP = IT_MATMASTER-STRGR.

          BAPI_MARC-CONSUMMODE = IT_MATMASTER-VRMOD.

          BAPI_MARC-BWD_CONS = IT_MATMASTER-VINT1.

          BAPI_MARC-FWD_CONS = IT_MATMASTER-VINT2.

          BAPI_MARC-ALT_BOM_ID = IT_MATMASTER-ALTSL.

          BAPI_MARC-PRODUCTION_SCHEDULER = IT_MATMASTER-FEVOR.

     

          IF NOT IT_MATMASTER-Mtart EQ '65'.

            BAPI_MARC-IND_POST_TO_INSP_STOCK = IT_MATMASTER-INSMK.

            BAPI_MARC-OVER_TOL = IT_MATMASTER-UEETO.

     

            BAPI_MARCX-IND_POST_TO_INSP_STOCK = 'X'.

            BAPI_MARCX-OVER_TOL = 'X'.

     

     

          ENDIF.

     

    *----

    -


    > Novas Entradas

          IF IT_MATMASTER-Mtart EQ '65'.

     

                 BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP .

                 BAPI_MARC-AUTO_P_ORD = IT_MATMASTER-KAUTB .

                 BAPI_MARC-GR_PR_TIME = IT_MATMASTER-WEBAZ .

                 BAPI_MARC-IND_POST_TO_INSP_STOCK = IT_MATMASTER-INSMK1 .

                 BAPI_MARC-SOURCELIST = IT_MATMASTER-KORDB .

                 BAPI_MARC-EXPIMPGRP = IT_MATMASTER-MTVER .

     

     

                 BAPI_MARCX-PUR_GROUP = 'X'.

                 BAPI_MARCX-AUTO_P_ORD = 'X'.

            BAPI_MARCX-GR_PR_TIME = 'X'.

            BAPI_MARCX-IND_POST_TO_INSP_STOCK = 'X'.

            BAPI_MARCX-SOURCELIST = 'X'.

            BAPI_MARCX-EXPIMPGRP = 'X'.

          ENDIF.

     

    *----

    -


    > Novas Entradas

     

     

          BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.

          BAPI_MARCX-AVAILCHECK = 'X'.

          BAPI_MARCX-LOADINGGRP = 'X'.

          BAPI_MARCX-PROFIT_CTR = 'X'.

     

          BAPI_MARCX-MRP_GROUP = 'X'.

          BAPI_MARCX-MRP_TYPE = 'X'.

          BAPI_MARCX-MRP_CTRLER = 'X'.

          BAPI_MARCX-LOTSIZEKEY = 'X'.

          BAPI_MARCX-MINLOTSIZE = 'X'.

          BAPI_MARCX-ROUND_VAL = 'X'.

          BAPI_MARCX-PROC_TYPE = 'X'.

          BAPI_MARCX-BACKFLUSH = 'X'.

          BAPI_MARCX-ISS_ST_LOC = 'X'.

          BAPI_MARCX-DETERM_GRP = 'X'.

          BAPI_MARCX-SM_KEY = 'X'.

          BAPI_MARCX-PERIOD_IND = 'X'.

          BAPI_MARCX-PLAN_STRGP = 'X'.

          BAPI_MARCX-CONSUMMODE = 'X'.

          BAPI_MARCX-BWD_CONS = 'X'.

          BAPI_MARCX-FWD_CONS = 'X'.

          BAPI_MARCX-ALT_BOM_ID = 'X'.

          BAPI_MARCX-PRODUCTION_SCHEDULER = 'X'.

     

    *----

    -


    Preencimento de dados Relativos a MLGN

     

          BAPI_MLGN-WHSE_NO = 'S01'.

          BAPI_MLGN-WITHDRAWAL = IT_MATMASTER-LTKZA_S01.

          BAPI_MLGN-PLACEMENT = IT_MATMASTER-LTKZE_S01.

          BAPI_MLGN-STGESECTOR = IT_MATMASTER-LGBKZ_S01.

          BAPI_MLGN-L_EQUIP_1 = IT_MATMASTER-LHMG1.

          BAPI_MLGN-L_EQUIP_2 = IT_MATMASTER-LHMG2.

          BAPI_MLGN-L_EQUIP_3 = IT_MATMASTER-LHMG3.

          BAPI_MLGN-LEQ_UNIT_1 = IT_MATMASTER-LHME1.

          BAPI_MLGN-LEQ_UNIT_2 = IT_MATMASTER-LHME2.

          BAPI_MLGN-LEQ_UNIT_3 = IT_MATMASTER-LHME3.

          BAPI_MLGN-UNITTYPE_1 = IT_MATMASTER-LETY1.

          BAPI_MLGN-UNITTYPE_2 = IT_MATMASTER-LETY2.

          BAPI_MLGN-UNITTYPE_3 = IT_MATMASTER-LETY3.

     

          BAPI_MLGNX-WHSE_NO = 'S01'.

          BAPI_MLGNX-WITHDRAWAL = 'X'.

          BAPI_MLGNX-PLACEMENT = 'X'.

          BAPI_MLGNX-STGESECTOR = 'X'.

          BAPI_MLGNX-L_EQUIP_1 = 'X'.

          BAPI_MLGNX-L_EQUIP_2 = 'X'.

          BAPI_MLGNX-L_EQUIP_3 = 'X'.

          BAPI_MLGNX-LEQ_UNIT_1 = 'X'.

          BAPI_MLGNX-LEQ_UNIT_2 = 'X'.

          BAPI_MLGNX-LEQ_UNIT_3 = 'X'.

          BAPI_MLGNX-UNITTYPE_1 = 'X'.

          BAPI_MLGNX-UNITTYPE_2 = 'X'.

          BAPI_MLGNX-UNITTYPE_3 = 'X'.

     

    *----

    -


    Preencimento de dados Relativos a MBEW

    • BAPI_MBEW,

    • BAPI_MBEWX,

          BAPI_MBEW-VAL_CLASS = IT_MATMASTER-BKLAS.

          BAPI_MBEW-PRICE_CTRL = IT_MATMASTER-VPRSV.

          BAPI_MBEW-STD_PRICE = IT_MATMASTER-VERPR.

          BAPI_MBEW-PRICE_UNIT = IT_MATMASTER-PEINH.

          BAPI_MBEW-VAL_AREA = 'CLPS'."IT_MATMASTER-BWKEY.

     

          BAPI_MBEWX-VAL_AREA = 'CLPS'."IT_MATMASTER-BWKEY.

          BAPI_MBEWX-VAL_CLASS = 'X'.

          BAPI_MBEWX-PRICE_CTRL = 'X'.

          BAPI_MBEWX-STD_PRICE = 'X'.

          BAPI_MBEWX-PRICE_UNIT = 'X'.

     

     

     

     

    • ---------------------------------------------------> Material Descrition

     

          IT_MATERIALDESC-LANGU = sy-langu. "'EN'.

          IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.

     

          APPEND IT_materialdesc.

     

    *----

    -


    Gross Weight, Volume and EAN

     

     

     

     

    *Volume é preciso uma rotina de conversão

    *----


    *

    •                                                                      *

    *----


    *

     

          CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'

            EXPORTING

              INPUT                = IT_MATMASTER-VOLEH

    •   LANGUAGE             = SY-LANGU

           IMPORTING

             OUTPUT               = VolumUnitConv

           EXCEPTIONS

             UNIT_NOT_FOUND       = 1

             OTHERS               = 2

                    .

          IF SY-SUBRC <> 0.

            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

                    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

          ENDIF.

     

          CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'

            EXPORTING

              INPUT                = IT_MATMASTER-MEINS

    •   LANGUAGE             = SY-LANGU

           IMPORTING

             OUTPUT               = UnitConv

           EXCEPTIONS

             UNIT_NOT_FOUND       = 1

             OTHERS               = 2

                    .

          IF SY-SUBRC <> 0.

            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

                    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

          ENDIF.

     

     

     

    *----


    *

    •                                                                      *

    *----


    *

     

          IT_UOM-GROSS_WT = IT_MATMASTER-BRGEW.

          IT_UOM-ALT_UNIT = UnitConv.

    •      IT_UOM-ALT_UNIT_ISO = IT_MATMASTER-GEWEI.

     

          IT_UOM-UNIT_OF_WT = IT_MATMASTER-GEWEI.

     

          IT_UOM-EAN_UPC = IT_MATMASTER-EAN11.

          IT_UOM-EAN_CAT = IT_MATMASTER-NUMTP.

     

     

          IT_UOM-VOLUME = IT_MATMASTER-VOLUM.

          IT_UOM-VOLUMEUNIT = VolumUnitConv.

    •      IT_UOM-VOLUMEUNIT_ISO = IT_MATMASTER-VOLEH.

     

     

          APPEND IT_UOM.

     

          IT_UOMX-ALT_UNIT = IT_MATMASTER-MEINS.

    •      IT_UOMX-ALT_UNIT_ISO = IT_MATMASTER-GEWEI.

          IT_UOMX-GROSS_WT = 'X'.

          IT_UOMX-UNIT_OF_WT = 'X'.

          IT_UOMX-EAN_UPC = 'X'.

          IT_UOMX-EAN_CAT = 'X'.

     

    *Volume

          IT_UOMX-VOLUME = 'X'.

          IT_UOMX-VOLUMEUNIT = 'X'.

    •      IT_UOMX-VOLUMEUNIT_ISO = 'X'.

     

          APPEND IT_UOMX.

     

     

     

          CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

            EXPORTING

              headdata             = BAPIMATHEAD

              CLIENTDATA           = BAPI_MARA

              CLIENTDATAX          = BAPI_MARAx

              PLANTDATA            = BAPI_MARc

              PLANTDATAX           = BAPI_MARcx

              VALUATIONDATA        = BAPI_MBEW

              VALUATIONDATAX       = BAPI_MBEWX

              WAREHOUSENUMBERDATA  = BAPI_MLGN

              WAREHOUSENUMBERDATAX = BAPI_MLGNX

              SALESDATA            = BAPI_MVKE

              SALESDATAX           = BAPI_MVKEX

            IMPORTING

              RETURN               = IT_RETURN

            TABLES

              MATERIALDESCRIPTION  = IT_MATERIALDESC

              UNITSOFMEASURE       = IT_UOM

              UNITSOFMEASUREX      = IT_UOMX

              MATERIALLONGTEXT     = text

              TAXCLASSIFICATIONS   = it_MLAN.

     

     

     

          if it_return-type eq 'S'.

     

            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

     

     

         endif.

     

    •      WAIT UP TO 10 SECONDS.

     

          WRITE : / IT_RETURN-MESSAGE.

    *

          CLEAR: IT_MATERIALDESC[],

                 IT_UOM[],

                 IT_UOMX[],

                 it_MLAN[],

                 IT_RETURN,

                 text,

                 BAPIMATHEAD,

                 BAPI_MARA,

                 BAPI_MARAx,

                 BAPI_MARc,

                 BAPI_MARcx,

                 BAPI_MBEW,

    BAPI_MBEWX,

    BAPI_MLGN,

    BAPI_MLGNX,

    BAPI_MVKE,

    BAPI_MVKEX

    .

     

        ENDLOOP.

     

Actions