2008 Oct 16 1:16 PM
hello friends,
i have a doubt... i want to know is there any BAPI through which i can create more that one material...
i know we can use BAPI_MATERAIL_SAVEDATA ...but by this we can only create one material..what if i wanna create more than one material....
i dont wanna build custom RFC to use for this(means by using BDC recordind inside rfc enabled function module)
one more question can we create more materail using ALE,IDOC ......
hello friends,
i have a doubt... i want to know is there any BAPI through which i can create more that one material...
i know we can use BAPI_MATERAIL_SAVEDATA ...but by this we can only create one material..what if i wanna create more than one material....
i dont wanna build custom RFC to use for this(means by using BDC recordind inside rfc enabled function module)
one more question can we create more materail using ALE,IDOC ......
2008 Oct 16 1:20 PM
Hi
u can create the multiple materials with the BAPI_MATERAIL_SAVEDATA
check this BAPI_STANDARDMATERIAL_CREATE
check this also
*---tables used
tables:bapimathead,
bapi_makt,
bapi_mara,
bapi_marax.
*--declaration for internal table
data:begin of itab occurs 0,
MATERIAL type BAPIMATHEAD-MATERIAL,
IND_SECTOR(20),
MATL_TYPE type bapimathead-MATL_TYPE,
MATL_GROUP type bapi_mara-MATL_GROUP,
LANGU TYPE BAPI_MAKT-LANGU,
MATL_DESC TYPE BAPI_MAKT-MATL_DESC,
end of itab,
it_return like BAPIRET2,
IT_BAPI LIKE BAPI_MAKT OCCURS 0 WITH HEADER LINE.
*---selection screen
parameters:p_file TYPE IBIPPARMS-PATH obligatory.
*---f4 help for the file from PC
at selection-screen on value-request for p_file.
perform get_f4help.
*--start-of-selection .
start-of-selection.
perform upload_file_itab.
perform call_bapi.
&----
*& Form get_f4help
&----
form get_f4help .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
IMPORTING
FILE_NAME = P_FILE .
endform. " get_f4help
&----
*& Form upload_file_itab
&----
form upload_file_itab .
DATA:V_FILE TYPE STRING.
MOVE P_FILE TO V_FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = V_FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
data_tab = ITAB .
endform. " upload_file_itab
&----
*& Form call_bapi
&----
form call_bapi .
loop at itab.
BAPIMATHEAD-material = itab-MATERIAL.
bapimathead-IND_SECTOR = itab-IND_SECTOR.
BAPIMATHEAD-MATL_TYPE = itab-MATL_TYPE.
BAPIMATHEAD-BASIC_VIEW = 'X'.
bapi_mara-MATL_GROUP = itab-MATL_GROUP.
bapi_mara-base_uom = 'KGS'.
bapi_marax-MATL_GROUP = 'X'.
bapi_marax-BASE_UOM = 'X'.
IT_BAPI-LANGU = ITAB-LANGU.
IT_BAPI-LANGU_ISO = 'EN'.
IT_BAPI-MATL_DESC = ITAB-MATL_DESC.
APPEND IT_BAPI.
clear it_bapi.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = BAPIMATHEAD
CLIENTDATA = bapi_mara
CLIENTDATAX = bapi_marax
IMPORTING
RETURN = it_RETURN
TABLES
MATERIALDESCRIPTION = IT_BAPI .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' .
*---this is the message type which indicates whether it is failed or succeded
write:/ it_return-TYPE.
endloop.
endform. " call_bapi
2008 Oct 16 1:21 PM
call this function BAPI_MATERAIL_SAVEDATA inside the loop. and create. the other methods also triggers/created one materail at a time.
2008 Oct 16 1:47 PM
i dont want to use report ...
i am accessing thses BAPIS from non-SAP background from a middleware...
so i just need to use standard BAPI for craeting more than one material at a time.
and second is can i do it with IDOCS?
2008 Oct 16 1:53 PM
hi abhijeet
if u see any bapi at the time of testing u can create only one record
so in program only you have to write the logic to get more
in similar way in NON-SAP they have to write the logic to get more
i think it will work with idocs too
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |