Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *& Report ZOTC_R_SALESORDERUPLOADTOOL
- REPORT zotc_r_salesorderuploadtool.
- DATA:
- ##NEEDED gwa_i_gkn_tab TYPE zotc_tt_salesorder_gkn,
- ##NEEDED gwa_i_air_tab TYPE zotc_tt_salesorder_airbus,
- ##NEEDED gwa_i_bae_tab TYPE zotc_tt_salesorder_bae,
- ##NEEDED gwa_i_bapi_tab TYPE zotc_tt_salesorder_sapfields,
- ##NEEDED gwa_it_alv_final TYPE STANDARD TABLE OF zotc_s_salesupload_sapfields,
- ##NEEDED gwa_alv_final TYPE zotc_s_salesupload_sapfields,
- gwa_salesorder_header TYPE zotc_s_salesorder_header,
- gv_file TYPE string,
- gwa_layout TYPE slis_layout_alv,
- gt_fieldcat_prep TYPE slis_t_fieldcat_alv.
- "Parameters for upload and radio buttons
- PARAMETERS: p_sorg TYPE zotc_s_salesorder_header-salesorg,
- p_div TYPE zotc_s_salesorder_header-division,
- p_dchan TYPE zotc_s_salesorder_header-distchan,
- p_file TYPE rlgrap-filename,
- cb_gkn RADIOBUTTON GROUP clnt,
- cb_airbs RADIOBUTTON GROUP clnt,
- cb_bae RADIOBUTTON GROUP clnt.
- "Select file to upload
- AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
- CALL FUNCTION 'F4_FILENAME'
- EXPORTING
- field_name = 'P_FILE'
- IMPORTING
- file_name = p_file.
- *--------------------------------------------------------------------*
- START-OF-SELECTION.
- gwa_salesorder_header-salesorg = p_sorg.
- gwa_salesorder_header-division = p_div.
- gwa_salesorder_header-distchan = p_dchan.
- IF cb_gkn = 'X'.
- gv_file = p_file."Added by hkundoor on 05/06/2019
- CALL METHOD zotc_cl_salesorderupload=>upload_gkn
- EXPORTING
- i_file = gv_file "Added by hkundoor on 05/06/2019
- IMPORTING
- e_i_converted_data_tab = gwa_i_gkn_tab
- EXCEPTIONS
- conversion_failed = 1
- empty_data = 2
- OTHERS = 3.
- IF sy-subrc <> 0.
- MESSAGE e010(zotc).
- ENDIF.
- CALL METHOD zotc_cl_salesorderupload=>gkn_bapi_input
- EXPORTING
- i_in_tab = gwa_i_gkn_tab
- IMPORTING
- e_out_tab = gwa_i_bapi_tab
- EXCEPTIONS
- length_error = 1
- OTHERS = 2.
- IF sy-subrc <> 0 ##SUBRC_OK.
- MESSAGE e011(zotc).
- ENDIF.
- *--------------------------------------------------------------------*
- ELSEIF cb_airbs = 'X'.
- gv_file = p_file.
- CALL METHOD zotc_cl_salesorderupload=>upload_airbus
- EXPORTING
- i_file = gv_file
- IMPORTING
- e_i_converted_data_tab = gwa_i_air_tab
- EXCEPTIONS
- file_open_error_err = 1
- file_read_error_err = 2
- no_batch_err = 3
- gui_refuse_filetransfer_err = 4
- invalid_type_err = 5
- no_authority_err = 6
- unknown_error_err = 7
- bad_data_format_err = 8
- header_not_allowed_err = 9
- separator_not_allowed_err = 10
- header_too_long_err = 11
- unknown_dp_error_err = 12
- access_denied_err = 13
- dp_out_of_memory_err = 14
- disk_full_err = 15
- dp_timeout_err = 16
- empty_data = 17
- OTHERS = 18.
- IF sy-subrc <> 0.
- MESSAGE e012(zotc).
- ENDIF.
- CALL METHOD zotc_cl_salesorderupload=>airbus_bapi_input
- EXPORTING
- i_in_tab = gwa_i_air_tab
- IMPORTING
- e_out_tab = gwa_i_bapi_tab
- EXCEPTIONS
- length_error = 1
- custnum_empty = 2
- OTHERS = 3.
- IF sy-subrc <> 0.
- MESSAGE e013(zotc).
- ENDIF.
- *--------------------------------------------------------------------*
- ELSEIF cb_bae = 'X'.
- gv_file = p_file.
- CALL METHOD zotc_cl_salesorderupload=>upload_bae
- EXPORTING
- i_file = gv_file
- IMPORTING
- e_i_converted_data_tab = gwa_i_bae_tab
- .
- IF sy-subrc <> 0.
- "Message
- ENDIF.
- CALL METHOD zotc_cl_salesorderupload=>bae_bapi_input
- EXPORTING
- i_in_tab = gwa_i_bae_tab
- IMPORTING
- e_out_tab = gwa_i_bapi_tab
- .
- ENDIF.
- *--------------------------------------------------------------------*
- CALL METHOD zotc_cl_salesorderupload=>create_bapi
- EXPORTING
- i_lt_i_tab = gwa_i_bapi_tab
- i_salesorder_header = gwa_salesorder_header
- IMPORTING
- e_it_alv_final = gwa_it_alv_final
- EXCEPTIONS
- doctype_empty = 1
- OTHERS = 2.
- IF sy-subrc <> 0.
- MESSAGE e014(zotc).
- ENDIF.
- "**********************************************************************
- CALL METHOD zotc_cl_salesorderupload=>prepare_alv
- IMPORTING
- gt_fieldcat = gt_fieldcat_prep.
- "**********************************************************************
- CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
- EXPORTING
- i_callback_program = sy-repid
- is_layout = gwa_layout
- it_fieldcat = gt_fieldcat_prep
- TABLES
- t_outtab = gwa_it_alv_final
- EXCEPTIONS
- program_error = 1
- OTHERS = 2.
- IF sy-subrc <> 0.
- MESSAGE e015(zotc).
- ENDIF.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement