<?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/2944219#M694073</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u can create or change the material using this bapi function module &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You use this method to create new material master data or to change&lt;/P&gt;&lt;P&gt;existing material master data. The data on a material can be transferred&lt;/P&gt;&lt;P&gt;for each call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When creating material master data, you must transfer the material&lt;/P&gt;&lt;P&gt;number, the material type, and the industry sector to the method. You&lt;/P&gt;&lt;P&gt;must also enter a material description and its language.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When changing material master data, you need enter only the material&lt;/P&gt;&lt;P&gt;number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the header data, you must select at least one view for which data is&lt;/P&gt;&lt;P&gt;to be created. Depending on the view selected, you must maintain other&lt;/P&gt;&lt;P&gt;required parameters. If you do not enter values for all of the required&lt;/P&gt;&lt;P&gt;parameters, the method is ended with an error message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The corresponding fields in the tables (such as CLIENTDATA) must first&lt;/P&gt;&lt;P&gt;be supplied with data by the calling program. An indicator must also be&lt;/P&gt;&lt;P&gt;set for each of these fields so that the data is written to the database&lt;/P&gt;&lt;P&gt;by the method. This requires the calling program to supply the&lt;/P&gt;&lt;P&gt;corresponding field with the indicator in a checkbox table (for example,&lt;/P&gt;&lt;P&gt;CLIENTDATAX). Checkbox tables exist for tables that do not contain any&lt;/P&gt;&lt;P&gt;language-dependent texts (MAKT, MLTX), International Article Numbers&lt;/P&gt;&lt;P&gt;(MEAN), or tax classifications (MLAN). Several data records for a&lt;/P&gt;&lt;P&gt;material can be created in these tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If a structure contains fields for units of measurement (such as&lt;/P&gt;&lt;P&gt;structure CLIENTDATA, field BASE_UOM), language indicators (such as&lt;/P&gt;&lt;P&gt;structure MATERIALDESCRIPTION, field LANGU), or country indicators (such&lt;/P&gt;&lt;P&gt;as structure TAXCLASSIFICATIONS, field DEPCOUNTRY), there is always a&lt;/P&gt;&lt;P&gt;field of the same name with the ending _ISO. This makes it possible to&lt;/P&gt;&lt;P&gt;transfer either the internally used SAP code or a standardized ISO code&lt;/P&gt;&lt;P&gt;for the units of measurement, language indicators, or country&lt;/P&gt;&lt;P&gt;indicators. ISO codes are converted to an SAP code internally for&lt;/P&gt;&lt;P&gt;further processing. The ISO code is used only if the SAP code is not&lt;/P&gt;&lt;P&gt;transferred. If you use ISO codes, there must be a unique assignment of&lt;/P&gt;&lt;P&gt;the ISO code to the SAP code in the following activities in Customizing&lt;/P&gt;&lt;P&gt;for Global Parameters:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o   Check Units of Measurement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o   Define Countries&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to maintain long texts (basic data texts, internal comments,&lt;/P&gt;&lt;P&gt;purchase order texts, material memos, or sales texts) or&lt;/P&gt;&lt;P&gt;customer-defined fields for a material, some special conditions have to&lt;/P&gt;&lt;P&gt;be observed. They are described in the documentation for parameters&lt;/P&gt;&lt;P&gt;MATERIALLONGTEXT and EXTENSIONIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:BAPIMATHEAD,BAPI_MAKT,BAPI_MARA,BAPI_MARAX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;      MATERIAL TYPE BAPIMATHEAD-MATERIAL,&lt;/P&gt;&lt;P&gt;      IND_SECTOR(20),&lt;/P&gt;&lt;P&gt;      MATL_TYPE TYPE BAPIMATHEAD-MATL_TYPE,&lt;/P&gt;&lt;P&gt;      MATL_GROUP TYPE BAPI_MARA-MATL_GROUP,&lt;/P&gt;&lt;P&gt;      LANGU TYPE BAPI_MAKT-LANGU,&lt;/P&gt;&lt;P&gt;      MATL_DESC TYPE BAPI_MAKT-MATL_DESC,&lt;/P&gt;&lt;P&gt;     END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:IT_RETURN LIKE BAPIRET2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:IT_BAPI LIKE BAPI_MAKT OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:P_FILE TYPE IBIPPARMS-PATH OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM GET_F4HELP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM UPLOAD_FILE_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM CALL_BAPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_f4help&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_F4HELP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   PROGRAM_NAME        = SYST-CPROG&lt;/P&gt;&lt;P&gt;   DYNPRO_NUMBER       = SYST-DYNNR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD_NAME          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FILE_NAME           = P_FILE&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_f4help&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  upload_file_itab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UPLOAD_FILE_ITAB .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:V_FILE TYPE STRING.&lt;/P&gt;&lt;P&gt;MOVE P_FILE TO V_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;   FILENAME                      = V_FILE&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;   HAS_FIELD_SEPARATOR           = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_LENGTH                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  READ_BY_LINE                  = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_MODE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                   = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                   = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CHECK_BOM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VIRUS_SCAN_PROFILE            = VIRUS_SCAN_PROFILE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    = FILELENGTH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                        = HEADER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = ITAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BAD_DATA_FORMAT               = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_NOT_ALLOWED            = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEPARATOR_NOT_ALLOWED         = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_TOO_LONG               = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_DP_ERROR              = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACCESS_DENIED                 = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_OUT_OF_MEMORY              = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISK_FULL                     = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_TIMEOUT                    = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 17&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " upload_file_itab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  call_bapi&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CALL_BAPI .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-MATERIAL = ITAB-MATERIAL.&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-IND_SECTOR = ITAB-IND_SECTOR.&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-MATL_TYPE = ITAB-MATL_TYPE.&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-BASIC_VIEW = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BAPI_MARA-MATL_GROUP = ITAB-MATL_GROUP.&lt;/P&gt;&lt;P&gt;BAPI_MARA-BASE_UOM = 'KGS'.&lt;/P&gt;&lt;P&gt;BAPI_MARAX-MATL_GROUP = 'X'.&lt;/P&gt;&lt;P&gt;BAPI_MARAX-BASE_UOM = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_BAPI-LANGU = ITAB-LANGU.&lt;/P&gt;&lt;P&gt;IT_BAPI-LANGU_ISO = 'EN'.&lt;/P&gt;&lt;P&gt;IT_BAPI-MATL_DESC = ITAB-MATL_DESC.&lt;/P&gt;&lt;P&gt;APPEND IT_BAPI.&lt;/P&gt;&lt;P&gt;CLEAR IT_BAPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    HEADDATA                  = BAPIMATHEAD&lt;/P&gt;&lt;P&gt;   CLIENTDATA                 = BAPI_MARA&lt;/P&gt;&lt;P&gt;   CLIENTDATAX                = BAPI_MARAX&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;   RETURN                     = IT_RETURN&lt;/P&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   MATERIALDESCRIPTION        = IT_BAPI&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNITSOFMEASURE             = UNITSOFMEASURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNITSOFMEASUREX            = UNITSOFMEASUREX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNATIONALARTNOS        = INTERNATIONALARTNOS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MATERIALLONGTEXT           = MATERIALLONGTEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TAXCLASSIFICATIONS         = TAXCLASSIFICATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RETURNMESSAGES             = RETURNMESSAGES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRTDATA                    = PRTDATA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRTDATAX                   = PRTDATAX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSIONIN                = EXTENSIONIN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSIONINX               = EXTENSIONINX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WAIT          = WAIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RETURN        = RETURN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;WRITE:/ IT_RETURN-TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_bapi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Oct 2007 12:20:39 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-09T12:20:39Z</dc:date>
    <item>
      <title>BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/2944217#M694071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can somebody let me know whether BAPI_MATERIAL_SAVEDATA can be used to upload/change the data in 'Costing 1' view.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If it is possible, kindly let me know which paramaters to be set to change &lt;/P&gt;&lt;P&gt;MARC-LOSGR (Costing lot size) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Srikanth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Oct 2007 11:40:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/2944217#M694071</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-09T11:40:43Z</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/2944218#M694072</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Matt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check out this sample program using the same BAPI in my blog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://allaboutsap.blogspot.com/2007/09/program-to-create-material-master-data.html" target="test_blank"&gt;http://allaboutsap.blogspot.com/2007/09/program-to-create-material-master-data.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Populate the structures&lt;/P&gt;&lt;P&gt;BAPI_MARC1 LIKE BAPI_MARC, " Plant View&lt;/P&gt;&lt;P&gt;BAPI_MARCX LIKE BAPI_MARCX, " Checkbox Structure for BAPI_MARC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Karthik&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Oct 2007 12:00:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/2944218#M694072</guid>
      <dc:creator>former_member189629</dc:creator>
      <dc:date>2007-10-09T12:00:03Z</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/2944219#M694073</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u can create or change the material using this bapi function module &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You use this method to create new material master data or to change&lt;/P&gt;&lt;P&gt;existing material master data. The data on a material can be transferred&lt;/P&gt;&lt;P&gt;for each call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When creating material master data, you must transfer the material&lt;/P&gt;&lt;P&gt;number, the material type, and the industry sector to the method. You&lt;/P&gt;&lt;P&gt;must also enter a material description and its language.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When changing material master data, you need enter only the material&lt;/P&gt;&lt;P&gt;number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the header data, you must select at least one view for which data is&lt;/P&gt;&lt;P&gt;to be created. Depending on the view selected, you must maintain other&lt;/P&gt;&lt;P&gt;required parameters. If you do not enter values for all of the required&lt;/P&gt;&lt;P&gt;parameters, the method is ended with an error message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The corresponding fields in the tables (such as CLIENTDATA) must first&lt;/P&gt;&lt;P&gt;be supplied with data by the calling program. An indicator must also be&lt;/P&gt;&lt;P&gt;set for each of these fields so that the data is written to the database&lt;/P&gt;&lt;P&gt;by the method. This requires the calling program to supply the&lt;/P&gt;&lt;P&gt;corresponding field with the indicator in a checkbox table (for example,&lt;/P&gt;&lt;P&gt;CLIENTDATAX). Checkbox tables exist for tables that do not contain any&lt;/P&gt;&lt;P&gt;language-dependent texts (MAKT, MLTX), International Article Numbers&lt;/P&gt;&lt;P&gt;(MEAN), or tax classifications (MLAN). Several data records for a&lt;/P&gt;&lt;P&gt;material can be created in these tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If a structure contains fields for units of measurement (such as&lt;/P&gt;&lt;P&gt;structure CLIENTDATA, field BASE_UOM), language indicators (such as&lt;/P&gt;&lt;P&gt;structure MATERIALDESCRIPTION, field LANGU), or country indicators (such&lt;/P&gt;&lt;P&gt;as structure TAXCLASSIFICATIONS, field DEPCOUNTRY), there is always a&lt;/P&gt;&lt;P&gt;field of the same name with the ending _ISO. This makes it possible to&lt;/P&gt;&lt;P&gt;transfer either the internally used SAP code or a standardized ISO code&lt;/P&gt;&lt;P&gt;for the units of measurement, language indicators, or country&lt;/P&gt;&lt;P&gt;indicators. ISO codes are converted to an SAP code internally for&lt;/P&gt;&lt;P&gt;further processing. The ISO code is used only if the SAP code is not&lt;/P&gt;&lt;P&gt;transferred. If you use ISO codes, there must be a unique assignment of&lt;/P&gt;&lt;P&gt;the ISO code to the SAP code in the following activities in Customizing&lt;/P&gt;&lt;P&gt;for Global Parameters:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o   Check Units of Measurement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o   Define Countries&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to maintain long texts (basic data texts, internal comments,&lt;/P&gt;&lt;P&gt;purchase order texts, material memos, or sales texts) or&lt;/P&gt;&lt;P&gt;customer-defined fields for a material, some special conditions have to&lt;/P&gt;&lt;P&gt;be observed. They are described in the documentation for parameters&lt;/P&gt;&lt;P&gt;MATERIALLONGTEXT and EXTENSIONIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:BAPIMATHEAD,BAPI_MAKT,BAPI_MARA,BAPI_MARAX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;      MATERIAL TYPE BAPIMATHEAD-MATERIAL,&lt;/P&gt;&lt;P&gt;      IND_SECTOR(20),&lt;/P&gt;&lt;P&gt;      MATL_TYPE TYPE BAPIMATHEAD-MATL_TYPE,&lt;/P&gt;&lt;P&gt;      MATL_GROUP TYPE BAPI_MARA-MATL_GROUP,&lt;/P&gt;&lt;P&gt;      LANGU TYPE BAPI_MAKT-LANGU,&lt;/P&gt;&lt;P&gt;      MATL_DESC TYPE BAPI_MAKT-MATL_DESC,&lt;/P&gt;&lt;P&gt;     END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:IT_RETURN LIKE BAPIRET2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:IT_BAPI LIKE BAPI_MAKT OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:P_FILE TYPE IBIPPARMS-PATH OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM GET_F4HELP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM UPLOAD_FILE_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM CALL_BAPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_f4help&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_F4HELP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   PROGRAM_NAME        = SYST-CPROG&lt;/P&gt;&lt;P&gt;   DYNPRO_NUMBER       = SYST-DYNNR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD_NAME          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FILE_NAME           = P_FILE&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_f4help&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  upload_file_itab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UPLOAD_FILE_ITAB .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:V_FILE TYPE STRING.&lt;/P&gt;&lt;P&gt;MOVE P_FILE TO V_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;   FILENAME                      = V_FILE&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;   HAS_FIELD_SEPARATOR           = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_LENGTH                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  READ_BY_LINE                  = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_MODE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                   = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                   = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CHECK_BOM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VIRUS_SCAN_PROFILE            = VIRUS_SCAN_PROFILE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    = FILELENGTH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                        = HEADER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = ITAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BAD_DATA_FORMAT               = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_NOT_ALLOWED            = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEPARATOR_NOT_ALLOWED         = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_TOO_LONG               = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_DP_ERROR              = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACCESS_DENIED                 = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_OUT_OF_MEMORY              = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISK_FULL                     = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_TIMEOUT                    = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 17&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " upload_file_itab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  call_bapi&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CALL_BAPI .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-MATERIAL = ITAB-MATERIAL.&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-IND_SECTOR = ITAB-IND_SECTOR.&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-MATL_TYPE = ITAB-MATL_TYPE.&lt;/P&gt;&lt;P&gt;BAPIMATHEAD-BASIC_VIEW = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BAPI_MARA-MATL_GROUP = ITAB-MATL_GROUP.&lt;/P&gt;&lt;P&gt;BAPI_MARA-BASE_UOM = 'KGS'.&lt;/P&gt;&lt;P&gt;BAPI_MARAX-MATL_GROUP = 'X'.&lt;/P&gt;&lt;P&gt;BAPI_MARAX-BASE_UOM = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_BAPI-LANGU = ITAB-LANGU.&lt;/P&gt;&lt;P&gt;IT_BAPI-LANGU_ISO = 'EN'.&lt;/P&gt;&lt;P&gt;IT_BAPI-MATL_DESC = ITAB-MATL_DESC.&lt;/P&gt;&lt;P&gt;APPEND IT_BAPI.&lt;/P&gt;&lt;P&gt;CLEAR IT_BAPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    HEADDATA                  = BAPIMATHEAD&lt;/P&gt;&lt;P&gt;   CLIENTDATA                 = BAPI_MARA&lt;/P&gt;&lt;P&gt;   CLIENTDATAX                = BAPI_MARAX&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;   RETURN                     = IT_RETURN&lt;/P&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   MATERIALDESCRIPTION        = IT_BAPI&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNITSOFMEASURE             = UNITSOFMEASURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNITSOFMEASUREX            = UNITSOFMEASUREX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNATIONALARTNOS        = INTERNATIONALARTNOS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MATERIALLONGTEXT           = MATERIALLONGTEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TAXCLASSIFICATIONS         = TAXCLASSIFICATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RETURNMESSAGES             = RETURNMESSAGES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRTDATA                    = PRTDATA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRTDATAX                   = PRTDATAX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSIONIN                = EXTENSIONIN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSIONINX               = EXTENSIONINX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WAIT          = WAIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RETURN        = RETURN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;WRITE:/ IT_RETURN-TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_bapi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Oct 2007 12:20:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-material-savedata/m-p/2944219#M694073</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-09T12:20:39Z</dc:date>
    </item>
  </channel>
</rss>

