Dear Experts,
I'm new to abap .Request all your help in solving for material extension for different plant and different storage location by using Bapi 'BAPI_MATERIAL_SAVEDATA'.
Requirement : Upload program needs to be created for material extension by uploading excel file . Request to share the correct coding.
Coding i was trying to do is as below and while checking i got the errror : " Statement is not accessible"
REPORT ZPP_MAT_EXT.
tables : BAPIMATHEAD.
data : BEGIN OF itab occurs 0,
material type bapimathead-material,
ind_sector(20),
matl_type type bapimathead-matl_type,
val_area TYPE werks,
price_ctrl TYPE bapi_mbew-price_ctrl,
val_class TYPE bapi_mbew-val_class,
END OF itab.
data : it_return TYPE TABLE OF bapiret2 WITH HEADER LINE,
it_bapi LIKE bapi_mbew OCCURS 0 WITH HEADER LINE.
PARAMETERS: p_file type RLGRAP-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
perform get_f4_help.
START-OF-SELECTION.
perform upload_file.
perform call_bapi.
*&---------------------------------------------------------------------*
*& Form GET_F4_HELP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_F4_HELP .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = 'p_file'
IMPORTING
FILE_NAME = p_file.
ENDFORM. " GET_F4_HELP
data : v_file type string.
MOVE p_file TO v_file.
CALL FUNCTION 'GUI_UPLOAD' -----> Error : " " Statement is not accessible"
EXPORTING
FILENAME = p_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X '
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* VIRUS_SCAN_PROFILE =
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = itab.
* EXCEPTIONS
* FILE_OPEN_ERROR = 1
* FILE_READ_ERROR = 2
* NO_BATCH = 3
* GUI_REFUSE_FILETRANSFER = 4
* INVALID_TYPE = 5
* NO_AUTHORITY = 6
* UNKNOWN_ERROR = 7
* BAD_DATA_FORMAT = 8
* HEADER_NOT_ALLOWED = 9
* SEPARATOR_NOT_ALLOWED = 10
* HEADER_TOO_LONG = 11
* UNKNOWN_DP_ERROR = 12
* ACCESS_DENIED = 13
* DP_OUT_OF_MEMORY = 14
* DISK_FULL = 15
* DP_TIMEOUT = 16
* OTHERS = 17
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " UPLOAD_FILE.
*&---------------------------------------------------------------------*
*& Form CALL_BAPI
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CALL_BAPI .
loop at itab.
bapimathead-material = itab-material.
bapimathead-ind_sector = itab-ind_sector.
bapimathead-matl_type = itab-matl_type.
bapi_mbew-val_area = itab-val_area.
bapi_mbew-price_ctrl = itab-price_ctrl.
bapi_mbew-val_class = itab-val_class.
bapi_mbewx-val_area = itab-val_area.
bapi_mbewx-price_ctrl = 'X'.
bapi_mbewx-val_class = 'X'.
APPEND it_bapi.
CLEAR it_bapi.
ENDFORM. " CALL_BAPI
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = BAPIMATHEAD
* CLIENTDATA =
* CLIENTDATAX =
* PLANTDATA =
* PLANTDATAX =
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* PLANNINGDATA =
* PLANNINGDATAX =
* STORAGELOCATIONDATA =
* STORAGELOCATIONDATAX =
* VALUATIONDATA =
* VALUATIONDATAX =
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =
* SALESDATA =
* SALESDATAX =
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' '
* AFS_HEADDATA =
* AFS_CLIENTDATA =
* AFS_CLIENTDATAX =
* AFS_PLANTDATA =
* AFS_PLANTDATAX =
* AFS_SALESDATA =
* AFS_SALESDATAX =
IMPORTING
RETURN = it_return
TABLES
MATERIALDESCRIPTION = it_bapi
* UNITSOFMEASURE =
* UNITSOFMEASUREX =
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =
* TAXCLASSIFICATIONS =
RETURNMESSAGES = it_bapi.
* PRTDATA =
* PRTDATAX =
* EXTENSIONIN =
* EXTENSIONINX =
* SKU_UNITSOFMEASURE =
* SKU_INTERNATIONALARTNOS =
* SKU_PLANTDATA_MRP =
* SKU_PLANTDATA_VALUATION =
* SKU_PALLETIZATION_WM =
* SKU_STRATEGIES_WM =
* SKU_CAPUSAGE_WM =
* SKU_STORAGETYPEDATA =
* AFS_SEASONDATA =
* SKU_SALESDATA =
* AFS_QUOTACATEGORIES =
* SKU_COMM_CODES =
* AFS_RETAIL_DATA =
* SKU_GROUP_PROD_VERSIONS =
* SKU_PLANTDATA_VALUATIONX =
* SKU_PLANTDATA_MRPX =
* SKU_PALLETIZATION_WMX =
* SKU_STRATEGIES_WMX =
* SKU_CAPUSAGE_WMX =
* SKU_STORAGETYPEDATAX =
* SKU_SALESDATAX =
* SKU_COMM_CODESX =
* SKU_UNITSOFMEASUREX =
*
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 2.
* IMPORTING
* RETURN =