07-11-2007 1:52 PM
Hi,
I have a requirement to upload Material Master Data usind the function module <b>''MATERIAL_BDCDATA"</b>. I don't have to use the BDC method.
I checked the function module in SE37. It shows the Import Parameters as <b>KZMAPPE
KZPRF
KZ_ERWEITERN</b>
I want to know what values to pass to these fields. And if possible can you give me a Sample Code.
Thanks and Regards
Dinesh.
07-11-2007 1:59 PM
Hi,
Instead of the Function module use the bapi
BAPI_MATERIAL_SAVEDATA
Here is the example program
********************************************************
* STRUCTURE
********************************************************
TABLES:
BAPIMATHEAD, "Headerdata
BAPI_MARA, "Clientdata
BAPI_MARAX, "Clientdatax
BAPI_MARC, "Plantdata
BAPI_MARCX, "Plantdatax
BAPI_MAKT, "Material description
BAPIPAREX, "Extensionstruktur
BAPIPAREXX,
BAPIRET2. "Return messages
DATA:
BAPI_TE_MARA LIKE BAPI_TE_MARA,
BAPI_TE_MARAX LIKE BAPI_TE_MARAX,
V_FILE TYPE STRING.
********************************************************
* INTERNAL TABLE
********************************************************
*to store the output data
DATA:BEGIN OF it_material_number OCCURS 0.
INCLUDE STRUCTURE BAPIMATINR.
DATA:END OF it_material_number.
*for materialtext
DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT .
DATA:END OF IT_MATERIALDESC.
*für z-feld
DATA:BEGIN OF IT_BAPIPAREX OCCURS 0.
INCLUDE STRUCTURE BAPIPAREX.
DATA:END OF IT_BAPIPAREX.
*für z-feldx
DATA:BEGIN OF IT_BAPIPAREXX OCCURS 0.
INCLUDE STRUCTURE BAPIPAREXX.
DATA:END OF IT_BAPIPAREXX.
*to return messages
DATA:BEGIN OF IT_RETURN2 OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA:END OF IT_RETURN2.
DATA:BEGIN OF IT_RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET1.
DATA:END OF IT_RETURN.
********************************************************
* PROCESSING
********************************************************
BAPIMATHEAD-MATERIAL = IT_MATERIAL_NUMBER-MATERIAL.
BAPIMATHEAD-IND_SECTOR = 'S'.
BAPIMATHEAD-MATL_TYPE = 'ZRHD'.
BAPIMATHEAD-BASIC_VIEW = 'X'.
BAPIMATHEAD-PURCHASE_VIEW = 'X'.
BAPI_MARA-MATL_GROUP = 'RH01'.
BAPI_MARA-OLD_MAT_NO = '0815'.
BAPI_MARA-BASE_UOM = 'FM'.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-OLD_MAT_NO = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARC-PLANT = '0100'.
BAPI_MARCX-PLANT = '0100'.
IT_MATERIALDESC-LANGU = 'DE'.
IT_MATERIALDESC-MATL_DESC = 'RH TEST-Material'.
APPEND IT_MATERIALDESC.
BAPI_TE_MARA-MATERIAL = IT_MATERIAL_NUMBER-MATERIAL.
BAPI_TE_MARA-ZZFORST = '0000704148'.
BAPI_TE_MARAX-MATERIAL = IT_MATERIAL_NUMBER-MATERIAL.
BAPI_TE_MARAX-ZZFORST = 'X'.
IT_BAPIPAREX-STRUCTURE = 'BAPI_TE_MARA'.
IT_BAPIPAREX-VALUEPART1 = BAPI_TE_MARA.
APPEND IT_BAPIPAREX.
IT_BAPIPAREXX-STRUCTURE = 'BAPI_TE_MARAX'.
IT_BAPIPAREXX-VALUEPART1 = BAPI_TE_MARAX.
APPEND IT_BAPIPAREXX.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = BAPIMATHEAD
CLIENTDATA = BAPI_MARA
CLIENTDATAX = BAPI_MARAX
PLANTDATA = BAPI_MARc
PLANTDATAX = BAPI_MARcx
IMPORTING
RETURN = IT_RETURN2
TABLES
MATERIALDESCRIPTION = IT_MATERIALDESC
EXTENSIONIN = IT_BAPIPAREX
EXTENSIONINX = IT_BAPIPAREXX.
Regards
Sudheer
07-11-2007 1:54 PM
07-11-2007 1:58 PM
IMPORTING
*" IBMM00 LIKE BMM00 STRUCTURE BMM00
*" IBMMH1 LIKE BMMH1 STRUCTURE BMMH1
*" IBMMHI LIKE BMMHI STRUCTURE BMMHI DEFAULT 'N'
*" KZMAPPE LIKE RMMBI-KZMAP
*" KZPRF LIKE RMMBI-KZPRF DEFAULT ' '
*" KZ_ERWEITERN LIKE RMMBI-KZPRF DEFAULT ' '
*" NODATA_SIGN LIKE BGR00-NODATA DEFAULT '/'
*" TRANS_CNT LIKE RMMBI-TRANC DEFAULT '000001'
*" TABLES
*" IBDCDATA STRUCTURE BDCDATA
*" IBMMH2 STRUCTURE BMMH2
*" IBMMH3 STRUCTURE BMMH3
*" IBMMH4 STRUCTURE BMMH4
*" IBMMH5 STRUCTURE BMMH5
*" IBMMH6 STRUCTURE BMMH6
*" IBMMH7 STRUCTURE BMMH7
*" IBMMH8 STRUCTURE BMMH8
*" EXCEPTIONS
*" COMPONENTS_FLREF_NOT_FOUND
*" DYNPRO_SEQUENCE_ERROR
*" DYNPRO_SEQUENCE_ERROR_2
*" DYNPRO_SEQUENCE_ERROR_3
*" MATERIAL_INCREASE_ERROR
*" MATERIAL_MBRSH_WRONG
*" MATERIAL_MTART_WRONG
*" MATNR_MISSING
*" MATNR_NOT_EXISTING
*" MBRSH_MISSING
*" MBRSH_NOT_EXISTING
*" MTART_MISSING
*" MTART_NOT_EXISTING
*" NODATA_WRONG
*" NO_ACTIVE_DYNPRO_SELECTED
*" NO_AUTHORITY
*" NO_CHANGEABLE_VIEW
*" NO_DYNPRO
*" NO_INCREASABLE_VIEW
*" SELECTION_ORGVALUE_MISMATCH
*" T138B_ERROR
*" T138M_ERROR
*" TCODE_MISSING
*" TCODE_NOT_EXISTING
*" TCODE_NOT_SUPPORTED
*" TRANSACTION_SKIPPED
*" VALUATION_LEVEL_MISSING
*" VALUATION_TYPE_NOT_EXISTING
*" VKORG_WITHOUT_COUNTRY
*" WRONG_VALUATION_LEVEL
Rewards point if helpful......
regards....
Abhay Singh.
07-11-2007 2:01 PM
hi Abhay,
you have given me the function module code.... i want to know what to pass as import parameters. and the Sample ABAP code.
07-11-2007 1:59 PM
Hi,
Instead of the Function module use the bapi
BAPI_MATERIAL_SAVEDATA
Here is the example program
********************************************************
* STRUCTURE
********************************************************
TABLES:
BAPIMATHEAD, "Headerdata
BAPI_MARA, "Clientdata
BAPI_MARAX, "Clientdatax
BAPI_MARC, "Plantdata
BAPI_MARCX, "Plantdatax
BAPI_MAKT, "Material description
BAPIPAREX, "Extensionstruktur
BAPIPAREXX,
BAPIRET2. "Return messages
DATA:
BAPI_TE_MARA LIKE BAPI_TE_MARA,
BAPI_TE_MARAX LIKE BAPI_TE_MARAX,
V_FILE TYPE STRING.
********************************************************
* INTERNAL TABLE
********************************************************
*to store the output data
DATA:BEGIN OF it_material_number OCCURS 0.
INCLUDE STRUCTURE BAPIMATINR.
DATA:END OF it_material_number.
*for materialtext
DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT .
DATA:END OF IT_MATERIALDESC.
*für z-feld
DATA:BEGIN OF IT_BAPIPAREX OCCURS 0.
INCLUDE STRUCTURE BAPIPAREX.
DATA:END OF IT_BAPIPAREX.
*für z-feldx
DATA:BEGIN OF IT_BAPIPAREXX OCCURS 0.
INCLUDE STRUCTURE BAPIPAREXX.
DATA:END OF IT_BAPIPAREXX.
*to return messages
DATA:BEGIN OF IT_RETURN2 OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA:END OF IT_RETURN2.
DATA:BEGIN OF IT_RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET1.
DATA:END OF IT_RETURN.
********************************************************
* PROCESSING
********************************************************
BAPIMATHEAD-MATERIAL = IT_MATERIAL_NUMBER-MATERIAL.
BAPIMATHEAD-IND_SECTOR = 'S'.
BAPIMATHEAD-MATL_TYPE = 'ZRHD'.
BAPIMATHEAD-BASIC_VIEW = 'X'.
BAPIMATHEAD-PURCHASE_VIEW = 'X'.
BAPI_MARA-MATL_GROUP = 'RH01'.
BAPI_MARA-OLD_MAT_NO = '0815'.
BAPI_MARA-BASE_UOM = 'FM'.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-OLD_MAT_NO = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARC-PLANT = '0100'.
BAPI_MARCX-PLANT = '0100'.
IT_MATERIALDESC-LANGU = 'DE'.
IT_MATERIALDESC-MATL_DESC = 'RH TEST-Material'.
APPEND IT_MATERIALDESC.
BAPI_TE_MARA-MATERIAL = IT_MATERIAL_NUMBER-MATERIAL.
BAPI_TE_MARA-ZZFORST = '0000704148'.
BAPI_TE_MARAX-MATERIAL = IT_MATERIAL_NUMBER-MATERIAL.
BAPI_TE_MARAX-ZZFORST = 'X'.
IT_BAPIPAREX-STRUCTURE = 'BAPI_TE_MARA'.
IT_BAPIPAREX-VALUEPART1 = BAPI_TE_MARA.
APPEND IT_BAPIPAREX.
IT_BAPIPAREXX-STRUCTURE = 'BAPI_TE_MARAX'.
IT_BAPIPAREXX-VALUEPART1 = BAPI_TE_MARAX.
APPEND IT_BAPIPAREXX.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = BAPIMATHEAD
CLIENTDATA = BAPI_MARA
CLIENTDATAX = BAPI_MARAX
PLANTDATA = BAPI_MARc
PLANTDATAX = BAPI_MARcx
IMPORTING
RETURN = IT_RETURN2
TABLES
MATERIALDESCRIPTION = IT_MATERIALDESC
EXTENSIONIN = IT_BAPIPAREX
EXTENSIONINX = IT_BAPIPAREXX.
Regards
Sudheer
07-11-2007 2:07 PM
Hi Sudheer,
Am not that familiar with BAPI's..
so please help me out.
08-28-2008 12:38 PM