Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Function Module Help

Former Member
0 Kudos

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.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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

6 REPLIES 6

Former Member
0 Kudos

Hi,

Use BAPI_MATERIAL_SAVEDATA.

Reward if useful!

Former Member
0 Kudos

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.

0 Kudos

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.

Former Member
0 Kudos

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

0 Kudos

Hi Sudheer,

Am not that familiar with BAPI's..

so please help me out.

Former Member
0 Kudos

thanks