BDC for MM01

Hi all.
I need BDC code for MM01,i need to populate values depending upon "Material type",Because view changing depending upon material type.
please give me code for that.
To be reward all helpfull answers.
Regards.
jay

Hi,
This is a BDC for MM for T-code MM01.I hope this will help u.
Below is the coding.
Reward if helpful.
Regards,
Seevangi
REPORT  ZMMBDC_MATERIAL_MASTER_UPD
LINE-SIZE 255 NO STANDARD PAGE HEADING LINE-COUNT 65.
Tables
Structure declaration
Work Variables and internal tables
Constants
Parameters
Events: Start-Of-Selection
data : begin of i_mara occurs 0,
        matnr like mara-matnr,
       end of i_mara.
data : begin of ty_matdata,
        matnr like mara-matnr,   "material number
        mbrsh like rmmg1-mbrsh,  "Industry sector
        mtart like rmmg1-mtart,  "Material Type
        werks like rmmg1-werks,  "Plant
        lgort like rmmg1-lgort,  "Storage Location
        vkorg like rmmg1-vkorg,  "Sales Organization
        vtweg like rmmg1-vtweg,  "Distribution Channel
        maktx like makt-maktx,   "Material Description (Short Text)
        meins like mara-meins,   "Base Unit of Measure
        matkl like mara-matkl,   "Material Group
        bismt like mara-bismt,   "Old material number
        spart like mara-spart,   "Division
        brgew(15) ," like mara-brgew,   "Gross Weight
        ntgew(15), " like mara-ntgew,   "Net Weight
        ekgrp like marc-ekgrp,   "Purchasing Group
        gewei like mara-gewei,   "Weight Unit
        klart like rmclf-klart,  "Class Type
        taxkm like MG03STEUER-TAXKM, "Tax classification material
        ladgr like marc-ladgr,   "Loading Group
        tragr like mara-tragr,   "Transportation Group
        dismm like marc-dismm, "MRP Type
        dispo like marc-dispo, "MRP Controller (Materials Planner)
        fhori like marc-fhori, "Scheduling margin key
        disls like marc-disls, " lot size
        prmod like mpop-prmod, "Forecast model
        peran(3)," like mpop-peran,   "Number of historical periods
        anzpr(3)," like mpop-anzpr,   "Number of forecast periods
        kzini like mpop-kzini,   "Initialization indicator
        siggr(9)," like mpop-siggr,   "Tracking limit
        autru like marc-autru,   "Reset Forecast Model Automatically
        modav like mpop-modav,   "Model selection procedure
        perkz like marc-perkz, "Period Indicator
        verpr(13), " like mbew-verpr, "Moving Average Price/Periodic Unit Price
        prctr like marc-prctr, "Profit Center
        mtvfp like marc-mtvfp, "Checking Group for Availability Check
        bklas like mbew-bklas, "Valuation Class
        vprsv like mbew-vprsv, "Price control indicator
        stprs(13) ," like mbew-stprs, "Standard price
        peinh(5) ,"like mbew-peinh, "Price Unit
       end of ty_matdata,
       begin of ty_matdata1,
       matnr like mara-matnr,   "material number
        mbrsh like rmmg1-mbrsh,  "Industry sector
        mtart like rmmg1-mtart,  "Material Type
        werks like rmmg1-werks,  "Plant
        lgort like rmmg1-lgort,  "Storage Location
        vkorg like rmmg1-vkorg,  "Sales Organization
        vtweg like rmmg1-vtweg,  "Distribution Channel
        maktx like makt-maktx,   "Material Description (Short Text)
        meins like mara-meins,   "Base Unit of Measure
        matkl like mara-matkl,   "Material Group
        bismt like mara-bismt,   "Old material number
        spart like mara-spart,   "Division
        brgew(15) ," like mara-brgew,   "Gross Weight
        ntgew(15), " like mara-ntgew,   "Net Weight
        ekgrp like marc-ekgrp,   "Purchasing Group
        gewei like mara-gewei,   "Weight Unit
        klart like rmclf-klart,  "Class Type
        taxkm like MG03STEUER-TAXKM, "Tax classification material
        ladgr like marc-ladgr,   "Loading Group
        tragr like mara-tragr,   "Transportation Group
        dismm like marc-dismm, "MRP Type
        dispo like marc-dispo, "MRP Controller (Materials Planner)
        fhori like marc-fhori, "Scheduling margin key
        prmod like mpop-prmod, "Forecast model
        peran(3)," like mpop-peran,   "Number of historical periods
        anzpr(3)," like mpop-anzpr,   "Number of forecast periods
        kzini like mpop-kzini,   "Initialization indicator
        siggr(9)," like mpop-siggr,   "Tracking limit
        autru like marc-autru,   "Reset Forecast Model Automatically
        modav like mpop-modav,   "Model selection procedure
        perkz like marc-perkz, "Period Indicator
        verpr(13), " like mbew-verpr, "Moving Average Price/Periodic Unit Price
        prctr like marc-prctr, "Profit Center
        mtvfp like marc-mtvfp, "Checking Group for Availability Check
        bklas like mbew-bklas, "Valuation Class
        vprsv like mbew-vprsv, "Price control indicator
        stprs(13) ," like mbew-stprs, "Standard price
        peinh(5) ,"like mbew-peinh, "Price Unit
        message like bapiret2-message, "Error Message.
       end of ty_matdata1,
       begin of ty_error,
         matnr like mara-matnr,
         mbrsh like rmmg1-mbrsh,  "Industry sector
         mtart like rmmg1-mtart,  "Material Type
         werks like rmmg1-werks,  "Plant
         message like bapiret2-message,
       end of ty_error.
      Data                     Begin with W_                        *
data : i_matdata like standard table of ty_matdata with header line.
BAPIMATHEAD - Header Segment with Control Information
data : i_headdata like bapimathead occurs 0 with header line.
bapi_makt - Material Descriptions.
data : i_bapi_makt like bapi_makt occurs 0 with header line.
*bapi_mlan - Tax data
data : i_bapi_mlan like bapi_mlan occurs 0 with header line.
bapi_mara - Material Data at Client Level.
data : i_clientdata like bapi_mara occurs 0 with header line.
bapi_marax - Checkbox Structure for BAPI_MARA.
data : i_clientdatax like bapi_marax occurs 0 with header line.
bapi_marc - Material Data at Plant Level.
data : i_plantdata like bapi_marc occurs 0 with header line.
bapi_marcx - Checkbox Structure for BAPI_MARA.
data : i_plantdatax like bapi_marcx occurs 0 with header line.
BAPI_MARD - Material Data at Storage Location Level.
data : i_storagelocationdata like bapi_mard occurs 0 with header line.
bapi_mardx - Checkbox Structure for BAPI_MARD
data : i_storagelocationdatax like bapi_mardx occurs 0 with header line.
*bapi_mpop - Forecast Parameters
data : i_forcastingparameter like BAPI_MPOP occurs 0 with header line.
*bapi_mpopx - Checkbox Structure for BAPI_MPOP
data : i_forcastingparameterx like BAPI_MPOPX occurs 0 with header line.
*bapi_mbew - Valuation Data
data : i_valuationdata like BAPI_MBEW occurs 0 with header line.
*bapi_mbewx - Checkbox Structure for BAPI_MBEW
data : i_valuationdatax like BAPI_MBEWX occurs 0 with header line.
*bapi_mvke - Sales Data
data : i_salesdata like BAPI_MVKE occurs 0 with header line.
*bapi_mvkex - Checkbox Structure for BAPI_MVKE
data : i_salesdatax like BAPI_MVKEX occurs 0 with header line.
bapiret2 - Return parameter
data : i_return like bapiret2 occurs 0 with header line.
Errors displayed on screen.
data : i_error like standard table of ty_error with header line.
*Error data to be loaded after correction.
data : i_matdata1 like standard table of ty_matdata1 with header line.
*bapi_marm - Unit of measure
data : i_bapi_marm like bapi_marm occurs 0 with header line.
*bapi_marmx - unit of measurex
data : i_bapi_marmx like bapi_marmx occurs 0 with header line.
To determine error.
data : w_flg(1).
   S E L E C T I O N     S C R E E N / P A R A M E T E R S
selection-screen: begin of block b1 with frame.
parameters: p_file like rlgrap-filename obligatory.
selection-screen: end of block b1.
selection-screen skip 1.
selection-screen: begin of block b2 with frame.
parameters: p_file1 like rlgrap-filename .
selection-screen: end of block b2.
          A T   S E L E C T I O N   S C R E E N
at selection-screen on value-request for p_file.
WS_FILENAME_GET - Determination of a file name on the presentation
server using a file selection dialog.
  call function 'WS_FILENAME_GET'
exporting
   def_filename           = '*.TXT'
   def_path               = 'C:\'
   mask                   = ',.TXT,.*.'
   mode                   = 'O'
  TITLE                  = ' '
   importing
     filename               = p_file
  RC                     =
exceptions
   inv_winsys             = 1
   no_batch               = 2
   selection_cancel       = 3
   selection_error        = 4
   others                 = 5
  if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
                  T O P    O F     P A G E                          *
top-of-page.
  skip.
  write : /01 'Material Number', 30 'Error Message'.
   S T  A R T   O F   S E L E C T I O N
start-of-selection.
perform read_data.
perform create_material.
perform display_error.
*&      Form  read_data
      text
-->  p1        text
<--  p2        text
form read_data.
Uploads a file from the presentation server into an internal table.
call function 'WS_UPLOAD'
       exporting
            codepage                = 'IBM'
            filename                = p_file
            filetype                = 'DAT'
       tables
            data_tab                = i_matdata
       exceptions
            conversion_error        = 1
            file_open_error         = 2
            file_read_error         = 3
            invalid_type            = 4
            no_batch                = 5
            unknown_error           = 6
            invalid_table_width     = 7
            gui_refuse_filetransfer = 8
            customer_error          = 9
            others                  = 10.
  if sy-subrc <> 0.
    write:/ 'File Not Uploaded'.
  endif.
endform.                    " read_data
*&      Form  create_material
      text
-->  p1        text
<--  p2        text
form create_material.
loop at i_matdata.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
    INPUT         = i_matdata-matnr
IMPORTING
   OUTPUT        = i_matdata-matnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
    INPUT         = i_matdata-prctr
IMPORTING
   OUTPUT        = i_matdata-prctr
*select matnr from mara into table i_mara .
*sort i_mara by matnr descending.
*read table i_mara index 1.
*i_mara-matnr = i_mara-matnr + 1.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
  EXPORTING
    INPUT              =  i_mara-matnr
  IMPORTING
    OUTPUT             =  i_mara-matnr
  EXCEPTIONS
    LENGTH_ERROR       = 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_MATN1_INPUT'
EXPORTING
   INPUT              =  i_matdata-matnr
IMPORTING
   OUTPUT             =  i_matdata-matnr
EXCEPTIONS
   LENGTH_ERROR       = 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.
i_headdata-material = i_matdata-matnr.
  i_headdata-material = i_mara-matnr.
  i_headdata-ind_sector = i_matdata-mbrsh.
  i_headdata-matl_type = i_matdata-mtart.
  i_headdata-basic_view = 'X'.
  i_headdata-mrp_view = 'X'.
  i_headdata-storage_view = 'X'.
  i_headdata-SALES_VIEW = 'X'.
  i_headdata-PURCHASE_VIEW = 'X'.
  i_headdata-FORECAST_VIEW = 'X'.
  i_headdata-ACCOUNT_VIEW = 'X'.
  i_headdata-COST_VIEW = 'X'.
  i_headdata-prt_view = 'X'.
  i_headdata-work_sched_view = 'X'.
  i_headdata-quality_view = 'X'.
  append i_headdata.
clear i_headdata.
  i_bapi_makt-langu     = sy-langu.
  i_bapi_makt-matl_desc = i_matdata-maktx.
  append i_bapi_makt.
clear i_bapi_makt.
  i_clientdata-matl_group = i_matdata-matkl.
  i_clientdata-old_mat_no = i_matdata-bismt.
  i_clientdata-base_uom = i_matdata-meins.
  i_clientdata-division = i_matdata-spart.
  i_clientdata-UNIT_OF_WT = i_matdata-gewei.
  i_clientdata-TRANS_GRP = i_matdata-tragr.
  i_clientdata-NET_WEIGHT = i_matdata-ntgew.
  append i_clientdata.
clear i_clientdata.
  i_clientdatax-matl_group = 'X'.
  i_clientdatax-old_mat_no = 'X'.
  i_clientdatax-base_uom = 'X'.
  i_clientdatax-division = 'X'.
  i_clientdatax-UNIT_OF_WT = 'X'.
  i_clientdatax-TRANS_GRP = 'X'.
  i_clientdatax-NET_WEIGHT = 'X'.
  append i_clientdatax.
clear i_clientdatax.
  i_plantdata-plant = i_matdata-werks.
  i_plantdata-mrp_type = i_matdata-dismm.
  i_plantdata-mrp_ctrler = i_matdata-dispo.
  i_plantdata-availcheck = i_matdata-mtvfp.
  i_plantdata-profit_ctr = i_matdata-prctr.
  i_plantdata-LOADINGGRP = i_matdata-ladgr.
  i_plantdata-PUR_GROUP = i_matdata-ekgrp.
  i_plantdata-AUTO_RESET = i_matdata-autru.
  i_plantdata-PERIOD_IND = i_matdata-perkz.
  i_plantdata-MRP_CTRLER = i_matdata-dispo.
  i_plantdata-SM_KEY = i_matdata-fhori.
  i_plantdata-LOTSIZEKEY = i_matdata-disls.
  append i_plantdata.
clear i_plantdata.
  i_plantdatax-plant = i_plantdata-plant.
  i_plantdatax-mrp_type = 'X'.
  i_plantdatax-mrp_ctrler = 'X'.
  i_plantdatax-availcheck = 'X' .
  i_plantdatax-profit_ctr = 'X' .
  i_plantdatax-LOADINGGRP = 'X' .
  i_plantdatax-PUR_GROUP = 'X' .
  i_plantdatax-AUTO_RESET = 'X'.
  i_plantdatax-PERIOD_IND = 'X'.
  i_plantdatax-MRP_CTRLER = 'X'.
  i_plantdatax-SM_KEY = 'X'.
  i_plantdatax-LOTSIZEKEY = 'X'.
  append i_plantdatax.
clear i_plantdatax.
  clear i_forcastingparameter.
  i_forcastingparameter-PLANT = i_matdata-werks.
  i_forcastingparameter-HIST_VALS = i_matdata-peran.
  i_forcastingparameter-FORE_PDS = i_matdata-anzpr.
  i_forcastingparameter-INITIALIZE = i_matdata-kzini.
  i_forcastingparameter-TRACKLIMIT = i_matdata-siggr.
  i_forcastingparameter-MODEL_SP = i_matdata-modav.
  i_forcastingparameter-FORE_MODEL = i_matdata-prmod.
  append i_forcastingparameter.
  clear i_forcastingparameterx.
  i_forcastingparameterx-PLANT = i_matdata-werks.
  i_forcastingparameterx-HIST_VALS = 'X'.
  i_forcastingparameterx-FORE_PDS = 'X'.
  i_forcastingparameterx-INITIALIZE = 'X'.
  i_forcastingparameterx-TRACKLIMIT = 'X'.
  i_forcastingparameterx-MODEL_SP = 'X'.
  i_forcastingparameterx-FORE_MODEL = 'X'.
  append i_forcastingparameterx.
  i_valuationdata-MOVING_PR = i_matdata-verpr.
  i_valuationdata-STD_PRICE = i_matdata-stprs.
  i_valuationdata-PRICE_CTRL = i_matdata-VPRSV.
  i_valuationdata-VAL_CLASS = i_matdata-bklas.
  i_valuationdata-PRICE_UNIT = i_matdata-peinh.
  i_valuationdata-VAL_AREA = i_matdata-werks.
  append i_valuationdata.
  i_valuationdatax-VAL_AREA = i_matdata-werks.
  i_valuationdatax-MOVING_PR = 'X'.
  i_valuationdatax-STD_PRICE = 'X'.
  i_valuationdatax-PRICE_CTRL = 'X'.
  i_valuationdatax-VAL_CLASS = 'X'.
  i_valuationdatax-PRICE_UNIT = 'X'.
  append i_valuationdatax.
  i_salesdata-SALES_ORG = i_matdata-vkorg.
  i_salesdata-DISTR_CHAN = i_matdata-vtweg.
  i_salesdata-DELY_UOM = i_matdata-meins.
  append i_salesdata.
  i_salesdatax-SALES_ORG = i_matdata-vkorg.
  i_salesdatax-DISTR_CHAN = i_matdata-vtweg.
  i_salesdata-DELY_UOM = 'X'.
  append i_salesdatax.
  i_bapi_marm-ALT_UNIT = i_matdata-meins.
  i_bapi_marm-GROSS_WT = i_matdata-brgew.
  append i_bapi_marm.
  i_storagelocationdata-plant = i_plantdatax-plant.
  i_storagelocationdata-stge_loc = i_matdata-lgort.
  append i_storagelocationdata.
clear i_storagelocationdata.
  i_storagelocationdatax-plant = i_plantdatax-plant.
  i_storagelocationdatax-stge_loc = i_storagelocationdata-stge_loc.
  append i_storagelocationdatax.
clear i_storagelocationdatax.
i_bapi_mlan-TAXCLASS_1 = i_matdata-TAXKM.
  append i_bapi_mlan.
BAPI - BAPI_MATERIAL_SAVEDATA is used to Create and Change Material
Master Data.
  call function 'BAPI_MATERIAL_SAVEDATA'
    exporting
      headdata                   = i_headdata
      clientdata                 = i_clientdata
      clientdatax                = i_clientdatax
      plantdata                  = i_plantdata
      plantdatax                 = i_plantdatax
      FORECASTPARAMETERS         = i_forcastingparameter
      FORECASTPARAMETERSX        = i_forcastingparameterx
    PLANNINGDATA               =
    PLANNINGDATAX              =
      storagelocationdata        = i_storagelocationdata
      storagelocationdatax       = i_storagelocationdatax
      VALUATIONDATA              = i_valuationdata
      VALUATIONDATAX             = i_valuationdatax
    WAREHOUSENUMBERDATA        =
    WAREHOUSENUMBERDATAX       =
      SALESDATA                  = i_salesdata
      SALESDATAX                 = i_salesdatax
    STORAGETYPEDATA            =
    STORAGETYPEDATAX           =
    FLAG_ONLINE                = ' '
    FLAG_CAD_CALL              = ' '
    importing
      return                     = i_return
    tables
      materialdescription        = i_bapi_makt
      UNITSOFMEASURE             = i_bapi_marm
      UNITSOFMEASUREX            = i_bapi_marmx
    INTERNATIONALARTNOS        =
    MATERIALLONGTEXT           =
     TAXCLASSIFICATIONS         = i_bapi_mlan
    RETURNMESSAGES             =
    PRTDATA                    =
    PRTDATAX                   =
    EXTENSIONIN                =
    EXTENSIONINX               =
if i_return-type = 'E'.
    i_error-matnr = i_mara-matnr.
    i_error-mbrsh = i_matdata-mbrsh.
    i_error-mtart = i_matdata-mtart.
    i_error-werks = i_matdata-werks.
    i_error-message = i_return-message.
  append i_error.
  clear i_error.
  w_flg = 'X'.
*else.
Execute external Commit when using BAPIs
When you call BAPIs in your program that change data in the R/3
System afterwards you must call this method to write the changes to *
the database.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
   wait          = 'X'
importing
   return        = i_return
endif.
refresh : i_headdata ,  i_bapi_makt, i_clientdata, i_clientdatax ,
          i_plantdata, i_plantdatax,
          i_storagelocationdata,i_storagelocationdatax,
          i_salesdata , i_salesdatax ,
          i_valuationdata , i_valuationdatax,
          i_bapi_marm,i_bapi_marmx,
          i_bapi_mlan.
clear : i_headdata ,  i_bapi_makt, i_clientdata, i_clientdatax ,
          i_plantdata, i_plantdatax, i_storagelocationdata,
          i_storagelocationdatax,
          i_valuationdata , i_valuationdatax,
          i_bapi_marm,i_bapi_marmx,
          i_bapi_mlan.
endloop.
endform.                    " create_material
*&      Form  display_error
      text
-->  p1        text
<--  p2        text
form display_error.
loop at i_error.
read table i_matdata with key matnr = i_error-matnr.
if sy-subrc = 0.
    i_matdata1-matnr = i_mara-matnr.
    i_matdata1-mbrsh = i_matdata-mbrsh.
    i_matdata1-mtart = i_matdata-mtart.
    i_matdata1-maktx = i_matdata-maktx.
    i_matdata1-meins = i_matdata-meins.
   i_matdata1-matkl = i_matdata-matkl.
   i_matdata1-bismt = i_matdata-bismt.
   i_matdata1-zeinr = i_matdata-zeinr.
   i_matdata1-spart = i_matdata-spart.
   i_matdata1-werks = i_matdata-werks.
   i_matdata1-dismm = i_matdata-dismm.
   i_matdata1-dispo = i_matdata-dispo.
   i_matdata1-beskz = i_matdata-beskz.
   i_matdata1-sobsl = i_matdata-sobsl.
   i_matdata1-lgpro = i_matdata-lgpro.
   i_matdata1-lgfsb = i_matdata-lgfsb.
   i_matdata1-eprio = i_matdata-eprio.
   i_matdata1-mtvfp = i_matdata-mtvfp.
   i_matdata1-lgort = i_matdata-lgort.
   i_matdata1-lgpbe = i_matdata-lgpbe.
   i_matdata1-prctr = i_matdata-prctr.
   i_matdata1-message = i_error-message.
    append i_matdata1.
    clear i_matdata1.
endif.
endloop.
loop at i_error.
  write :/01 i_error-matnr , 30 i_error-message.
endloop.
if i_error is initial.
  write :/01 text-001.
endif.
if w_flg = 'X'.
  call function 'WS_DOWNLOAD'
   exporting
    BIN_FILESIZE                  = ' '
     codepage                      = 'IBM'
     filename                      = p_file1
     filetype                      = 'DAT'
    MODE                          = ' '
    WK1_N_FORMAT                  = ' '
    WK1_N_SIZE                    = ' '
    WK1_T_FORMAT                  = ' '
    WK1_T_SIZE                    = ' '
    COL_SELECT                    = ' '
    COL_SELECTMASK                = ' '
    NO_AUTH_CHECK                 = ' '
  IMPORTING
    FILELENGTH                    =
    tables
      data_tab                      = i_error
    FIELDNAMES                    =
   exceptions
     file_open_error               = 1
     file_write_error              = 2
     invalid_filesize              = 3
     invalid_type                  = 4
     no_batch                      = 5
     unknown_error                 = 6
     invalid_table_width           = 7
     gui_refuse_filetransfer       = 8
     customer_error                = 9
     others                        = 10
  if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
endif.
endform.                    " display_error7

Similar Messages

  • BDC for MM01 using bapi

    HI all ,
    i am new to bapi . i have created so many bdcs to upload data in sap but havent done any bapi .
    i want to upload data through bapi  for mm01 .
    how can i achieve this and which bapi is responsible for this job . plz send any sample code for this .
    Thanks ,
    Amit Ranjan .

    Hi Amit,
    Refer to the code in the following link:
    Re: Reg Transfer of MM01 data using BAPI method
    Hope this will solve your query...

  • HI I HAVE PROBLEM WHEN IAM WRITING BDC FOR MM01

    HI,
    WHEN IAM WRITING BDC PROGRAM FOR MM01 USING SHDB RECORDING. WHEN I RECORDED SOME VIEWS I MEAN I SCROLLED DOWN AND SELECT THOSE VIEWS.
    BUT IT WILL NOT TAKE THOSE VIEWS WHEN I UPLOAD THE DATA THOSE VIEWS ARE NOT SELECTED. PLZ TELL ME HOW COULD I DO THIS.
    URGENT PLZ.
    THANKS,
    MURALI.

    Hi Murali,
    Rather of scrolling down while recording press page down button. as scroll will not get recorded during recording.
    The page down function code is P+.
    Press page down button on key board while recording.
    I had checked it through recording it had worked.
    I got BDC_OKCODE     = P+ in recording.
    This will solve your problem.
    Regards
    Narin Nandivada

  • BDC for MM01(Material creation)

    Hello Please anybody send me code for creating materials with reference to reference material and plant in sselection screen in version ECC 6.0?
    My selection screen will be::
    Reference material:                                                       Plant:

    Plz User <b>BAPI_MATERIAL_SAVEDATA</b>
    Why So :
    you will never get it to work correctly in all cases every time for all material types, it is just much easier to work with an API that is not screen dependent. Then you don't have to worry about all of the exceptions when dealing with certain material types, and such. For example, say you have a material which you want to update the po text, and you did your recording for another material, which didn't have a specific view, so now when doing BDC for this material, the screen where you select the view you want to process, may be in a different place in the table control, see what I'm getting at? Its just very much easier to work with BAPIs and is suggest to use BAPI over BDC whenever possible.
    Also still u want to go for it, check this code :
    REPORT Y730_BDC5 .
    *HANDLING TABLE CONTROL IN BDC
    DATA : BEGIN OF IT_DUMMY OCCURS 0,
    DUMMY(100) TYPE C,
    END OF IT_DUMMY.
    DATA : BEGIN OF IT_XK01 OCCURS 0,
    LIFNR(10) TYPE C,
    BUKRS(4) TYPE C,
    EKORG(4) TYPE C,
    KTOKK(4) TYPE C,
    NAME1(30) TYPE C,
    SORTL(10) TYPE C,
    LAND1(3) TYPE C,
    SPRAS(2) TYPE C,
    AKONT(6) TYPE C,
    FDGRV(2) TYPE C,
    WAERS(3) TYPE C,
    END OF IT_XK01,
    BEGIN OF IT_BANK OCCURS 0,
    BANKS(3) TYPE C,
    BANKL(10) TYPE C,
    BANKN(10) TYPE C,
    KOINH(30) TYPE C,
    LIFNR(10) TYPE C,
    END OF IT_BANK.
    DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
    IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    FILENAME = 'C:\VENDOR.TXT'
    FILETYPE = 'ASC'
    TABLES
    DATA_TAB = IT_DUMMY.
    LOOP AT IT_DUMMY.
    IF IT_DUMMY-DUMMY+0(2) = '11'.
    IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10).
    IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4).
    IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4).
    IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4).
    IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30).
    IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10).
    IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3).
    IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2).
    IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6).
    IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2).
    IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3).
    APPEND IT_XK01.
    ELSE.
    IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3).
    IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10).
    IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10).
    IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30).
    IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10).
    APPEND IT_BANK.
    ENDIF.
    ENDLOOP.
    LOOP AT IT_XK01.
    REFRESH IT_BDCDATA.
    perform bdc_dynpro using 'SAPMF02K' '0100'.
    perform bdc_field using 'BDC_CURSOR'
    'RF02K-REF_LIFNR'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RF02K-LIFNR'
    IT_XK01-LIFNR.
    perform bdc_field using 'RF02K-BUKRS'
    IT_XK01-BUKRS.
    perform bdc_field using 'RF02K-EKORG'
    IT_XK01-EKORG.
    perform bdc_field using 'RF02K-KTOKK'
    IT_XK01-KTOKK.
    perform bdc_dynpro using 'SAPMF02K' '0110'.
    perform bdc_field using 'BDC_CURSOR'
    'LFA1-TELX1'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'LFA1-NAME1'
    IT_XK01-NAME1.
    perform bdc_field using 'LFA1-SORTL'
    IT_XK01-SORTL.
    perform bdc_field using 'LFA1-LAND1'
    IT_XK01-LAND1.
    perform bdc_field using 'LFA1-SPRAS'
    IT_XK01-SPRAS.
    perform bdc_dynpro using 'SAPMF02K' '0120'.
    perform bdc_field using 'BDC_CURSOR'
    'LFA1-KUNNR'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_dynpro using 'SAPMF02K' '0130'.
    perform bdc_field using 'BDC_CURSOR'
    'LFBK-KOINH(02)'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTR'.
    DATA : FNAM(20) TYPE C,
    IDX TYPE C.
    MOVE 1 TO IDX.
    LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR.
    CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM.
    perform bdc_field using FNAM
    IT_BANK-BANKS.
    CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM.
    perform bdc_field using FNAM
    IT_BANK-BANKL.
    CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM.
    perform bdc_field using FNAM
    IT_BANK-BANKN.
    CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM.
    perform bdc_field using FNAM
    IT_BANK-KOINH.
    IDX = IDX + 1.
    ENDLOOP.
    perform bdc_dynpro using 'SAPMF02K' '0130'.
    perform bdc_field using 'BDC_CURSOR'
    'LFBK-BANKS(01)'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTR'.
    perform bdc_dynpro using 'SAPMF02K' '0210'.
    perform bdc_field using 'BDC_CURSOR'
    'LFB1-FDGRV'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'LFB1-AKONT'
    IT_XK01-AKONT.
    perform bdc_field using 'LFB1-FDGRV'
    IT_XK01-FDGRV.
    perform bdc_dynpro using 'SAPMF02K' '0215'.
    perform bdc_field using 'BDC_CURSOR'
    'LFB1-ZTERM'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_dynpro using 'SAPMF02K' '0220'.
    perform bdc_field using 'BDC_CURSOR'
    'LFB5-MAHNA'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_dynpro using 'SAPMF02K' '0310'.
    perform bdc_field using 'BDC_CURSOR'
    'LFM1-WAERS'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'LFM1-WAERS'
    IT_XK01-WAERS.
    perform bdc_dynpro using 'SAPMF02K' '0320'.
    perform bdc_field using 'BDC_CURSOR'
    'WYT3-PARVW(01)'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTR'.
    perform bdc_dynpro using 'SAPLSPO1' '0300'.
    perform bdc_field using 'BDC_OKCODE'
    '=YES'.
    CALL TRANSACTION 'XK01' USING IT_BDCDATA
    MODE 'A'
    UPDATE 'S'
    MESSAGES INTO IT_BDCMSGCOLL.
    ENDLOOP.
    FORM BDC_DYNPRO USING PROG SCR.
    CLEAR IT_BDCDATA.
    IT_BDCDATA-PROGRAM = PROG.
    IT_BDCDATA-DYNPRO = SCR.
    IT_BDCDATA-DYNBEGIN = 'X'.
    APPEND IT_BDCDATA.
    ENDFORM.
    FORM BDC_FIELD USING FNAM FVAL.
    CLEAR IT_BDCDATA.
    IT_BDCDATA-FNAM = FNAM.
    IT_BDCDATA-FVAL = FVAL.
    APPEND IT_BDCDATA.
    ENDFORM.
    All things r available in SDN, please search.
    Reward points if useful.
    Thanks
    vinsee

  • Bdc for MM01 with classification view

    Hi all,
    I need to create materials using mm01 with classification view. since there is no bapi supporting this view, i am ding by bdc.
    The problem is in classification view once i give the class type and name a screen pops with caption
    characteristic value assignment, but theere are no charateristics displayed - wat values do i have to enter here >
    once i leave this screen the characteristics show up one after the other and i can load the details. but then while tryin to save error comes staing incnsisitent value assigned. wat do i ener in the intermediate screen t avoid this error.
    thanks

    hi when you are creating a classification view with characteristics.. you need to do all at once... you cannot modify..
    all you can do is delete the whole view and create with all the changed again.. I  dont memorize the BAPI .. but you have BAPIdelete.. BAPIadd..

  • Bdc for mm01 transaction

    Hi friends,
        I have to upload data using mm01 transaction.
        My program has to select respective views according to material type.
        Can anybody help me.
    Thanks and regards,
    Pavani.

    Hi,
    You will save lot of time & energy if you opt to use BAPI_MATERIAL_SAVEDATA. Have a look @the sample code. Please note Do not allocate any points as this code doesn't belong to me, however I have tested it & it works fine.
    TABLES bapi_MVKEx.
    * 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 & 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_MVKE1 LIKE BAPI_MVKE, "Sales Data
    BAPI_RETURN LIKE BAPIRET2. " Return Parameter
    DATA: return     LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
    *--- 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
    MTPOS_MARA(4), "Item Category Group
    vkorg(4), "Sales Org
    vtweg(2), "Dist channel
    Prdha(18), "Prod Hierarchy
    ladgr(4), " Loading Group
    prctr(10), "Profit Centr
    xchpf(1), "Batch Mgmt
    kondm(2), "Material Pricing Grp
    ktgrm(2), "Account Assignment Grp
    mvgr1(4),
    mvgr2(4),
    mvgr3(4),
    versg(1), "Material Statistics Grp
    * Added fields not part of the layout
    sapmatnr(18),
    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
    'H:\DATA\Nova\rbc\zrbc129.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'
    exporting
    STATIC = 'X'
    CHANGING
    FILE_NAME = F_FILE
    EXCEPTIONS
    MASK_TOO_LONG = 1
    OTHERS = 2.
    IF SY-SUBRC <> 0.
    *MESSAGE S010" 'Error in getting filename'.
    ENDIF.
    ENDFORM. " validate_input_file
    *& Form CONVER_XLS_ITAB
    * To convert XLS to internal table
    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 <> 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
    *& Form MOVE_DATA
    * text
    FORM MOVE_DATA.
    DATA : LV_INDEX TYPE I.
    FIELD-SYMBOLS: <fs> type any.
    *--- 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 <fs>.
    *--- Asigning the field value to a field symbol
    <fs> = it_intern-value.
    *MOVE IT_INTERN-VALUE TO <fs>.
    AT END OF ROW.
    APPEND IT_DATA.
    CLEAR IT_DATA.
    ENDAT.
    ENDLOOP.
    ENDFORM. " MOVE_DATA
    *& Form DELETE_HEADER_EMPTY_RECS
    * 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 > 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" No records in the file
    F_STOP = 'X'.
    STOP.
    ENDIF.
    ENDFORM. " DELETE_HEADER_EMPTY_RECS
    *& Form UPLOAD_MATMAS
    * to upload Material Master data
    FORM UPLOAD_MATMAS .
    LOOP AT IT_DATA.
    * Header
    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
      EXPORTING
        input              = it_data-matnr
    IMPORTING
       OUTPUT             =  it_data-sapmatnr
    EXCEPTIONS
       LENGTH_ERROR       = 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.
    BAPI_HEAD-MATERIAL = IT_DATA-sapMATNR.
    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'.
    BAPI_HEAD-SALES_VIEW = 'X'.
    BAPI_HEAD-QUALITY_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_MARA1-item_cat = it_data-mtpos_mara.
    BAPI_MARA1-PROD_HIER = it_data-prdha.
    bapi_marax-item_cat = 'X'.
    bapi_marax-prod_hier = 'X'.
    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_MARC1-LOADINGGRP = IT_DATA-LADGR.
    BAPI_MARC1-PROFIT_CTR = IT_DATA-prctr.
    BAPI_MARC1-BATCH_MGMT = IT_DATA-xchpf.
    bapi_marc1-qm_authgrp = 'X'.
    bapi_marcx-qm_authgrp = 'X'.
    BAPI_MARCX-PLANT = IT_DATA-WERKS.
    BAPI_MARCX-PUR_GROUP = 'X'.
    BAPI_MARCX-LOADINGGRP = 'X'.
    BAPI_MARCX-PROFIT_CTR = 'X'.
    BAPI_MARCX-BATCH_MGMT = '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'.
    * Sales Data
    BAPI_MVKE1-ITEM_CAT = IT_DATA-MTPOS_MARA.
    BAPI_MVKEX-ITEM_CAT = 'X'.
    BAPI_MVKE1-SALES_ORG = IT_DATA-vkorg.
    BAPI_MVKEX-SALES_ORG = IT_DATA-vkorg.
    BAPI_MVKE1-DISTR_CHAN = IT_DATA-vtweg.
    BAPI_MVKEX-DISTR_CHAN = IT_DATA-vtweg.
    BAPI_MVKE1-MAT_PR_GRP = IT_DATA-kondm.
    BAPI_MVKEX-MAT_PR_GRP = 'X'.
    BAPI_MVKE1-ACCT_ASSGT = IT_DATA-ktgrm.
    BAPI_MVKEX-ACCT_ASSGT = 'X'.
    BAPI_MVKE1-MATL_GRP_1 = IT_DATA-mvgr1.
    BAPI_MVKEX-MATL_GRP_1 = 'X'.
    BAPI_MVKE1-MATL_GRP_2 = IT_DATA-mvgr2.
    BAPI_MVKEX-MATL_GRP_2 = 'X'.
    BAPI_MVKE1-MATL_GRP_3 = IT_DATA-mvgr3.
    BAPI_MVKEX-MATL_GRP_3 = 'X'.
    BAPI_MVKE1-matl_stats = IT_DATA-versg.
    BAPI_MVKEX-matl_stats = '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
    SALESDATA = BAPI_MVKE1
    SALESDATAX = BAPI_MVKEX
    IMPORTING
    RETURN = BAPI_RETURN
    TABLES
    MATERIALDESCRIPTION = IT_MAKT
    IF BAPI_RETURN-TYPE = 'E'.
    WRITE:/ 'Error:' ,BAPI_RETURN-MESSAGE ,'for material:' ,it_data-matnr.
    ELSEIF BAPI_RETURN-TYPE = 'S'.
    WRITE: 'Successfully created/Changed material' ,it_data-matnr.
          CLEAR return.
          REFRESH return.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
               IMPORTING
                    return = return.
    ENDIF.
    ENDLOOP.
    ENDFORM. " UPLOAD_MATMAS
    Regards
    Raju Chitale

  • BDC for MM01 - Views not getting selected

    Hi,
    I have recorded the MM01 transaction and have developed the BDC code. While recording I selected the following views - Basic Data 1, Basic Data 2, Purchasing, Accounting 1 and Accounting 2.
    I run the BDC program by call transaction method. I selected the processing mode as 'A'. Now when I execute the program I get the Select view screen. In that Basic data1, basic data2 and purchasing views are getting selected automatically but Accounting 1 and accounting 2 views are not getting selected. When I click ok, the Plant in organization level is not picked up from excel file.
    While selecting views when I scroll the views screen then Accounting 1 and accounting 2 views are getting selected and the plant detail is picked from the excel.
    Please help.
    Regards,
    Sriram

    Hi,
    Use this BDC okcode to get the Accounting tab selected.
                                                         T     MM01                                                                               
    SAPLMGMM          0060          X                                                                               
    BDC_CURSOR     RMMG1-MTART
                                                                BDC_OKCODE     /00
                                                                RMMG1-MTART     FERT
    SAPLMGMM     0070     X                                                                               
    BDC_CURSOR     MSICHTAUSW-DYTXT(02)
                                                                BDC_OKCODE     =P+
                                                                MSICHTAUSW-KZSEL(01)     X
                                                                MSICHTAUSW-KZSEL(02)     X
    SAPLMGMM     0070     X                                                                               
    BDC_CURSOR     MSICHTAUSW-DYTXT(08)
                                                                BDC_OKCODE     =ENTR
                                                                MSICHTAUSW-KZSEL(07)     X
                                                                MSICHTAUSW-KZSEL(08)     X
    Hope this may be useful
    Thanks,
    Archana

  • BDC for F4 help in MM01

    Hi
    I have done a BDC for mm01 but when I am selecting sales Org view and trying to click on F4 the transaction hangs. I further checked the BDC of F4 does not get recorded. I tried to use Ok code 04 but it only picks the first value in the search help and populates without showing the F4. I am attaching my Code. Please can you have a look how to accomplish the requirement
    PERFORM F_POPULATE_BDCTAB USING:
         '1'  'SAPLMGMM'          '0060',
         ' '  'BDC_CURSOR'        'RMMG1-MTART',
         ' '  'BDC_OKCODE'        '=AUSW',
         ' '  'RMMG1-MBRSH'       l_c_3,
         ' '  'RMMG1-MTART'       mtart,
         '1'  'SAPLMGMM'          '0070',
         ' '  'BDC_CURSOR'        'MSICHTAUSW-DYTXT(01)',
         ' '  'BDC_OKCODE'        '=SELA',
         ' '  'BDC_CURSOR'        'MSICHTAUSW-DYTXT(01)',
         ' '  'BDC_OKCODE'        '=ENTR',
        '1'  'SAPLMGMM'          '0080',
        ' '  'BDC_CURSOR'        'RMMG1-WERKS',
        ' '  'BDC_OKCODE'        '=ENTR',
         '1'  'SAPLMGMM'          '0080',
         ' '  'BDC_CURSOR'        'RMMG1-WERKS',
         ' '  'BDC_OKCODE'        '=04',
         '1'  'SAPMMG01'          '0700',
         ' '  'BDC_OKCODE'        '=12',
        ' '  'BDC_OKCODE'        '=04',
        ' '  'MSICHTAUSW-KZSEL(01)' c_x,
         '1'  'SAPLMGMM'           '4004',
         ' '  'BDC_OKCODE'         '=BU',
         ' '  'MAKT-MAKTX'         maktx,
         ' '  'MARA-MEINS'         meins,
         ' '  'MARA-MATKL'         matkl,
         ' '  'MARA-MTPOS_MARA'    'NORM'.
    Any help is appreciable.
    Thanks
    Arghadip

    The requirement is such that the User is going to enter the Material Type, Industry Sector,UOM and short text in Portal and I need to provide the MM01 screen to the user with the following data. Now when he is trying to select all the views to create in the Sales Org view and some other views another screen is appearing for Plant and Sales Org where it has a Value help which on clicking it gets stopped. The user wants the look and feel of MM01 through BDC including the Value help features and also those entry he has entered in Portal.
    Thanks
    Arghadip

  • What is the process for mm01 datatransfer by selecting different views

    what will be the basic thing to be done for selecting different views?

    hi ..if want to upload master data for different views then first create material using MM01 and then update material for different views one by one in MM02..for mass data transfer u can use BDCs for MM01 and MM02
    regards

  • Problem in BDC FOR uploading more than 1 insep. typ in QM view for MM01

    Hi,
    I had made a BDC in which i am trying to upload the data for the QM view which is being extended in it but the problem is when the program reaches the to QM view it is only able to upload only 1 inspection Type which is working fine but when there is more than 1 it gives error that its QM View has already maintained.  Please provide me guiddlines how to solve this problem .
    Here's is the link to the code which i am trying to modify:-
    http://docs.google.com/Edit?id=dngp529_2fxwgmrgg
    Edited by: ricx .s on Apr 16, 2009 2:30 PM

    hi,
    But is it not possible that while creating the insepction type for the first it should simultaneously take the value of 2nd inspection type .
    see,ina bdc of qp01 or ca01 we can insert the values at the screen but why can't we do d same in the bdc of mm01,
    I had made a bdc for tcode MM02 in which i am able to upload  the data but in that there is a problem that some of the materials have the Quality managmnt View at position no. 11 or 13 of the screen.
    here's is d link for the code of the program :-
    http://docs.google.com/Doc?id=dngp529_3wcgnjdf3
    plzz provide me guidelines how to solve it    .
    Edited by: ricx .s on Apr 17, 2009 9:26 AM
    Edited by: ricx .s on Apr 17, 2009 10:56 AM

  • Bdc notes for mm01 & me21n

    hi gurus,
      i want  notes for creating materials and to create purchase order using bdc and to upload some datas using that recording from datas in note pad or any external file with screen shots. if any body sent to it ll be very useful to me...
    thanks in advance
    arun

    Hi,
    check the codes for mm01 and me21n.
    mm01
    report ZBHMAT no standard page heading line-size 255.
    DATA:BEGIN OF ITAB OCCURS 0,
         MATNR LIKE RMMG1-MATNR,
         MBRSH LIKE RMMG1-MBRSH,
         MTART LIKE RMMG1-MTART,
         KZSEL LIKE MSICHTAUSW-KZSEL,
         WERKS LIKE RMMG1-WERKS,
         VKORG LIKE RMMG1-VKORG,
         VTWEG LIKE RMMG1-VTWEG,
         MAKTX LIKE MAKT-MAKTX,
         MEINS LIKE MARA-MEINS,
         SKTOF LIKE MVKE-SKTOF,
         TAXKM LIKE MG03STEUER-TAXKM,
         GEWEI LIKE MARA-GEWEI,
         MTVFP LIKE MARC-MTVFP,
         TRAGR LIKE MARA-TRAGR,
         LADGR LIKE MARC-LADGR,
    END OF ITAB.
    DATA BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'C:/BHARAT/MAT.TXT'
       FILETYPE                      = 'ASC'
      TABLES
        DATA_TAB                      = ITAB.
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
       CLIENT                    = SY-MANDT
       GROUP                     = 'MATERIAL'
       KEEP                      = 'X'
       USER                      = SY-UNAME
       PROG                      = SY-CPROG.
    LOOP AT ITAB.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_field       using 'RMMG1-MATNR'
                                  ITAB-MATNR.
    perform bdc_field       using 'RMMG1-MBRSH'
                                  ITAB-MBRSH.
    perform bdc_field       using 'RMMG1-MTART'
                                  ITAB-MTART.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-KZSEL(04)'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(04)'
                                  ITAB-KZSEL.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_dynpro      using 'SAPLMGMM' '0080'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-WERKS'.
    perform bdc_field       using 'RMMG1-WERKS'
                                  ITAB-WERKS.
    perform bdc_field       using 'RMMG1-VKORG'
                                  ITAB-VKORG.
    perform bdc_field       using 'RMMG1-VTWEG'
                                  ITAB-VTWEG.
    perform bdc_field       using 'BDC_OKCODE'
                                  'ENTR'.
    perform bdc_dynpro      using 'SAPLMGMM' '4000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MAKT-MAKTX'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  ITAB-MAKTX.
    perform bdc_field       using 'MARA-MEINS'
                                  ITAB-MEINS.
    perform bdc_field       using 'MVKE-SKTOF'
                                  ITAB-SKTOF.
    perform bdc_field       using 'MG03STEUER-TAXKM(01)'
                                  ITAB-TAXKM.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMGMM' '4200'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MAKT-MAKTX'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  ITAB-MAKTX.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMGMM' '4000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MAKT-MAKTX'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  ITAB-MAKTX.
    perform bdc_field       using 'MARA-MEINS'
                                  ITAB-MEINS.
    perform bdc_field       using 'MVKE-SKTOF'
                                  ITAB-SKTOF.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    perform bdc_dynpro      using 'SAPLMGMM' '4000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MAKT-MAKTX'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  ITAB-MAKTX.
    perform bdc_field       using 'MARA-MEINS'
                                  ITAB-MEINS.
    perform bdc_field       using 'MARA-GEWEI'
                                  ITAB-GEWEI.
    perform bdc_field       using 'MARC-MTVFP'
                                  ITAB-MTVFP.
    perform bdc_field       using 'MARA-TRAGR'
                                  ITAB-TRAGR.
    perform bdc_field       using 'MARC-LADGR'
                                  ITAB-LADGR.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
       TCODE                  = 'MM01'
      TABLES
        DYNPROTAB              = BDCTAB.
    REFRESH BDCTAB.
    ENDLOOP.
    CALL FUNCTION 'BDC_CLOSE_GROUP'.
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCTAB.
      BDCTAB-PROGRAM  = PROGRAM.
      BDCTAB-DYNPRO   = DYNPRO.
      BDCTAB-DYNBEGIN = 'X'.
      APPEND BDCTAB.
    ENDFORM.
    FORM BDC_FIELD USING FNAM FVAL.
        CLEAR BDCTAB.
        BDCTAB-FNAM = FNAM.
        BDCTAB-FVAL = FVAL.
        APPEND BDCTAB.
    ENDFORM.
    me21n
    report ZBH_PURORDER no standard page heading line-size 255.
    PARAMETERS:P_FILE LIKE IBIPPARMS-PATH.
    DATA FILENAME TYPE STRING.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    CALL FUNCTION 'F4_FILENAME'
       EXPORTING
          program_name  = sy-cprog
          dynpro_number = sy-dynnr
       IMPORTING
          file_name     = P_FILE.
    START-OF-SELECTION.
    FILENAME = P_FILE.
    DATA:BEGIN OF XTAB OCCURS 0,
    TYP,
    DES(255) TYPE C,
    END OF XTAB.
    DATA:BEGIN OF ITAB OCCURS 0,
    SUPERFIELD LIKE MEPO_TOPLINE-SUPERFIELD,
    EKORG LIKE MEPO1222-EKORG,
    EKGRP LIKE MEPO1222-EKGRP,
    BUKRS LIKE MEPO1222-BUKRS,
    END OF ITAB.
    DATA:BEGIN OF JTAB OCCURS 0,
    N(4) TYPE C,
    EMATN LIKE MEPO1211-EMATN,
    MENGE(13) TYPE C,
    NETPR(13) TYPE C,
    NAME1 LIKE MEPO1211-NAME1,
    END OF JTAB.
    DATA:BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    DATA:DELIMITER VALUE '*'.
    DATA A TYPE I.
    DATA M(4) TYPE N.
    DATA L_FNAM(30) TYPE C.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = FILENAME
       FILETYPE                      = 'ASC'
      TABLES
        DATA_TAB                      = XTAB.
    LOOP AT XTAB.
    IF XTAB-TYP = 'H'.
      SPLIT XTAB-DES AT DELIMITER INTO ITAB-SUPERFIELD ITAB-EKORG ITAB-EKGRP
      ITAB-BUKRS.
      JTAB-N = JTAB-N + 1.
      APPEND ITAB.
    ELSEIF XTAB-TYP = 'I'.
      SPLIT XTAB-DES AT DELIMITER INTO JTAB-EMATN JTAB-MENGE JTAB-NETPR
      JTAB-NAME1.
    APPEND JTAB.
    ENDIF.
    ENDLOOP.
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
       CLIENT                    = SY-MANDT
       GROUP                     = 'PORDER'
       KEEP                      = 'X'
       USER                      = SY-UNAME.
    LOOP AT ITAB.
    A = SY-TABIX.
    REFRESH BDCTAB.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO_TOPLINE-SUPERFIELD'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  'NB'.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  ITAB-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  '09.02.2007'.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '                                      1'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MEV4000BUTTON'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  'NB'.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  ITAB-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  '09.02.2007'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO1222-EKORG'.
    perform bdc_field       using 'MEPO1222-EKORG'
                                  ITAB-EKORG.
    perform bdc_field       using 'MEPO1222-EKGRP'
                                  ITAB-EKGRP.
    perform bdc_field       using 'MEPO1222-BUKRS'
                                  ITAB-BUKRS.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '                                      1'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MEV4001BUTTON'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  'NB'.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  ITAB-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  '09.02.2007'.
    perform bdc_field       using 'MEPO1222-EKORG'
                                  ITAB-EKORG.
    perform bdc_field       using 'MEPO1222-EKGRP'
                                 ITAB-EKGRP.
    perform bdc_field       using 'MEPO1222-BUKRS'
                                 ITAB-BUKRS.
    M = 1.
    LOOP AT JTAB.
    IF JTAB-N = A.
    WRITE:/ JTAB.
    CONCATENATE 'MEPO1211-EMATN(' M ')' INTO L_FNAM.
    perform bdc_field       using 'BDC_CURSOR'
                                  L_FNAM.
    perform bdc_field       using L_FNAM
                                  JTAB-EMATN.
    CONCATENATE 'MEPO1211-MENGE(' M ')' INTO L_FNAM.
    perform bdc_field       using L_FNAM
                                  JTAB-MENGE.
    CONCATENATE 'MEPO1211-NETPR(' M ')' INTO L_FNAM.
    perform bdc_field       using L_FNAM
                                  JTAB-NETPR.
    CONCATENATE 'MEPO1211-NAME1(' M ')' INTO L_FNAM.
    perform bdc_field       using L_FNAM
                                  JTAB-NAME1.
    M = M + 1.
    ENDIF.
    ENDLOOP.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '                                      1'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  'NB'.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  ITAB-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  '09.02.2007'.
    perform bdc_field       using 'MEPO1222-EKORG'
                                  ITAB-EKORG.
    perform bdc_field       using 'MEPO1222-EKGRP'
                                  ITAB-EKGRP.
    perform bdc_field       using 'MEPO1222-BUKRS'
                                  ITAB-BUKRS.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '                                      1'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO1319-MATKL'.
    perform bdc_field       using 'MEPO1319-SPINF'
                                  'X'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MESAVE'.
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
       TCODE                  = 'ME21N'
      TABLES
        DYNPROTAB              = BDCTAB.
    ENDLOOP.
    CALL FUNCTION 'BDC_CLOSE_GROUP'.
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCTAB.
      BDCTAB-PROGRAM  = PROGRAM.
      BDCTAB-DYNPRO   = DYNPRO.
      BDCTAB-DYNBEGIN = 'X'.
      APPEND BDCTAB.
    ENDFORM.
    FORM BDC_FIELD USING FNAM FVAL.
        CLEAR BDCTAB.
        BDCTAB-FNAM = FNAM.
        BDCTAB-FVAL = FVAL.
        APPEND BDCTAB.
    ENDFORM.
    FLAT FILE:
    H1171611000001*1000
    ICPU116000*1000
    ILEY BOARD1010000*1000
    IMOUSE66000*1000
    H1171711000001*1000
    ICPU580000*1000
    H1171701000001*1000
    IMOUSE33000*1000
    ILEY BOARD1010000*1000
    rgds,
    bharat.

  • BDC code for MM01 Transaction

    Hi All,,
                 Please give Entire BDC code for MM01 Transaction.
    i will change as per my requirement.
    I think this is already done by some ABAP Consultants.
    plz dont give answers like do recording for that transaction MM01. I know recording...
    For time constraiint, I have to complete soon.....
    Thanks in Advance
    BestRegards,
    Anil

    Hi,
    The below code is using the Session Method
    report ZDS_BDC_MM01
           no standard page heading line-size 255.
    include bdcrecx1.
    *parameters: dataset(132) lower case.
    ***    DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
    *   If it is nessesary to change the data section use the rules:
    *   1.) Each definition of a field exists of two lines
    *   2.) The first line shows exactly the comment
    *       '* data element: ' followed with the data element
    *       which describes the field.
    *       If you don't have a data element use the
    *       comment without a data element name
    *   3.) The second line shows the fieldname of the
    *       structure, the fieldname must consist of
    *       a fieldname and optional the character '_' and
    *       three numbers and the field length in brackets
    *   4.) Each field must be type C.
    *** Generated data section with specific formatting - DO NOT CHANGE  ***
    data: begin of record OCCURS 0,
    * data element: MATNR
            MATNR_001(018),
    * data element: MBRSH
            MBRSH_002(001),
    * data element: MTART
            MTART_003(004),
    * data element: XFELD
            KZSEL_01_004(001),
    * data element: XFELD
            KZSEL_02_005(001),
    * data element: MAKTX
            MAKTX_006(040),
    * data element: MEINS
            MEINS_007(003),
    * data element: MAKTX
            MAKTX_008(040),
          end of record.
    *** End generated data section ***
    start-of-selection.
    *perform open_dataset using dataset.
    perform open_group.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      ='C:\DHRUV.TXT'
       FILETYPE                      = 'DAT'
    *   HAS_FIELD_SEPARATOR           = ' '
    *   HEADER_LENGTH                 = 0
    *   READ_BY_LINE                  = 'X'
    *   DAT_MODE                      = ' '
    *   CODEPAGE                      = ' '
    *   IGNORE_CERR                   = ABAP_TRUE
    *   REPLACEMENT                   = '#'
    *   CHECK_BOM                     = ' '
    *   VIRUS_SCAN_PROFILE            =
    *   NO_AUTH_CHECK                 = ' '
    * IMPORTING
    *   FILELENGTH                    =
    *   HEADER                        =
      TABLES
        DATA_TAB                      = RECORD
    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.
    *do.
    LOOP AT record.
    *read dataset dataset into record.
    if sy-subrc <> 0. exit. endif.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RMMG1-MATNR'
                                  record-MATNR_001.
    perform bdc_field       using 'RMMG1-MBRSH'
                                  record-MBRSH_002.
    perform bdc_field       using 'RMMG1-MTART'
                                  record-MTART_003.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'
                                  record-KZSEL_01_004.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(02)'
                                  record-KZSEL_02_005.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  record-MAKTX_006.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MARA-MEINS'.
    perform bdc_field       using 'MARA-MEINS'
                                  record-MEINS_007.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MAKT-MAKTX'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  record-MAKTX_008.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    perform bdc_transaction using 'MM01'.
    *enddo.
    ENDLOOP.
    perform close_group.
    *perform close_dataset using dataset.
    *Text elements
    * E00 Error opening dataset, return code:
    * I01 Session name
    * I02 Open session
    * I03 Insert transaction
    * I04 Close Session
    * I05 Return code =
    * I06 Error session created
    * S01 Session name
    * S02 User
    * S03 Keep session
    * S04 Lock date
    * S05 Processing Mode
    * S06 Update Mode
    * S07 Generate session
    * S08 Call transaction
    * S09 Error sessn
    * S10 Nodata indicator
    * S11 Short log
    *Messages
    * Message class: MS
    *613   Please enter a session name and user name
    The Below is the coding for the Call Transaction...
    report ZDS_BDC_MM01_2
           no standard page heading line-size 255.
    *include bdcrecx1.
    *parameters: dataset(132) lower case.
    ***    DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
    *   If it is nessesary to change the data section use the rules:
    *   1.) Each definition of a field exists of two lines
    *   2.) The first line shows exactly the comment
    *       '* data element: ' followed with the data element
    *       which describes the field.
    *       If you don't have a data element use the
    *       comment without a data element name
    *   3.) The second line shows the fieldname of the
    *       structure, the fieldname must consist of
    *       a fieldname and optional the character '_' and
    *       three numbers and the field length in brackets
    *   4.) Each field must be type C.
    *** Generated data section with specific formatting - DO NOT CHANGE  ***
    data: begin of record OCCURS 0,
    * data element: MATNR
            MATNR_001(018),
    * data element: MBRSH
            MBRSH_002(001),
    * data element: MTART
            MTART_003(004),
    * data element: XFELD
            KZSEL_01_004(001),
    * data element: MAKTX
            MAKTX_005(040),
    * data element: MEINS
            MEINS_006(003),
    * data element: MTPOS_MARA
            MTPOS_MARA_007(004),
          end of record.
    DATA: FLNAME TYPE STRING.
    *** End generated data section ***
    DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
    *** MESSAGE******
    DATA: BEGIN OF MESSTAB OCCURS 0.
            INCLUDE STRUCTURE BDCMSGCOLL.
            DATA: MATNR TYPE MARA-MATNR,
          END OF MESSTAB.
    ****END OF MESSAGE****
    PARAMETERS: FILENAME TYPE RLGRAP-FILENAME.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILENAME.
      CALL FUNCTION 'F4_FILENAME'
       IMPORTING
         FILE_NAME           = FILENAME.
    start-of-selection.
    *perform open_dataset using dataset.
    perform open_group.
    FLNAME = FILENAME.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = FLNAME
        FILETYPE                      = 'DAT'
    *   HAS_FIELD_SEPARATOR           = ' '
    *   HEADER_LENGTH                 = 0
    *   READ_BY_LINE                  = 'X'
    *   DAT_MODE                      = ' '
    *   CODEPAGE                      = ' '
    *   IGNORE_CERR                   = ABAP_TRUE
    *   REPLACEMENT                   = '#'
    *   CHECK_BOM                     = ' '
    *   VIRUS_SCAN_PROFILE            =
    *   NO_AUTH_CHECK                 = ' '
    * IMPORTING
    *   FILELENGTH                    =
    *   HEADER                        =
      TABLES
        DATA_TAB                      = record
    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.
    LOOP AT record.
      DATA:
        CNT TYPE I.
        CNT = CNT + 1.
        REFRESH BDCDATA.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MTART'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RMMG1-MATNR'
                                  record-MATNR_001.
    perform bdc_field       using 'RMMG1-MBRSH'
                                  record-MBRSH_002.
    perform bdc_field       using 'RMMG1-MTART'
                                  record-MTART_003.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'
                                  record-KZSEL_01_004.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  record-MAKTX_005.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MARA-MEINS'.
    perform bdc_field       using 'MARA-MEINS'
                                  record-MEINS_006.
    perform bdc_field       using 'MARA-MTPOS_MARA'
                                  record-MTPOS_MARA_007.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    *perform bdc_transaction using 'MM01'.
    CALL TRANSACTION 'MM01' USING BDCDATA
                            MODE 'N'
                            UPDATE 'A'
                            MESSAGES INTO MESSTAB.
    READ TABLE MESSTAB INTO MESSTAB INDEX CNT.
       IF MESSTAB-MSGTYP = 'E'.
         MESSTAB-MATNR = RECORD-MATNR_001.
         MODIFY MESSTAB INDEX CNT FROM MESSTAB. " TRANSPORTING MATNR.
       ENDIF.
    ENDLOOP.
    FORM OPEN_GROUP.
      CALL FUNCTION 'BDC_OPEN_GROUP'
             EXPORTING  CLIENT   = SY-MANDT
                        GROUP    = 'MM01'
                        USER     = SY-UNAME
                        KEEP     = 'X'.
    ENDFORM.
    FORM BDC_INSERT.
      CALL FUNCTION 'BDC_INSERT'
       EXPORTING
         TCODE                  = 'MM01'
    *     POST_LOCAL             = NOVBLOCAL
    *     PRINTING               = NOPRINT
    *     SIMUBATCH              = ' '
    *     CTUPARAMS              = ' '
        TABLES
          DYNPROTAB              = BDCDATA
       EXCEPTIONS
         INTERNAL_ERROR         = 1
         NOT_OPEN               = 2
         QUEUE_ERROR            = 3
         TCODE_INVALID          = 4
         PRINTING_INVALID       = 5
         POSTING_INVALID        = 6
         OTHERS                 = 7
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.
    END-OF-SELECTION.
    LOOP AT MESSTAB.
        IF MESSTAB-MSGTYP = 'E'.
          WRITE:/ 'ERROR OCCURED ON MATNR = ',MESSTAB-MATNR , 'MESSAGE : MATNR ALREADY EXISTS IN MARA!!!'.
        ENDIF.
      ENDLOOP.
    perform close_group.
    *perform close_dataset using dataset.
    *&      Form  close_group
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM close_group .
    CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
       NOT_OPEN          = 1
       QUEUE_ERROR       = 2
       OTHERS            = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " close_group
    *&      Form  bdc_dynpro
    *       text
    *      -->P_0270   text
    *      -->P_0271   text
    FORM bdc_dynpro  USING PROGRAM DYNPRO.
      CLEAR BDCDATA.
      BDCDATA-PROGRAM  = PROGRAM.
      BDCDATA-DYNPRO   = DYNPRO.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND BDCDATA.
    ENDFORM.                    " bdc_dynpro
    *&      Form  bdc_field
    *       text
    *      -->P_0275   text
    *      -->P_0276   text
    FORM bdc_field  USING  FNAM FVAL.
      IF FVAL <> ' '.
        CLEAR BDCDATA.
        BDCDATA-FNAM = FNAM.
        BDCDATA-FVAL = FVAL.
        APPEND BDCDATA.
      ENDIF.
    ENDFORM.                    " bdc_field
    *Text elements
    * E00 Error opening dataset, return code:
    * I01 Session name
    * I02 Open session
    * I03 Insert transaction
    * I04 Close Session
    * I05 Return code =
    * I06 Error session created
    * S01 Session name
    * S02 User
    * S03 Keep session
    * S04 Lock date
    * S05 Processing Mode
    * S06 Update Mode
    * S07 Generate session
    * S08 Call transaction
    * S09 Error sessn
    * S10 Nodata indicator
    * S11 Short log
    HTH
    Regards,
    Dhruv Shah

  • Bdc recording for mm01

    hi all,
    this is an extract of materail master upload for mm01 when i execute this recording purchase order text view doesnot get populated with text. anybody can tell me whts wrong with this?????
    perform bdc_field       using 'MAKT-MAKTX'
                                  'carr'.
    perform bdc_dynpro      using 'SAPLSTXX' '1100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RSTXT-TXLINE(05)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TXVB'.
    perform bdc_field       using 'RSTXT-TXLINE(02)'
                                  'qqqqqqqqqqqqqq  ssssssssssssssssssssss'
                                & 'sssss.00000000000000jjjjjjjjjjjjoo'.
    perform bdc_field       using 'RSTXT-TXLINE(03)'
                                  'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjjjjj'
                                & 'jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj'.
    perform bdc_field       using 'RSTXT-TXLINE(04)'
                                  'kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk'
                                & 'kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk'.
    perform bdc_field       using 'RSTXT-TXLINE(05)'
                                  '66666666666666666666666666666666666666'
                                & '6666666666666666666666666666666666'.
    perform bdc_dynpro      using 'SAPLSTXX' '1100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RSTXT-TXLINE(06)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TXBA'.
    perform bdc_dynpro      using 'SAPLMGMM' '4040'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SP12'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  'carr'.
    perform bdc_dynpro      using 'SAPLMGMM' '4000'.

    Hi
    You have to upload the Texts using the CREATE_TEXT fun module
    see the sample program
    REPORT zmm_longtext
           NO STANDARD PAGE HEADING
           LINE-SIZE 255.
    Internal Table for Upload of Long Texts Data
    DATA: BEGIN OF itab1 OCCURS 0,
            matnr    LIKE mara-matnr,    " Material
            text     LIKE tline-tdline,  " Long Text
          END OF itab1.
    Internal Table for Upload of Long Texts Data
    DATA: BEGIN OF itab OCCURS 0,
            matnr LIKE mara-matnr,    " Material
            text  LIKE tline-tdline,  " Long Text
          END OF itab.
    To create Long Text lines for CREATE_TEXT function module
    DATA:BEGIN OF dt_lines OCCURS 0.
            INCLUDE STRUCTURE tline.   " Long Text
    DATA:END OF dt_lines.
    Variable declarations for CREATE_TEXT function module
    DATA : dl_name TYPE thead-tdname,   " Object Name
           dl_lan TYPE thead-tdspras,   " Language
           gv_matnr TYPE matnr.
    Constants
    CONSTANTS:
    Object ID for Long Text of Material Basic Data 1
      c_best     TYPE thead-tdid VALUE 'GRUN',
      c_material TYPE thead-tdobject VALUE 'MATERIAL'. " Object
    Parameters
    PARAMETERS p_file LIKE rlgrap-filename.
    At selection-screen on Value Request for file Name
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    Get the F4 Values for the File
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
        IMPORTING
          file_name     = p_file.
    Start Of Selection
    START-OF-SELECTION.
    *To Upload Flat file
      CALL FUNCTION 'UPLOAD'
        EXPORTING
          filename                = p_file
          filetype                = 'DAT'
        TABLES
          data_tab                = itab1
        EXCEPTIONS
          conversion_error        = 1
          invalid_table_width     = 2
          invalid_type            = 3
          no_batch                = 4
          unknown_error           = 5
          gui_refuse_filetransfer = 6
          OTHERS                  = 7.
      SORT itab1 BY matnr.
      LOOP AT itab1.
        CLEAR gv_matnr.
        SELECT SINGLE matnr INTO gv_matnr
           FROM mara WHERE bismt = itab1-matnr.
        IF itab1-text NE ' '.
          itab-matnr = gv_matnr.
          itab-text  = itab1-text.
          APPEND itab.
        ENDIF.
        CLEAR itab.
      ENDLOOP.
      DELETE itab WHERE matnr EQ ' '.
    Upload the Texts
      SORT itab BY matnr.
      LOOP AT itab.
        dt_lines-tdformat = 'ST'.
        dt_lines-tdline = itab-text.
        APPEND dt_lines.
        dl_lan = sy-langu.
        dl_name = itab-matnr.
    Call the Function Module to Create Text
        CALL FUNCTION 'CREATE_TEXT'
          EXPORTING
            fid         = c_best
            flanguage   = dl_lan
            fname       = dl_name
            fobject     = c_material
            save_direct = 'X'
            fformat     = '*'
          TABLES
            flines      = dt_lines
          EXCEPTIONS
            no_init     = 1
            no_save     = 2
            OTHERS      = 3.
        IF sy-subrc <> 0.
          WRITE:/ 'Long Text Creation failed for Material'(001),
                 itab-matnr.
        ELSE.
          WRITE:/ 'Long Text Created Successfully for Material'(002),
                 itab-matnr.
        ENDIF.
        AT END OF matnr.
          REFRESH dt_lines.
        ENDAT.
      ENDLOOP.
    Regards
    Anji

  • BDC with MM01/ MM02 from MARA table

    Can anybody suggest me for the following problem.
    I want to construct a BDC with MM01/ MM02 from MARA table.
    And I want the source file to be a notepad or Excel sheet. But i am not
    getting, that how to write the data in Notepad/Excel sheet, to feed to the
    master table according to the MM01/MM02 fields .

    This is the sample code for creation of flatfile for MM01 this will be definetly helping you to create a flatfile.
    REPORT  ZBDC_FF MESSAGE-ID BCTRAIN .
    TYPES: BEGIN OF STU,
           MATNR LIKE RMMG1-MATNR,
           MBRSH LIKE RMMG1-MBRSH,
           MTART LIKE RMMG1-MTART,
           MAKTX LIKE MAKT-MAKTX,
           MEINS LIKE MARA-MEINS,
           END OF STU.
    DATA WA_ITAB TYPE STU.
    DATA ITAB TYPE TABLE OF STU.
    WA_ITAB-MATNR = 'T1'.              "MATERIAL NUMBER"
    WA_ITAB-MBRSH = 'K'.                 "INDUSTRY SECTOR"
    WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    WA_ITAB-MEINS = 'EE'.                "BASE UNIT OF MEASURE"
    APPEND WA_ITAB TO ITAB.
    CLEAR WA_ITAB.
    *WA_ITAB-MATNR = 'TOL2'.              "MATERIAL NUMBER"
    *WA_ITAB-MBRSH = 'M'.                 "INDUSTRY SECTOR"
    *WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    *WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    *WA_ITAB-MEINS = 'EA'.                "BASE UNIT OF MEASURE"
    *APPEND WA_ITAB TO ITAB.
    *CLEAR WA_ITAB.
    *WA_ITAB-MATNR = 'TOL3'.              "MATERIAL NUMBER"
    *WA_ITAB-MBRSH = 'M'.                 "INDUSTRY SECTOR"
    *WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    *WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    *WA_ITAB-MEINS = 'EA'.                "BASE UNIT OF MEASURE"
    *APPEND WA_ITAB TO ITAB.
    *CLEAR WA_ITAB.
    *WA_ITAB-MATNR = 'TOL4'.              "MATERIAL NUMBER"
    *WA_ITAB-MBRSH = 'M'.                 "INDUSTRY SECTOR"
    *WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    *WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    *WA_ITAB-MEINS = 'EA'.                "BASE UNIT OF MEASURE"
    *APPEND WA_ITAB TO ITAB.
    *CLEAR WA_ITAB.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
    FILENAME     = 'C:\Documents and Settings\chiranjeevi\Desktop\BDC.TXT'
      TABLES
        DATA_TAB     = ITAB
    IF SY-SUBRC <> 0.
    MESSAGE S999 WITH 'EXECUTED'.
    ENDIF.
    Cheers!!!

  • How to handle bdc for more than one transaction?

    how to handle bdc for more than one transaction?

    Hi srk,
    I am providing you with some references below. Hope this prove to be helpful to you.
    Method 1:
    Use one BDC_OPEN_GROUP
    Multiple BDC_INSERT 
    One BDC_CLOSE_GROUP.
    Call function BDC_OPENGROUP.
    Build BDC data and call lBDC_INSERT for transaction 1
    Build BDC data and call lBDC_INSERT for transaction 2
    Build BDC data and call lBDC_INSERT for transaction 3
    paas the tcodes to bdc_insert.
    call function BDC_CLOSE_GROUP.
    Also check this out:
    Here we need to record 2 transactions (shdb).
    Once completion of the recording. Populate the data into input internal table .
    Loop the internal table and process the 2 transactions
    like
    1. BDC_OPEN_GROUP
    2. LOOP AT ITAB
    a. Populate first transaction recording data
    and pass transaction to the BDC_INSERT_GROUP.
    BDC_INSERT_GROUP.
    b. Populate second transaction recording data
    and pass transaction to the BDC_INSERT_GROUP.
    BDC_INSERT_GROUP.
    ENDLOOP.
    3. BDC_CLOSE_GROUP
    the above info can be found at : How to use 2 transactions in BDC?
    Also check this out:
    Suppose u have created recordings for transactions 'MM01' 'XK01' and 'VA01'.
    Then do this:
    bdc_open_group.
    after this we have to fill the bdcdata structure for one transaction.here 'MM01'.
    bdc_insert.
    refresh bdcdata.
    after this we have to fill the bdcdata structure for one transaction.here 'xk01'.
    bdc_insert .
    refresh bdcdata.
    after this we have to fill the bdcdata structure for one transaction.here 'va01'.
    bdc_insert.
    bdc_close_group.
    Hope these are useful to you.
    Please reward if any of the above are useful.
    Regards,
    Kalyan

Maybe you are looking for

  • Can the Terminal add a user(with all options) on a single line?

    Howdy All, Can the Mac Terminal add a user, with all options desired, on a single line?    If so, can I get an example of this single terminal line to work from? Thanks

  • How do I back up or save my Notes?  Iphone 5 ios 7.0.4

    My notes are the most important thing in my phone and i would like to restore my phone but still be able to keep all of my notes. Ive tried backing up everything up through icloud and my mac but when i go back to my notes and click my Icloud account

  • 12 core Mac Pro does not improve render time over iMac quad core

    I'm rendering the same composition independently on two computers and they are basically rendering at the same rate, which is slightly better than 1 frame per second. The project settings and preferences are identical in each instance (with the excep

  • Large table for IDoc

    Hello Guru: Now the DB table EDID4 is very large ( more than 45 million records ) in our BW system, is there anyway to delete the content of the table but do not harm our BW logic? The system will read some data from the table when we try to read the

  • How to patition of 0PUR_C01

    hi, guys i  want partition a standard cube of 0PUR_C01 (0FISCPER) for perfomance improment . how can do this and also i want add a field of partner function in to the same cube how can i do this . can any can help me the above topics. advance thanks