‎2010 Dec 07 9:36 PM
Hi, i want to do a enhance material in my program and this program use BAPI_MATERIAL_SAVEDATA. I add this lines:
data:
ge_warehousenumberdata2 like bapi_mlgn,
ge_warehousenumberdatax2 like bapi_mlgnx.
ge_storagetypedata2 like bapi_mlgt,
ge_storagetypedatax2 like bapi_mlgtx.
ge_warehousenumberdata2-whse_no = p_lgnum2.
perform llena_estructuras_x using 'ge_warehousenumberdatax2' 'bapi_mlgnx' 'ge_warehousenumberdata2' 'bapi_mlgn'.
ge_warehousenumberdatax2-whse_no = ge_warehousenumberdata2-whse_no.
ge_storagetypedata2-whse_no = p_lgnum2.
ge_storagetypedata2-stge_type = '001'.
perform llena_estructuras_x using 'ge_storagetypedatax2' 'bapi_mlgtx' 'ge_storagetypedata2' 'bapi_mlgt'.
ge_storagetypedatax2-whse_no = ge_storagetypedata2-whse_no.
ge_storagetypedatax2-stge_type = ge_storagetypedata2-stge_type.
BAPI_MATERIAL_SAVEDATA
exporting
headdata = ge_headdata2
plantdata = ge_plantdata2
plantdatax = ge_plantdatax2
warehousenumberdata = ge_warehousenumberdata2 "Add new parameter
warehousenumberdatax = ge_warehousenumberdatax2 ""Add new parameter
salesdata = ge_salesdata2
salesdatax = ge_salesdatax2
storagetypedata = ge_storagetypedata2 "i did it
storagetypedatax = ge_storagetypedatax2 "i did it
importing
return = ge_return2
tables
taxclassifications = gt_taxclassifications2
returnmessages = gt_returnmessages2
im new doing this things ... can you give me some help about this! thanks
Edited by: Neil Gardiner on Dec 8, 2010 9:15 AM
‎2010 Dec 08 5:25 AM
Hi Reynaldo,
can u explain ur requirement bit clearly..
I think this code will be helpful..
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.
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 .
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 .
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.