Procedure for Mass Upload of HU Identification Data in SAP EWM
Step 1: I want to update HU Identification details via mass upload.
Step 2: Run the T-code SE38 and create executable program.
Report:
*&---------------------------------------------------------------------**& Report Z575R_EWM_UPD_HU_IDENT_DETL
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z575r_ewm_upd_hu_ident_detl.
INCLUDE z575n_ewm_upd_hu_ident_top.
INCLUDE z575n_ewm_upd_hu_ident_sel.
INCLUDE z575n_ewm_upd_hu_ident_forms.
INITIALIZATION.
PERFORM init_selscr_icons.
PERFORM clear_variables.
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'FC01'.
PERFORM prepare_template.
PERFORM download_template.
ENDCASE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_file.
START-OF-SELECTION.
PERFORM read_file .
PERFORM process_file.
PERFORM process_hu_change.
PERFORM call_reuse_alv_grid_display.
*& Include Z575N_EWM_UPD_HU_IDENT_TOP
*&---------------------------------------------------------------------*
TYPE-POOLS:slis, truxs, icon.
TABLES:sscrfields.
SELECTION-SCREEN FUNCTION KEY 1.
FIELD-SYMBOLS : <g_t_data> TYPE STANDARD TABLE .
TYPES: BEGIN OF l_s_file,
lgnum TYPE /scwm/lgnum,
hu TYPE /scwm/de_huident,
boe TYPE /scwm/de_ident,
dec_num TYPE /scwm/de_ident,
dec_date TYPE /scwm/de_ident,
lot_num TYPE /scwm/de_ident,
END OF l_s_file.
TYPES: BEGIN OF l_s_final,
hu TYPE /scwm/de_huident,
status TYPE char4, "Status
remarks(200) TYPE c, "Remarks
uname TYPE sy-uname, "Updated By
udate TYPE sy-datum, "Updated On
utime TYPE sy-uzeit, "Updated At
END OF l_s_final.
DATA: g_t_file TYPE STANDARD TABLE OF l_s_file,
g_r_file TYPE l_s_file,
g_t_final TYPE TABLE OF l_s_final,
g_r_final TYPE l_s_final,
g_f_error TYPE boolean,
g_f_error1 TYPE boolean,
g_f_check TYPE boolean,
g_f_guid TYPE /scwm/guid_hu,
g_f_hu TYPE /scwm/de_huident.
DATA: g_functxt TYPE smp_dyntxt.
DATA:g_t_fcat TYPE slis_t_fieldcat_alv,
g_r_fcat TYPE slis_fieldcat_alv,
g_r_layout TYPE slis_layout_alv,
g_t_listheader TYPE slis_t_listheader,
g_r_listheader TYPE slis_listheader..
DATA:g_t_template TYPE TABLE OF l_s_file,
g_t_itab_cols TYPE abap_component_tab.
DATA: g_o_excel_structure TYPE REF TO data,
g_o_source_table_descr TYPE REF TO cl_abap_tabledescr,
g_o_table_row_descriptor TYPE REF TO cl_abap_structdescr,
g_f_content TYPE xstring,
g_t_binary_tab TYPE TABLE OF sdokcntasc,
g_f_length TYPE i,
g_f_filename1 TYPE string,
g_f_path TYPE string,
g_f_fullpath TYPE string.
DATA: g_r_hu_inp TYPE /scwm/s_huident,
g_t_hu_inp TYPE /scwm/tt_huident,
g_r_huhdr TYPE /scwm/s_huhdr_int,
g_t_huhdr TYPE /scwm/tt_huhdr_int,
g_r_huiden TYPE /scwm/s_hu_ident_int,
g_t_huiden TYPE /scwm/tt_ident_int,
g_f_idart TYPE /scwm/de_huidart,
g_f_huident TYPE /scwm/de_ident.
DATA: g_o_pack TYPE REF TO /scwm/cl_pack.
CONSTANTS: g_c_x TYPE c VALUE 'X',
g_c_e TYPE c VALUE 'E',
g_c_wme(3) TYPE c VALUE 'WME'..
*&---------------------------------------------------------------------*
*& Include Z575N_EWM_UPD_HU_IDENT_SEL
*&---------------------------------------------------------------------*
PARAMETERS: p_file TYPE localfile.
*&---------------------------------------------------------------------*
*& Form INIT_SELSCR_ICONS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM init_selscr_icons .
g_functxt-icon_id = icon_xxl.
g_functxt-icon_text = TEXT-001.
sscrfields-functxt_01 = g_functxt.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CLEAR_VARIABLES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM clear_variables .
CLEAR:g_r_file,g_r_final,g_r_fcat,g_r_layout.
REFRESH:g_t_file,g_t_final,g_t_fcat.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form PREPARE_TEMPLATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM prepare_template .
GET REFERENCE OF g_t_template INTO g_o_excel_structure.
DATA(g_o_itab_services) = cl_salv_itab_services=>create_for_table_ref( g_o_excel_structure ).
g_o_source_table_descr ?= cl_abap_tabledescr=>describe_by_data_ref( g_o_excel_structure ).
g_o_table_row_descriptor ?= g_o_source_table_descr->get_table_line_type( ).
DATA(g_o_tool_xls) = cl_salv_export_tool_ats_xls=>create_for_excel(
EXPORTING r_data = g_o_excel_structure ) .
DATA : l_f_lgnum TYPE string,
l_f_hu TYPE string,
l_f_ TYPE string,
l_f_boe TYPE string,
l_f_dec_num TYPE string,
l_f_dec_date TYPE string,
l_f_lot_num TYPE string.
l_f_lgnum = TEXT-002.
l_f_hu = TEXT-003.
l_f_boe = TEXT-004.
l_f_dec_num = TEXT-005.
l_f_dec_date = TEXT-006.
l_f_lot_num = TEXT-007.
DATA(g_o_config) = g_o_tool_xls->configuration( ).
g_o_config->add_column(
EXPORTING
header_text = l_f_lgnum " Warehouse
field_name = 'LGNUM'
display_type = if_salv_bs_model_column=>uie_text_view ).
g_o_config->add_column(
EXPORTING
header_text = l_f_hu " Handling Unit
field_name = 'HU'
display_type = if_salv_bs_model_column=>uie_text_view ).
g_o_config->add_column(
EXPORTING
header_text = l_f_boe " BOE
field_name = 'BOE'
display_type = if_salv_bs_model_column=>uie_text_view ).
g_o_config->add_column(
EXPORTING
header_text = l_f_dec_num " Declaration Number
field_name = 'DEC_NUM'
display_type = if_salv_bs_model_column=>uie_text_view ).
g_o_config->add_column(
EXPORTING
header_text = l_f_dec_date " Declaration date
field_name = 'DEC_DATE'
display_type = if_salv_bs_model_column=>uie_text_view ).
g_o_config->add_column(
EXPORTING
header_text = l_f_lot_num " Lot Number
field_name = 'LOT_NUM'
display_type = if_salv_bs_model_column=>uie_text_view ).
TRY.
g_o_tool_xls->read_result( IMPORTING content = g_f_content ).
CATCH cx_root.
ENDTRY.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = g_f_content
IMPORTING
output_length = g_f_length
TABLES
binary_tab = g_t_binary_tab.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DOWNLOAD_TEMPLATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM download_template .
DATA : lf_window_title TYPE string.
lf_window_title = TEXT-008.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = lf_window_title "'Select file path'
default_file_name = g_f_filename1
file_filter = cl_gui_frontend_services=>filetype_excel
CHANGING
filename = g_f_filename1
path = g_f_path
fullpath = g_f_fullpath.
IF g_f_fullpath IS NOT INITIAL.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = g_f_length
filename = g_f_fullpath
filetype = 'BIN'
TABLES
data_tab = g_t_binary_tab
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22.
IF sy-subrc <> 0.
ELSE.
CALL METHOD cl_gui_frontend_services=>execute
EXPORTING
document = g_f_fullpath
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
bad_parameter = 3
file_not_found = 4
path_not_found = 5
file_extension_unknown = 6
error_execute_failed = 7
synchronous_failed = 8
not_supported_by_gui = 9
OTHERS = 10.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_file .
DATA: lf_rc TYPE i,
lt_file_table TYPE filetable,
ls_file_table TYPE file_table,
lf_window_title TYPE string.
lf_window_title = TEXT-011.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = lf_window_title
CHANGING
file_table = lt_file_table
rc = lf_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.
IF sy-subrc = 0.
READ TABLE lt_file_table INTO ls_file_table INDEX 1.
p_file = ls_file_table-filename.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form READ_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM read_file .
DATA : l_f_filename TYPE string,
l_t_records TYPE solix_tab,
l_f_headerxstring TYPE xstring,
l_f_filelength TYPE i.
l_f_filename = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_f_filename
filetype = 'BIN'
IMPORTING
filelength = l_f_filelength
header = l_f_headerxstring
TABLES
data_tab = l_t_records
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 .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* convert binary data to xstring
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = l_f_filelength
IMPORTING
buffer = l_f_headerxstring
TABLES
binary_tab = l_t_records
EXCEPTIONS
failed = 1
OTHERS = 2.
IF sy-subrc <> 0 .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
DATA : lo_excel_ref TYPE REF TO cl_fdt_xl_spreadsheet .
TRY .
lo_excel_ref = NEW cl_fdt_xl_spreadsheet(
document_name = l_f_filename
xdocument = l_f_headerxstring ) .
CATCH cx_fdt_excel_core.
"Implement suitable error handling here
ENDTRY .
"Get List of Worksheets
lo_excel_ref->if_fdt_doc_spreadsheet~get_worksheet_names(
IMPORTING
worksheet_names = DATA(l_t_worksheets) ).
IF NOT l_t_worksheets IS INITIAL.
READ TABLE l_t_worksheets INTO DATA(lf_woksheetname) INDEX 1.
DATA(lo_data_ref) = lo_excel_ref->if_fdt_doc_spreadsheet~get_itab_from_worksheet(
lf_woksheetname ).
"now you have excel work sheet data in dyanmic internal table
ASSIGN lo_data_ref->* TO <g_t_data>.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form PROCESS_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM process_file .
DATA : l_f_numberofcolumns TYPE i.
FIELD-SYMBOLS : <l_r_data> TYPE any,
<l_f_field> TYPE any,
<l_f_field1> TYPE any.
l_f_numberofcolumns = 6.
LOOP AT <g_t_data> ASSIGNING <l_r_data> FROM 2 .
"processing columns
DO l_f_numberofcolumns TIMES.
ASSIGN COMPONENT sy-index OF STRUCTURE <l_r_data> TO <l_f_field> .
ASSIGN COMPONENT sy-index OF STRUCTURE g_r_file TO <l_f_field1>.
IF <l_f_field> IS ASSIGNED AND <l_f_field1> IS ASSIGNED.
<l_f_field1> = <l_f_field>.
ENDIF.
UNASSIGN: <l_f_field1>, <l_f_field>.
ENDDO .
APPEND g_r_file TO g_t_file.
CLEAR g_r_file.
ENDLOOP .
ENDFORM.
*&---------------------------------------------------------------------*
*& Form PROCESS_HU_CHANGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM process_hu_change .
CREATE OBJECT g_o_pack.
LOOP AT g_t_file INTO g_r_file.
CLEAR: g_f_error,g_f_error1, g_f_guid, g_f_check.
REFRESH : g_t_huhdr, g_t_huiden.
PERFORM fetch_hu_data USING g_r_file
CHANGING g_t_huhdr
g_t_huiden.
IF g_t_huhdr IS NOT INITIAL.
READ TABLE g_t_huhdr INTO g_r_huhdr INDEX 1.
IF sy-subrc = 0.
g_f_guid = g_r_huhdr-guid_hu.
ENDIF.
PERFORM init_hu USING g_r_file.
IF g_r_file-boe IS NOT INITIAL. " BOE
CLEAR: g_f_idart, g_f_huident.
g_f_idart = 'B'.
g_f_huident = g_r_file-boe.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
IF g_f_error IS INITIAL.
PERFORM update_hu USING g_f_huident
g_f_idart
g_f_guid
CHANGING g_f_error1.
IF g_f_error1 IS NOT INITIAL.
g_f_check = abap_true.
ENDIF.
ENDIF.
ELSE.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
ENDIF.
IF g_r_file-dec_num IS NOT INITIAL. " Declaration Number
CLEAR: g_f_idart, g_f_huident.
g_f_idart = 'N'.
g_f_huident = g_r_file-dec_num.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
IF g_f_error IS INITIAL.
PERFORM update_hu USING g_f_huident
g_f_idart
g_f_guid
CHANGING g_f_error1.
IF g_f_error1 IS NOT INITIAL.
g_f_check = abap_true.
ENDIF.
ENDIF.
ELSE.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
ENDIF.
IF g_r_file-dec_date IS NOT INITIAL. " Declaration date
CLEAR: g_f_idart, g_f_huident.
g_f_idart = 'D'.
g_f_huident = g_r_file-dec_date.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
IF g_f_error IS INITIAL.
PERFORM update_hu USING g_f_huident
g_f_idart
g_f_guid
CHANGING g_f_error1.
IF g_f_error1 IS NOT INITIAL.
g_f_check = abap_true.
ENDIF.
ENDIF.
ELSE.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
ENDIF.
IF g_r_file-lot_num IS NOT INITIAL. " Lot Number
CLEAR: g_f_idart, g_f_huident.
g_f_idart = 'L'.
g_f_huident = g_r_file-lot_num.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
IF g_f_error IS INITIAL.
PERFORM update_hu USING g_f_huident
g_f_idart
g_f_guid
CHANGING g_f_error1.
IF g_f_error1 IS NOT INITIAL.
g_f_check = abap_true.
ENDIF.
ENDIF.
ELSE.
PERFORM clear_boe USING g_f_guid
g_f_idart
CHANGING g_f_error.
ENDIF.
ENDIF.
IF g_f_check IS NOT INITIAL.
g_r_final-remarks = TEXT-021.
g_r_final-status = icon_red_light.
ELSE.
CALL METHOD g_o_pack->/scwm/if_pack_bas~save
EXPORTING
iv_commit = 'X'
iv_wait = 'X'
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
g_r_final-remarks = TEXT-021.
g_r_final-status = icon_red_light.
ELSE.
CALL METHOD /scwm/cl_pack=>/scwm/if_pack_bas~cleanup.
g_r_final-remarks = TEXT-022.
g_r_final-status = icon_green_light.
ENDIF.
ENDIF.
g_r_final-hu = g_r_file-hu.
g_r_final-uname = sy-uname.
g_r_final-udate = sy-datum.
g_r_final-utime = sy-uzeit.
APPEND g_r_final TO g_t_final.
CLEAR: g_r_final.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FETCH_HU_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fetch_hu_data USING i_r_file TYPE l_s_file
CHANGING c_t_huhdr TYPE /scwm/tt_huhdr_int
c_t_huiden TYPE /scwm/tt_ident_int.
DATA: l_r_hu_inp TYPE /scwm/s_huident,
l_t_hu_inp TYPE /scwm/tt_huident.
CLEAR: l_r_hu_inp. REFRESH : l_t_hu_inp.
l_r_hu_inp-lgnum = i_r_file-lgnum.
l_r_hu_inp-huident = |{ i_r_file-hu ALPHA = IN }|.
APPEND l_r_hu_inp TO l_t_hu_inp.
CALL FUNCTION '/SCWM/HU_SELECT'
EXPORTING
it_huident = l_t_hu_inp
IMPORTING
et_huhdr = c_t_huhdr
et_ident = c_t_huiden
EXCEPTIONS
not_found = 1
error = 2
OTHERS = 3.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form INIT_HU
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_G_R_FILE text
*----------------------------------------------------------------------*
FORM init_hu USING i_r_file TYPE l_s_file.
CALL METHOD g_o_pack->init_pack
EXPORTING
iv_badi_appl = g_c_wme
* it_guid_hu =
* iv_loc_type =
* iv_loc_index =
* iv_no_refresh =
iv_lgnum = i_r_file-lgnum
* iv_lock = SPACE
IMPORTING
et_hutree = DATA(l_t_hutree)
et_huhdr = DATA(huhdr)
et_huitm = DATA(huitm)
EXCEPTIONS
error = 1
OTHERS = 2.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CLEAR_BOE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_G_R_FINAL text
*----------------------------------------------------------------------*
FORM clear_boe USING i_f_guid TYPE /scwm/guid_hu
i_f_idart TYPE /scwm/de_huidart
CHANGING i_f_error TYPE boolean.
CALL METHOD g_o_pack->/scwm/if_pack_bas~hu_ident_remove
EXPORTING
iv_guid_hu = i_f_guid
iv_idart = i_f_idart
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
i_f_error = abap_true.
ELSE.
CLEAR i_f_error.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form UPDATE_HU
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_G_R_FILE text
*----------------------------------------------------------------------*
FORM update_hu USING i_r_huident TYPE /scwm/de_ident
i_f_idart TYPE /scwm/de_huidart
i_f_guid TYPE /scwm/guid_hu
CHANGING i_f_error1 TYPE boolean.
CALL METHOD g_o_pack->/scwm/if_pack_bas~hu_ident_set
EXPORTING
iv_guid_hu = i_f_guid
iv_huident = i_r_huident
iv_idart = i_f_idart
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc = 0.
i_f_error1 = abap_false.
ELSE.
i_f_error1 = abap_true.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CALL_REUSE_ALV_GRID_DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM call_reuse_alv_grid_display .
g_r_layout-zebra = g_c_x.
g_r_layout-colwidth_optimize = g_c_x.
REFRESH:g_t_fcat.
CLEAR:g_r_fcat.
g_r_fcat-col_pos = 1.
g_r_fcat-fieldname = TEXT-009.
g_r_fcat-seltext_l = TEXT-010.
g_r_fcat-key = g_c_x.
APPEND g_r_fcat TO g_t_fcat.
CLEAR:g_r_fcat.
g_r_fcat-col_pos = 2.
g_r_fcat-fieldname = TEXT-011.
g_r_fcat-seltext_l = TEXT-012.
* g_r_fcat-key = g_c_x.
APPEND g_r_fcat TO g_t_fcat.
CLEAR:g_r_fcat.
g_r_fcat-col_pos = 3.
g_r_fcat-fieldname = TEXT-013.
g_r_fcat-seltext_l = TEXT-014.
APPEND g_r_fcat TO g_t_fcat.
CLEAR:g_r_fcat.
g_r_fcat-col_pos = 4.
g_r_fcat-fieldname = TEXT-015.
g_r_fcat-seltext_l = TEXT-016.
g_r_fcat-icon = g_c_x.
APPEND g_r_fcat TO g_t_fcat.
CLEAR:g_r_fcat.
g_r_fcat-col_pos = 5.
g_r_fcat-fieldname = TEXT-017.
g_r_fcat-seltext_l = TEXT-018.
APPEND g_r_fcat TO g_t_fcat.
CLEAR:g_r_fcat.
g_r_fcat-col_pos = 6.
g_r_fcat-fieldname = TEXT-019.
g_r_fcat-seltext_l = TEXT-020.
APPEND g_r_fcat TO g_t_fcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
* i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = g_r_layout
it_fieldcat = g_t_fcat
TABLES
t_outtab = g_t_final.
ENDFORM.
001 Download Template(.xls)
002 Warehouse
003 Handling Unit
004 BOE
005 Dec Num
006 Dec date
007 Lot num
008 Select a file path
009 hu
010 Handling Unit
011 status
012 Status
013 remarks
014 Remarks
015 uname
016 Updated By
017 udate
018 Updated on
019 utime
020 Updated At
021 HU Identification details are not changed
022 HU Identification details are changed
Testing:
* Run the program
* Download the template.
* Template like this.
Check HU:
* Run the T-code - /SCWM/MON.
* Give Warehouse number, monitor and execute.
* Internal--> Stocks and Bin --> Double clicks on Handling Unit.
Before Update:
* Read HU data from database - /SCWM/HU_SELECT. Execute the FM.
OR
Table - /SCWM/HU_IDENT.
* Fill the IT_HUIDENT with warehouse and HU number.
* ET_IDENT - This table provides HU identification data.
Comments
Post a Comment