<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BAPI_MATERIAL_SAVEDATA in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611821#M870145</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try this Bapi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;BAPI_MATERIAL_DELETE&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Morris Bond.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward Points if Helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 28 Mar 2008 04:29:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-28T04:29:38Z</dc:date>
    <item>
      <title>BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611819#M870143</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi can any one tell me to update the flag for deletion filed in mm02 by using BAPI_MATERIAL_SAVEDATA BAPI&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2008 04:23:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611819#M870143</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-28T04:23:33Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611820#M870144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRY THIS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; Report ZKAR_MATMAS_BAPI

*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; This program demonstrates how easy it is to create Material master

*&amp;amp; data using BAPI_MATERIAL_SAVEDATA

*&amp;amp; The program also generates a report post-execution displaying errors

*&amp;amp; as well as successful uploads

*&amp;amp;---------------------------------------------------------------------*
REPORT ZKAR_MATMAS_BAPI.
*----------------------------------------------------------------------*

* TABLES

*----------------------------------------------------------------------*
*----------------------------------------------------------------------*

* FLAGS *

*----------------------------------------------------------------------*
DATA: F_STOP. " Flag used to stop processing
*----------------------------------------------------------------------*

* DATA DECLARATIONS *

*----------------------------------------------------------------------*
DATA : V_EMPTY TYPE I, " No. of empty records

V_TOTAL TYPE I. " Total no. of records.
*----------------------------------------------------------------------*

* STRUCTURES &amp;amp; INTERNAL TABLES

*----------------------------------------------------------------------*
*BAPI structures

*----------------------------------------------------------------------*

DATA: BAPI_HEAD LIKE BAPIMATHEAD, " Header Segment with Control Information

BAPI_MAKT LIKE BAPI_MAKT, " Material Description

BAPI_MARA1 LIKE BAPI_MARA, " Client Data

BAPI_MARAX LIKE BAPI_MARAX, " Checkbox Structure for BAPI_MARA

BAPI_MARC1 LIKE BAPI_MARC, " Plant View

BAPI_MARCX LIKE BAPI_MARCX, " Checkbox Structure for BAPI_MARC

BAPI_MBEW1 LIKE BAPI_MBEW, " Accounting View

BAPI_MBEWX LIKE BAPI_MBEWX, " Checkbox Structure for BAPI_MBEW

BAPI_RETURN LIKE BAPIRET2. " Return Parameter

*--- Internal table to hold excel file data

DATA: IT_INTERN TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

*--- Internal table to hold Matetrial descriptions

DATA: BEGIN OF IT_MAKT OCCURS 100.

        INCLUDE STRUCTURE BAPI_MAKT.

DATA: END OF IT_MAKT.

*--- Internal to hold the records in the text file

DATA : BEGIN OF IT_DATA OCCURS 100,

            WERKS(4), " Plant

            MTART(4), " Material type

            MATNR(18), " Material number

            MATKL(9) , " Material group

            MBRSH(1), " Industry sector

            MEINS(3), " Base unit of measure

            GEWEI(3), " Weight Unit

            SPART(2), " Division

            EKGRP(3), " Purchasing group

            VPRSV(1), " Price control indicator

            STPRS(12), " Standard price

            PEINH(3), " Price unit

            SPRAS(2), " Language key

            MAKTX(40), " Material description

            END OF IT_DATA.

*----------------------------------------------------------------------*

* SELECTION SCREEN. *

*----------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT-111.

PARAMETER : P_FILE TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT " Input File

'C:\Material_master.XLS'.

PARAMETER : P_MAX(4) OBLIGATORY DEFAULT '100'. " no.of recs in a session

PARAMETERS: P_HEADER TYPE I DEFAULT 0. " Header Lines

PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,

P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,

P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,

P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.

SELECTION-SCREEN END OF BLOCK SCR1.

*---------------------------------------------------------------------*

* AT SELECTION-SCREEN *

*---------------------------------------------------------------------*

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

*--- Validating file

  PERFORM VALIDATE_FILE USING P_FILE.

*----------------------------------------------------------------------*

* START-OF-SELECTION

*----------------------------------------------------------------------*

START-OF-SELECTION.

*--- Perform to convert the Excel data into an internal table

  PERFORM CONVERT_XLS_ITAB.

  IF NOT IT_DATA[] IS INITIAL.

*--- Perform to delete Header lines

    PERFORM DELETE_HEADER_EMPTY_RECS.

  ENDIF.

*----------------------------------------------------------------------*

* END OF SELECTION. *

*----------------------------------------------------------------------*

END-OF-SELECTION.

*--- Perform to upload Material Master data

  PERFORM UPLOAD_MATMAS.

*----------------------------------------------------------------------*

* Form : validate_input_file

*----------------------------------------------------------------------*

* Description : To provide F4 help for file if read from PC

*----------------------------------------------------------------------*

FORM VALIDATE_FILE USING F_FILE TYPE RLGRAP-FILENAME.

  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
    CHANGING
      FILE_NAME     = F_FILE
    EXCEPTIONS
      MASK_TOO_LONG = 1
      OTHERS        = 2.

  IF SY-SUBRC &amp;lt;&amp;gt; 0.

    MESSAGE S010(ZLKPL_MSGCLASS). " 'Error in getting filename'.

  ENDIF.

ENDFORM. " validate_input_file

*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; Form CONVER_XLS_ITAB

*&amp;amp;---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

FORM CONVERT_XLS_ITAB.

  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME    = P_FILE
      I_BEGIN_COL = P_BEGCOL
      I_BEGIN_ROW = P_BEGROW
      I_END_COL   = P_ENDCOL
      I_END_ROW   = P_ENDROW
    TABLES
      INTERN      = IT_INTERN.

  IF SY-SUBRC &amp;lt;&amp;gt; 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ENDIF.

*--- Perform to move the data into an internal data

  PERFORM MOVE_DATA.

ENDFORM. " CONVERT_XLS_ITAB

*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; Form MOVE_DATA

*&amp;amp;---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

FORM MOVE_DATA.

  DATA : LV_INDEX TYPE I.

  FIELD-SYMBOLS &amp;lt;FS&amp;gt;.

*--- Sorting the internal table

  SORT IT_INTERN BY ROW COL.

  CLEAR IT_INTERN.

  LOOP AT IT_INTERN.

    MOVE IT_INTERN-COL TO LV_INDEX.

*--- Assigning the each record to an internal table row

    ASSIGN COMPONENT LV_INDEX OF STRUCTURE IT_DATA TO &amp;lt;FS&amp;gt;.

*--- Asigning the field value to a field symbol

    MOVE IT_INTERN-VALUE TO &amp;lt;FS&amp;gt;.

    AT END OF ROW.

      APPEND IT_DATA.

      CLEAR IT_DATA.

    ENDAT.

  ENDLOOP.

ENDFORM. " MOVE_DATA

*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; Form DELETE_HEADER_EMPTY_RECS

*&amp;amp;---------------------------------------------------------------------*

* To delete the Header and empty records

*----------------------------------------------------------------------*

FORM DELETE_HEADER_EMPTY_RECS.

  DATA: LV_TABIX LIKE SY-TABIX.

  IF NOT P_HEADER IS INITIAL.

    LOOP AT IT_DATA.

      IF P_HEADER &amp;gt; 0 AND NOT IT_DATA IS INITIAL.

        DELETE IT_DATA FROM 1 TO P_HEADER.

* P_HEADER = 0.

        EXIT.

      ENDIF.

    ENDLOOP.

  ENDIF.

  CLEAR IT_DATA.

*--- To delete the empty lines from internal table

  LOOP AT IT_DATA.

    LV_TABIX = SY-TABIX.

    IF IT_DATA IS INITIAL.

      V_EMPTY = V_EMPTY + 1.

      DELETE IT_DATA INDEX LV_TABIX..

    ENDIF.

  ENDLOOP.

  CLEAR IT_DATA.

*--- Total no of recs in file

  DESCRIBE TABLE IT_DATA LINES V_TOTAL.

  IF V_TOTAL = 0.

    MESSAGE I013(ZLKPL_MSGCLASS). " No records in the file

    F_STOP = 'X'.

    STOP.

  ENDIF.

ENDFORM. " DELETE_HEADER_EMPTY_RECS

*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; Form UPLOAD_MATMAS

*&amp;amp;---------------------------------------------------------------------*

* to upload Material Master data

*----------------------------------------------------------------------*

FORM UPLOAD_MATMAS .

  LOOP AT IT_DATA.

* Header
    UNPACK IT_DATA-MATNR TO IT_DATA-MATNR.
    BAPI_HEAD-MATERIAL = IT_DATA-MATNR.

    BAPI_HEAD-IND_SECTOR = IT_DATA-MBRSH.

    BAPI_HEAD-MATL_TYPE = IT_DATA-MTART.

    BAPI_HEAD-BASIC_VIEW = 'X'.

    BAPI_HEAD-PURCHASE_VIEW = 'X'.

    BAPI_HEAD-ACCOUNT_VIEW = 'X'.

* Material Description

    REFRESH IT_MAKT.

    IT_MAKT-LANGU = IT_DATA-SPRAS.

    IT_MAKT-MATL_DESC = IT_DATA-MAKTX.

    APPEND IT_MAKT.

* Client Data - Basic

    BAPI_MARA1-MATL_GROUP = IT_DATA-MATKL.

    BAPI_MARA1-BASE_UOM = IT_DATA-MEINS.

    BAPI_MARA1-UNIT_OF_WT = IT_DATA-GEWEI.

    BAPI_MARA1-DIVISION = IT_DATA-SPART.

    BAPI_MARAX-MATL_GROUP = 'X'.

    BAPI_MARAX-BASE_UOM = 'X'.

    BAPI_MARAX-UNIT_OF_WT = 'X'.

    BAPI_MARAX-DIVISION = 'X'.

* Plant - Purchasing

    BAPI_MARC1-PLANT = IT_DATA-WERKS.

    BAPI_MARC1-PUR_GROUP = IT_DATA-EKGRP.

    BAPI_MARCX-PLANT = IT_DATA-WERKS.

    BAPI_MARCX-PUR_GROUP = 'X'.

* Accounting

    BAPI_MBEW1-VAL_AREA = IT_DATA-WERKS.

    BAPI_MBEW1-PRICE_CTRL = IT_DATA-VPRSV.

    BAPI_MBEW1-STD_PRICE = IT_DATA-STPRS.

    BAPI_MBEW1-PRICE_UNIT = IT_DATA-PEINH.

    BAPI_MBEWX-VAL_AREA = IT_DATA-WERKS.

    BAPI_MBEWX-PRICE_CTRL = 'X'.

    BAPI_MBEWX-STD_PRICE = 'X'.

    BAPI_MBEWX-PRICE_UNIT = 'X'.

*--- BAPI to create material

    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

    EXPORTING

    HEADDATA = BAPI_HEAD

    CLIENTDATA = BAPI_MARA1

    CLIENTDATAX = BAPI_MARAX

    PLANTDATA = BAPI_MARC1

    PLANTDATAX = BAPI_MARCX

* FORECASTPARAMETERS =

* FORECASTPARAMETERSX =

* PLANNINGDATA =

* PLANNINGDATAX =

* STORAGELOCATIONDATA =

* STORAGELOCATIONDATAX =

* VALUATIONDATA = BAPI_MBEW1

* VALUATIONDATAX = BAPI_MBEWX

* WAREHOUSENUMBERDATA =

* WAREHOUSENUMBERDATAX =

* SALESDATA = BAPI_MVKE1

* SALESDATAX = BAPI_MVKEX

* STORAGETYPEDATA =

* STORAGETYPEDATAX =

    IMPORTING

    RETURN = BAPI_RETURN

    TABLES

    MATERIALDESCRIPTION = IT_MAKT

* UNITSOFMEASURE =

* UNITSOFMEASUREX =

* INTERNATIONALARTNOS =

* MATERIALLONGTEXT =

* TAXCLASSIFICATIONS =

* RETURNMESSAGES =

* PRTDATA =

* PRTDATAX =

* EXTENSIONIN =

* EXTENSIONINX =

    .

    IF BAPI_RETURN-TYPE = 'E'.

      WRITE:/ 'Error:' ,BAPI_RETURN-MESSAGE ,'for material:' ,IT_DATA-MATNR.

    ELSEIF BAPI_RETURN-TYPE = 'S'.

      WRITE: 'Successfully created material' ,IT_DATA-MATNR.

    ENDIF.

  ENDLOOP.

ENDFORM. " UPLOAD_MATMAS&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V.Balaji&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if Usefull...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2008 04:26:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611820#M870144</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-28T04:26:59Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611821#M870145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try this Bapi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;BAPI_MATERIAL_DELETE&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Morris Bond.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward Points if Helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2008 04:29:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611821#M870145</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-28T04:29:38Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611822#M870146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Morris &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you don't mind can you tell me how to use this Bapi &lt;/P&gt;&lt;P&gt;a sample program &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks and regards &lt;/P&gt;&lt;P&gt;naresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2008 04:36:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611822#M870146</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-28T04:36:16Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611823#M870147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;CALL FUNCTION 'BAPI_MATERIAL_DELETE'
               DESTINATION lv_destination-rfc_dest
             EXPORTING
                  material = lv_matnr
             EXCEPTIONS
                  system_failure        = 1 MESSAGE lv_mess
                  communication_failure = 2 MESSAGE lv_mess.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Morris Bond.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewards Points if helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2008 05:36:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611823#M870147</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-28T05:36:07Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611824#M870148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;BAPI_MATERIAL_DELETE &lt;/P&gt;&lt;P&gt;It does a call transaction from within a BAPI. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try MATERIAL_UPDATE_LVORM &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To delete materials permanently from Material master&lt;/P&gt;&lt;P&gt;Use transaction MM70 - &lt;/P&gt;&lt;P&gt;Material Master-&amp;gt;Other-&amp;gt;Reorganization-&amp;gt;Material-&amp;gt;Choose.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Build variant with selection range of material master records to be selected for deletion and maintain run parameters. Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use transaction MM71 - &lt;/P&gt;&lt;P&gt;Material Master-&amp;gt; other-&amp;gt;Reorganization-&amp;gt;Material&lt;/P&gt;&lt;P&gt;-&amp;gt;Reorganization&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Build a second variant&lt;/P&gt;&lt;P&gt;Maintain run parameters and execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is also important to remove the records manually from info record, POs, PRs, reservation etc for successful deletion of the material.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2008 05:36:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/3611824#M870148</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-28T05:36:53Z</dc:date>
    </item>
  </channel>
</rss>

