<?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: Can't create EAN/UPC using BAPI_MATERIAL_SAVEDATA in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/can-t-create-ean-upc-using-bapi-material-savedata/m-p/5204062#M1203941</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Surely it will work, i have done in my last company. I have use BAPI_MATERIAL_MAINTAINDATA_RT.&lt;/P&gt;&lt;P&gt;But try passing EA to it_unitofmeas as well if there is any field. I will try to get the code ASAP as of now it is not with me. But i am sure it will work. All the best.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For my FM i have passed to the structures&lt;/P&gt;&lt;P&gt;E1BPE1MARMRT - ALT_UNIT            -EA&lt;/P&gt;&lt;P&gt;E1BPE1MARMRT - ALT_UNIT_ISO     -EA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E1BPE1MARMRTX - ALT_UNIT            -EA&lt;/P&gt;&lt;P&gt;E1BPE1MARMRTX - ALT_UNIT_ISO     -EA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Phanindra Annaparthi on Feb 27, 2009 8:43 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Feb 2009 07:28:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-02-27T07:28:46Z</dc:date>
    <item>
      <title>Can't create EAN/UPC using BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/can-t-create-ean-upc-using-bapi-material-savedata/m-p/5204061#M1203940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi I'm trying to create a material using the bapi: BAPI_MATERIAL_SAVEDATA &lt;/P&gt;&lt;P&gt;I'm able to create the matter as long as I don't try to assign/create EAN&lt;/P&gt;&lt;P&gt;If I try to assign/create EAN I get the following message:&lt;/P&gt;&lt;P&gt;First specify the main EAN for the unit EA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my program I'm only assigning the values in the following fields (see code below):&lt;/P&gt;&lt;P&gt;it_intartnum-unit&lt;/P&gt;&lt;P&gt;it_intartnum-ean_cat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because if I go to transaction MM02 all I have to do is assign a value to ean_cat (NUMTP) field and it automatically generates and assigns an EAN/UPC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please tell me which structures/fields I need to fill to get this bapi to work?&lt;/P&gt;&lt;P&gt;Here's the code that i have so far:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zmm_upload_captaris                     .&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               STRUCTURE  DECLARATIONS                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: bapimathead,  "Headerdata&lt;/P&gt;&lt;P&gt;        bapi_mara,    "Clientdata&lt;/P&gt;&lt;P&gt;        bapi_marax,   "Checkbox Structure for BAPI_MARA&lt;/P&gt;&lt;P&gt;        bapi_marc,    "Plantdata&lt;/P&gt;&lt;P&gt;        bapi_marcx,   "Checkbox Structure for BAPI_MARC&lt;/P&gt;&lt;P&gt;        bapi_makt,    "Material description&lt;/P&gt;&lt;P&gt;        bapi_mbew,    "Valuation Data&lt;/P&gt;&lt;P&gt;        bapi_mbewx,   "Checkbox Structure for BAPI_MBEW&lt;/P&gt;&lt;P&gt;        bapiret2,     "Return messages&lt;/P&gt;&lt;P&gt;        bapi_mean.    "International Article Numbers (EANs)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:v_file TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF lsmw_material_master,&lt;/P&gt;&lt;P&gt;    matnr(018) TYPE c,  "Material number&lt;/P&gt;&lt;P&gt;    mbrsh(001) TYPE c,  "Industry sector&lt;/P&gt;&lt;P&gt;    mtart(004) TYPE c,  "Material type&lt;/P&gt;&lt;P&gt;    maktx(040) TYPE c,  "Material description&lt;/P&gt;&lt;P&gt;    meins(003) TYPE c,  "Base unit of measure&lt;/P&gt;&lt;P&gt;    matkl(009) TYPE c,  "Material group&lt;/P&gt;&lt;P&gt;    spart(002) TYPE c,  "Division&lt;/P&gt;&lt;P&gt;    mtpos_mara(004) TYPE c,  "Gen item cat group&lt;/P&gt;&lt;P&gt;    gewei(003) TYPE c,  "Weight unit&lt;/P&gt;&lt;P&gt;    werks(004) TYPE c,  "Plant&lt;/P&gt;&lt;P&gt;    ekgrp(003) TYPE c,  "Purchasing group&lt;/P&gt;&lt;P&gt;    ekwsl(004) TYPE c,  "Purchasing key value&lt;/P&gt;&lt;P&gt;    dismm(002) TYPE c,  "MRP Type&lt;/P&gt;&lt;P&gt;    dispo(003) TYPE c,  "MRP Controller&lt;/P&gt;&lt;P&gt;    beskz(001) TYPE c,  "Procurement Type&lt;/P&gt;&lt;P&gt;    sobsl(002) TYPE c,  "Special procurement type&lt;/P&gt;&lt;P&gt;    lgpro(004) TYPE c,  "Issue Storage Location&lt;/P&gt;&lt;P&gt;    lgfsb(004) TYPE c,  "Default storage location for external procurement&lt;/P&gt;&lt;P&gt;    plifz(003) TYPE c,  "Planned delivery time in days&lt;/P&gt;&lt;P&gt;    fhori(003) TYPE c,  "Scheduling Margin Key for Floats&lt;/P&gt;&lt;P&gt;    perkz(001) TYPE c,  "Period indicator&lt;/P&gt;&lt;P&gt;    mtvfp(002) TYPE c,  "Checking Group for Availability Check&lt;/P&gt;&lt;P&gt;    iprkz(001) TYPE c,  "Period indicator for shelf life expiration date&lt;/P&gt;&lt;P&gt;    prctr(010) TYPE c,  "Profit Center&lt;/P&gt;&lt;P&gt;    bklas(004) TYPE c,  "Valuation Class&lt;/P&gt;&lt;P&gt;    peinh(005) TYPE c,  "Price Unit&lt;/P&gt;&lt;P&gt;    vprsv(001) TYPE c,  "Price Control Indicator&lt;/P&gt;&lt;P&gt;    ean11(018) TYPE c,  "International Article Number (EAN/UPC)&lt;/P&gt;&lt;P&gt;    numtp(002) TYPE c,  "Category of International Article Number (EAN)&lt;/P&gt;&lt;P&gt;  END OF lsmw_material_master.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               INTERNAL TABLE DECLARATIONS                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*to store the input data&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_matmaster OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE lsmw_material_master.&lt;/P&gt;&lt;P&gt;DATA: END OF it_matmaster.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for material description&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_materialdesc OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi_makt .&lt;/P&gt;&lt;P&gt;DATA: END OF it_materialdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for international article numbers&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_intartnum OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi_mean.&lt;/P&gt;&lt;P&gt;DATA: END OF it_intartnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_unitofmeas OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi_marm.&lt;/P&gt;&lt;P&gt;DATA: END OF it_unitofmeas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_unitofmeasx OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi_marmx.&lt;/P&gt;&lt;P&gt;DATA: END OF it_unitofmeasx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*to return messages&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_return OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapiret2.&lt;/P&gt;&lt;P&gt;DATA: END OF it_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;PARAMETERS:p_file LIKE rlgrap-filename OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  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;P&gt;      field_name    = 'P_FILE'&lt;/P&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;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               TO UPLOAD THE DATA                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  v_file = p_file.&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;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                = it_matmaster&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_open_error         = 1&lt;/P&gt;&lt;P&gt;      file_read_error         = 2&lt;/P&gt;&lt;P&gt;      no_batch                = 3&lt;/P&gt;&lt;P&gt;      gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;      invalid_type            = 5&lt;/P&gt;&lt;P&gt;      no_authority            = 6&lt;/P&gt;&lt;P&gt;      unknown_error           = 7&lt;/P&gt;&lt;P&gt;      bad_data_format         = 8&lt;/P&gt;&lt;P&gt;      header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;      separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;      header_too_long         = 11&lt;/P&gt;&lt;P&gt;      unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;      access_denied           = 13&lt;/P&gt;&lt;P&gt;      dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;      disk_full               = 15&lt;/P&gt;&lt;P&gt;      dp_timeout              = 16&lt;/P&gt;&lt;P&gt;      OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               DATA POPULATIONS                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT  it_matmaster.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Add leading zeros to profit center&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input  = it_matmaster-prctr&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        output = it_matmaster-prctr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Filling the bapi header&lt;/P&gt;&lt;P&gt;    bapimathead-material = it_matmaster-matnr.&lt;/P&gt;&lt;P&gt;    bapimathead-ind_sector = it_matmaster-mbrsh.&lt;/P&gt;&lt;P&gt;    bapimathead-matl_type = it_matmaster-mtart.&lt;/P&gt;&lt;P&gt;*Selecting views&lt;/P&gt;&lt;P&gt;    bapimathead-basic_view = 'X'.&lt;/P&gt;&lt;P&gt;    bapimathead-storage_view = 'X'.&lt;/P&gt;&lt;P&gt;    IF it_matmaster-mtart NE 'ZGPO'.&lt;/P&gt;&lt;P&gt;      bapimathead-purchase_view = 'X'.&lt;/P&gt;&lt;P&gt;      bapimathead-mrp_view = 'X'.&lt;/P&gt;&lt;P&gt;      bapimathead-account_view = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Material Description&lt;/P&gt;&lt;P&gt;    REFRESH it_materialdesc.&lt;/P&gt;&lt;P&gt;    it_materialdesc-langu = 'EN'.&lt;/P&gt;&lt;P&gt;    it_materialdesc-matl_desc = it_matmaster-maktx.&lt;/P&gt;&lt;P&gt;    APPEND it_materialdesc.&lt;/P&gt;&lt;P&gt;*Other fields&lt;/P&gt;&lt;P&gt;    bapi_mara-base_uom = it_matmaster-meins.&lt;/P&gt;&lt;P&gt;    bapi_mara-matl_group = it_matmaster-matkl.&lt;/P&gt;&lt;P&gt;    bapi_mara-division = it_matmaster-spart.&lt;/P&gt;&lt;P&gt;    bapi_mara-item_cat = it_matmaster-mtpos_mara.&lt;/P&gt;&lt;P&gt;    bapi_mara-unit_of_wt = it_matmaster-gewei.&lt;/P&gt;&lt;P&gt;    bapi_marc-plant = it_matmaster-werks.&lt;/P&gt;&lt;P&gt;    bapi_marc-pur_group = it_matmaster-ekgrp.&lt;/P&gt;&lt;P&gt;    bapi_mara-pur_valkey = it_matmaster-ekwsl.&lt;/P&gt;&lt;P&gt;    bapi_marc-mrp_type = it_matmaster-dismm.&lt;/P&gt;&lt;P&gt;    bapi_marc-mrp_ctrler = it_matmaster-dispo.&lt;/P&gt;&lt;P&gt;    bapi_marc-proc_type = it_matmaster-beskz.&lt;/P&gt;&lt;P&gt;    bapi_marc-spproctype = it_matmaster-sobsl.&lt;/P&gt;&lt;P&gt;    bapi_marc-iss_st_loc = it_matmaster-lgpro.&lt;/P&gt;&lt;P&gt;    bapi_marc-sloc_exprc = it_matmaster-lgfsb.&lt;/P&gt;&lt;P&gt;    bapi_marc-plnd_delry = it_matmaster-plifz.&lt;/P&gt;&lt;P&gt;    bapi_marc-sm_key = it_matmaster-fhori.&lt;/P&gt;&lt;P&gt;    bapi_marc-period_ind = it_matmaster-perkz.&lt;/P&gt;&lt;P&gt;    bapi_marc-availcheck = it_matmaster-mtvfp.&lt;/P&gt;&lt;P&gt;    bapi_mara-period_ind_expiration_date = it_matmaster-iprkz.&lt;/P&gt;&lt;P&gt;    bapi_marc-profit_ctr = it_matmaster-prctr.&lt;/P&gt;&lt;P&gt;    bapi_mbew-val_class = it_matmaster-bklas.&lt;/P&gt;&lt;P&gt;    bapi_mbew-price_unit = it_matmaster-peinh.&lt;/P&gt;&lt;P&gt;    bapi_mbew-price_ctrl = it_matmaster-vprsv.&lt;/P&gt;&lt;P&gt;    bapi_mbew-val_area = it_matmaster-werks.      "Valuation area = Plant&lt;/P&gt;&lt;P&gt;*International Article Numbers&lt;/P&gt;&lt;P&gt;    REFRESH it_intartnum.&lt;/P&gt;&lt;P&gt;    it_intartnum-unit = it_matmaster-meins.&lt;/P&gt;&lt;P&gt;    it_intartnum-ean_upc = it_matmaster-ean11.&lt;/P&gt;&lt;P&gt;    it_intartnum-ean_cat = it_matmaster-numtp.&lt;/P&gt;&lt;P&gt;    APPEND it_intartnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   REFRESH it_unitofmeas.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_unitofmeas-ean_upc = it_matmaster-ean11.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_unitofmeas-ean_cat = it_matmaster-numtp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND it_unitofmeas.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   REFRESH it_unitofmeasx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_unitofmeasx-ean_upc = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_unitofmeasx-ean_cat = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND it_unitofmeasx.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Flags for above fields&lt;/P&gt;&lt;P&gt;    bapi_marax-base_uom = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marax-matl_group = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marax-division = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marax-item_cat = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marax-unit_of_wt = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-plant = it_matmaster-werks.&lt;/P&gt;&lt;P&gt;    bapi_marcx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marax-pur_valkey = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-mrp_type = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-mrp_ctrler = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-proc_type = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-spproctype = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-iss_st_loc = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-sloc_exprc = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-plnd_delry = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-sm_key = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-period_ind = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-availcheck = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_marcx-profit_ctr = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_mbewx-val_class = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_mbewx-price_unit = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_mbewx-price_ctrl = 'X'.&lt;/P&gt;&lt;P&gt;    bapi_mbewx-val_area = it_matmaster-werks.      "Valuation area = Plant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_matmaster-mtart EQ 'ZGPO'.&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;          plantdata           = bapi_marc&lt;/P&gt;&lt;P&gt;          plantdatax          = bapi_marcx&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_materialdesc&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         unitsofmeasure      = it_unitofmeas&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         unitsofmeasurex     = it_unitofmeasx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          internationalartnos = it_intartnum.&lt;/P&gt;&lt;P&gt;    ELSE.&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;          plantdata           = bapi_marc&lt;/P&gt;&lt;P&gt;          plantdatax          = bapi_marcx&lt;/P&gt;&lt;P&gt;          valuationdata       = bapi_mbew&lt;/P&gt;&lt;P&gt;          valuationdatax      = bapi_mbewx&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_materialdesc.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/    it_return-type,&lt;/P&gt;&lt;P&gt;           2   it_return-id,&lt;/P&gt;&lt;P&gt;           22  it_return-number,&lt;/P&gt;&lt;P&gt;           50  it_return-message.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Feb 2009 05:00:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/can-t-create-ean-upc-using-bapi-material-savedata/m-p/5204061#M1203940</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-02-27T05:00:09Z</dc:date>
    </item>
    <item>
      <title>Re: Can't create EAN/UPC using BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/can-t-create-ean-upc-using-bapi-material-savedata/m-p/5204062#M1203941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Surely it will work, i have done in my last company. I have use BAPI_MATERIAL_MAINTAINDATA_RT.&lt;/P&gt;&lt;P&gt;But try passing EA to it_unitofmeas as well if there is any field. I will try to get the code ASAP as of now it is not with me. But i am sure it will work. All the best.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For my FM i have passed to the structures&lt;/P&gt;&lt;P&gt;E1BPE1MARMRT - ALT_UNIT            -EA&lt;/P&gt;&lt;P&gt;E1BPE1MARMRT - ALT_UNIT_ISO     -EA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E1BPE1MARMRTX - ALT_UNIT            -EA&lt;/P&gt;&lt;P&gt;E1BPE1MARMRTX - ALT_UNIT_ISO     -EA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Phanindra Annaparthi on Feb 27, 2009 8:43 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Feb 2009 07:28:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/can-t-create-ean-upc-using-bapi-material-savedata/m-p/5204062#M1203941</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-02-27T07:28:46Z</dc:date>
    </item>
    <item>
      <title>Re: Can't create EAN/UPC using BAPI_MATERIAL_SAVEDATA</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/can-t-create-ean-upc-using-bapi-material-savedata/m-p/5204063#M1203942</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Phanindra. Its working now!!! ---&amp;gt; 10 points&lt;/P&gt;&lt;P&gt;I assigned values to the tables:&lt;/P&gt;&lt;P&gt;it_unitofmeas&lt;/P&gt;&lt;P&gt;it_unitofmeasx&lt;/P&gt;&lt;P&gt;and now its working perfectly...EAN is getting assigned and saved.&lt;/P&gt;&lt;P&gt;here's the final code...&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; 
REPORT  zmm_upload_captaris                     .



**********************************************************************
*                STRUCTURE  DECLARATIONS                             *
**********************************************************************

TABLES: bapimathead,  "Headerdata
        bapi_mara,    "Clientdata
        bapi_marax,   "Checkbox Structure for BAPI_MARA
        bapi_marc,    "Plantdata
        bapi_marcx,   "Checkbox Structure for BAPI_MARC
        bapi_makt,    "Material description
        bapi_mbew,    "Valuation Data
        bapi_mbewx,   "Checkbox Structure for BAPI_MBEW
        bapiret2.     "Return messages

DATA:v_file TYPE string.


DATA:
  BEGIN OF lsmw_material_master,
    matnr(018) TYPE c,  "Material number
    mbrsh(001) TYPE c,  "Industry sector
    mtart(004) TYPE c,  "Material type
    maktx(040) TYPE c,  "Material description
    meins(003) TYPE c,  "Base unit of measure
    matkl(009) TYPE c,  "Material group
    spart(002) TYPE c,  "Division
    mtpos_mara(004) TYPE c,  "Gen item cat group
    gewei(003) TYPE c,  "Weight unit
    werks(004) TYPE c,  "Plant
    ekgrp(003) TYPE c,  "Purchasing group
    ekwsl(004) TYPE c,  "Purchasing key value
    dismm(002) TYPE c,  "MRP Type
    dispo(003) TYPE c,  "MRP Controller
    beskz(001) TYPE c,  "Procurement Type
    sobsl(002) TYPE c,  "Special procurement type
    lgpro(004) TYPE c,  "Issue Storage Location
    lgfsb(004) TYPE c,  "Default storage location for external procurement
    plifz(003) TYPE c,  "Planned delivery time in days
    fhori(003) TYPE c,  "Scheduling Margin Key for Floats
    perkz(001) TYPE c,  "Period indicator
    mtvfp(002) TYPE c,  "Checking Group for Availability Check
    iprkz(001) TYPE c,  "Period indicator for shelf life expiration date
    prctr(010) TYPE c,  "Profit Center
    bklas(004) TYPE c,  "Valuation Class
    peinh(005) TYPE c,  "Price Unit
    vprsv(001) TYPE c,  "Price Control Indicator
    ean11(018) TYPE c,  "International Article Number (EAN/UPC)
    numtp(002) TYPE c,  "Category of International Article Number (EAN)
  END OF lsmw_material_master.


**********************************************************************
*                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 international article numbers
DATA: BEGIN OF it_intartnum OCCURS 0.
        INCLUDE STRUCTURE bapi_mean.
DATA: END OF it_intartnum.

DATA: BEGIN OF it_unitofmeas OCCURS 0.
        INCLUDE STRUCTURE bapi_marm.
DATA: END OF it_unitofmeas.

DATA: BEGIN OF it_unitofmeasx OCCURS 0.
        INCLUDE STRUCTURE bapi_marmx.
DATA: END OF it_unitofmeasx.

*to return messages
DATA: BEGIN OF it_return OCCURS 0.
        INCLUDE STRUCTURE bapiret2.
DATA: END OF it_return.

DATA: BEGIN OF it_commitret OCCURS 0.
        INCLUDE STRUCTURE bapiret2.
DATA: END OF it_commitret.



************************************************************************
*  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'
    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 &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.

**********************************************************************
*                DATA POPULATIONS                                    *
**********************************************************************


  LOOP AT  it_matmaster.

*Add leading zeros to profit center
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = it_matmaster-prctr
      IMPORTING
        output = it_matmaster-prctr.

*Filling the bapi header
    bapimathead-material = it_matmaster-matnr.
    bapimathead-ind_sector = it_matmaster-mbrsh.
    bapimathead-matl_type = it_matmaster-mtart.
*Selecting views
    bapimathead-basic_view = 'X'.
    bapimathead-storage_view = 'X'.
    IF it_matmaster-mtart NE 'ZGPO'.
      bapimathead-purchase_view = 'X'.
      bapimathead-mrp_view = 'X'.
      bapimathead-account_view = 'X'.
    ENDIF.

*Material Description
    REFRESH it_materialdesc.
    it_materialdesc-langu = 'EN'.
    it_materialdesc-matl_desc = it_matmaster-maktx.
    APPEND it_materialdesc.
*Other fields
    bapi_mara-base_uom = it_matmaster-meins.
    bapi_mara-matl_group = it_matmaster-matkl.
    bapi_mara-division = it_matmaster-spart.
    bapi_mara-item_cat = it_matmaster-mtpos_mara.
    bapi_mara-unit_of_wt = it_matmaster-gewei.
    bapi_marc-plant = it_matmaster-werks.
    bapi_marc-pur_group = it_matmaster-ekgrp.
    bapi_mara-pur_valkey = it_matmaster-ekwsl.
    bapi_marc-mrp_type = it_matmaster-dismm.
    bapi_marc-mrp_ctrler = it_matmaster-dispo.
    bapi_marc-proc_type = it_matmaster-beskz.
    bapi_marc-spproctype = it_matmaster-sobsl.
    bapi_marc-iss_st_loc = it_matmaster-lgpro.
    bapi_marc-sloc_exprc = it_matmaster-lgfsb.
    bapi_marc-plnd_delry = it_matmaster-plifz.
    bapi_marc-sm_key = it_matmaster-fhori.
    bapi_marc-period_ind = it_matmaster-perkz.
    bapi_marc-availcheck = it_matmaster-mtvfp.
    bapi_mara-period_ind_expiration_date = it_matmaster-iprkz.
    bapi_marc-profit_ctr = it_matmaster-prctr.
    bapi_mbew-val_class = it_matmaster-bklas.
    bapi_mbew-price_unit = it_matmaster-peinh.
    bapi_mbew-price_ctrl = it_matmaster-vprsv.
    bapi_mbew-val_area = it_matmaster-werks.      "Valuation area = Plant
*International Article Numbers
    REFRESH it_intartnum.
    it_intartnum-unit = it_matmaster-meins.
    it_intartnum-unit_iso = it_matmaster-meins.
    it_intartnum-ean_upc = it_matmaster-ean11.
    it_intartnum-ean_cat = it_matmaster-numtp.
    APPEND it_intartnum.

    REFRESH it_unitofmeas.
    it_unitofmeas-ALT_UNIT = it_matmaster-meins.
    it_unitofmeas-alt_unit_iso = it_matmaster-meins.
    it_unitofmeas-ean_upc = it_matmaster-ean11.
    it_unitofmeas-ean_cat = it_matmaster-numtp.
    APPEND it_unitofmeas.

    REFRESH it_unitofmeasx.
    it_unitofmeasx-ALT_UNIT = it_matmaster-meins.
    it_unitofmeasx-alt_unit_iso = it_matmaster-meins.
    it_unitofmeasx-ean_upc = 'X'.
    it_unitofmeasx-ean_cat = 'X'.
    APPEND it_unitofmeasx.

*Flags for above fields
    bapi_marax-base_uom = 'X'.
    bapi_marax-matl_group = 'X'.
    bapi_marax-division = 'X'.
    bapi_marax-item_cat = 'X'.
    bapi_marax-unit_of_wt = 'X'.
    bapi_marcx-plant = it_matmaster-werks.
    bapi_marcx-pur_group = 'X'.
    bapi_marax-pur_valkey = 'X'.
    bapi_marcx-mrp_type = 'X'.
    bapi_marcx-mrp_ctrler = 'X'.
    bapi_marcx-proc_type = 'X'.
    bapi_marcx-spproctype = 'X'.
    bapi_marcx-iss_st_loc = 'X'.
    bapi_marcx-sloc_exprc = 'X'.
    bapi_marcx-plnd_delry = 'X'.
    bapi_marcx-sm_key = 'X'.
    bapi_marcx-period_ind = 'X'.
    bapi_marcx-availcheck = 'X'.
    bapi_marcx-profit_ctr = 'X'.
    bapi_mbewx-val_class = 'X'.
    bapi_mbewx-price_unit = 'X'.
    bapi_mbewx-price_ctrl = 'X'.
    bapi_mbewx-val_area = it_matmaster-werks.      "Valuation area = Plant


    IF it_matmaster-mtart EQ 'ZGPO'.
      CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
        EXPORTING
          headdata            = bapimathead
          clientdata          = bapi_mara
          clientdatax         = bapi_marax
          plantdata           = bapi_marc
          plantdatax          = bapi_marcx
        IMPORTING
          return              = it_return
        TABLES
          materialdescription = it_materialdesc
          unitsofmeasure      = it_unitofmeas
          unitsofmeasurex     = it_unitofmeasx
          internationalartnos = it_intartnum.
    ELSE.
      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
        IMPORTING
          return              = it_return
        TABLES
          materialdescription = it_materialdesc.
    ENDIF.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait   = 'X'
      IMPORTING
        return = it_commitret.


    WRITE:/    it_return-type,
               2   it_return-id,
               22  it_return-number,
               50  it_return-message.
  ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Feb 2009 17:08:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/can-t-create-ean-upc-using-bapi-material-savedata/m-p/5204063#M1203942</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-02-27T17:08:48Z</dc:date>
    </item>
  </channel>
</rss>

