Académique Documents
Professionnel Documents
Culture Documents
*BAPI declarations
DATA : WA_HEADDATA TYPE BAPIMATHEAD,
WA_CLIENTDATA TYPE BAPI_MARA,
WA_CLIENTDATAX TYPE BAPI_MARAX.
**selection screen
PARAMETERS: P_FILE TYPE RLGRAP-FILENAME. "file input
START-OF-SELECTION.
DATA : LV_FILE TYPE STRING.
LV_FILE = P_FILE. "to avoid type conflict
* CALL FUNCTION 'GUI_UPLOAD' "upload flat file
* EXPORTING
* FILENAME = LV_FILE
* FILETYPE = 'ASC'
* HAS_FIELD_SEPARATOR = 'X'
*
* TABLES
* DATA_TAB = IT_MARA "internal table
*
* .
* IF SY-SUBRC <> 0.
** Implement suitable error handling here
* ENDIF.
LOOP AT IT_MARA INTO WA_MARA.
WA_HEADDATA-MATERIAL = WA_MARA-MATNR. "material no
WA_HEADDATA-IND_SECTOR = WA_MARA-MBRSH. "industry sector
WA_HEADDATA-MATL_TYPE = WA_MARA-MTART. "material type
WA_HEADDATA-BASIC_VIEW = 'X'. "basic view
WA_CLIENTDATA-MATL_GROUP = WA_MARA-MATKL. "material group
WA_CLIENTDATA-BASE_UOM = WA_MARA-MEINS. "base Unit Of measure
WA_CLIENTDATAX-MATL_GROUP = 'X'. "passing material group
WA_CLIENTDATAX-BASE_UOM = 'X'. "passing base unit of measure
IMPORTING
RETURN = WA_RETURN
TABLES
MATERIALDESCRIPTION = IT_MATERIALDESCRIPTION
.
IF WA_RETURN-TYPE = 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE:/ WA_HEADDATA-MATERIAL, 'is not created' COLOR 3.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
IF SY-SUBRC EQ 0.
WRITE:/ WA_HEADDATA-MATERIAL, 'is created' COLOR 5.
ENDIF.
ENDIF.
ENDLOOP.
FORM FILE_HELP .
* CALL FUNCTION 'KD_GET_FILENAME_ON_F4' "get file name on F4 help
*
* CHANGING
* FILE_NAME = P_FILE
*
* .
* IF SY-SUBRC <> 0.
* Implement suitable error handling here
* ENDIF.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE
.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = IT_RAW_DATA
I_FILENAME = P_FILE
TABLES
I_TAB_CONVERTED_DATA = IT_MARA
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.