DATA:lth_functxt TYPE smp_dyntxt.
TABLES:rlgrap,bkpf,bseg,ztfi0017,lfa1,kna1.
SELECTION-SCREEN:BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS:p1 RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND uex, "银行流水导入
p2 RADIOBUTTON GROUP g1, "银行流水查询
p3 RADIOBUTTON GROUP g1, "银行流水认领
p4 RADIOBUTTON GROUP g1, "银行流水过账
p5 RADIOBUTTON GROUP g1. "银行流水取消过账
SELECTION-SCREEN:END OF BLOCK b1.
SELECTION-SCREEN:BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
PARAMETERS:p_file LIKE rlgrap-filename MODIF ID p1,
p_bukrs TYPE bkpf-bukrs DEFAULT '1000' OBLIGATORY MODIF ID p2,
p_zacct TYPE ztfi0017-zaccount MODIF ID p2.
SELECT-OPTIONS:s_hkont FOR bseg-hkont MODIF ID p2,
s_budat FOR bkpf-budat MODIF ID p2,
s_date FOR bkpf-bldat MODIF ID p2,
s_belnr FOR bkpf-belnr MODIF ID p2,
s_lifnr FOR lfa1-lifnr MODIF ID p2,
s_kunnr FOR kna1-kunnr MODIF ID p2.
SELECTION-SCREEN:END OF BLOCK b2.
SELECTION-SCREEN FUNCTION KEY 1.
SELECTION-SCREEN FUNCTION KEY 2.
INITIALIZATION .
CLEAR lth_functxt.
lth_functxt-icon_id = icon_edit_file.
lth_functxt-icon_text = '配置表'.
lth_functxt-quickinfo = '配置表'.
sscrfields-functxt_01 = lth_functxt.
lth_functxt-icon_id = icon_export.
lth_functxt-icon_text = '下载模板'.
lth_functxt-quickinfo = '下载模板'.
sscrfields-functxt_02 = lth_functxt.
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'FC01'.
PERFORM frm_skip_table.
WHEN 'FC02'.
PERFORM frm_download_temp.
WHEN OTHERS.
ENDCASE.
AT SELECTION-SCREEN OUTPUT.
IF p1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'P2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'P1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = ' '
IMPORTING
file_name = p_file.
IF p_file IS INITIAL.
MESSAGE '导入文件不能为空' TYPE 'S' DISPLAY LIKE 'E'.
LEAVE LIST-PROCESSING.
ELSE.
PERFORM frm_upload_data.
PERFORM frm_display_alv.
ENDIF.
*&---------------------------------------------------------------------*
*& Form FRM_SKIP_TABLE
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_skip_table .
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'U'
view_name = 'ZTFI0017'
no_warning_for_clientindep = 'X'
EXCEPTIONS
client_reference = 1
foreign_lock = 2
invalid_action = 3
no_clientindependent_auth = 4
no_database_function = 5
no_editor_function = 6
no_show_auth = 7
no_tvdir_entry = 8
no_upd_auth = 9
only_show_allowed = 10
system_failure = 11
unknown_field_in_dba_sellist = 12
view_not_found = 13
OTHERS = 14.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_download_temp
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_download_temp .
DATA:lo_objdata LIKE wwwdatatab,
lo_mime LIKE w3mime,
ls_destination LIKE rlgrap-filename,
ls_objnam TYPE string,
li_rc LIKE sy-subrc,
ls_errtxt TYPE string.
DATA:p_objid TYPE wwwdatatab-objid,
p_dest LIKE sapb-sappfad,
l_fullpath LIKE rlgrap-filename.
DATA:gc_fullpath LIKE rlgrap-filename.
p_objid = 'ZFIR0011'.
CONCATENATE p_objid '.XLS' INTO ls_objnam.
CONDENSE ls_objnam NO-GAPS.
SELECT SINGLE relid objid INTO CORRESPONDING FIELDS OF lo_objdata
FROM wwwdata WHERE srtf2 = 0 AND relid = 'MI' AND objid = p_objid.
IF sy-subrc NE 0 OR lo_objdata-objid EQ space.
CONCATENATE '模板文件' ls_objnam '不存在,请用TCODE:SMW0进行加载' INTO ls_errtxt.
MESSAGE ls_errtxt TYPE 'I'.
ELSE.
"文件保存路径
PERFORM frm_select_filepath CHANGING gc_fullpath.
CHECK gc_fullpath IS NOT INITIAL .
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = lo_objdata
destination = gc_fullpath
IMPORTING
rc = li_rc.
IF li_rc NE 0.
CONCATENATE '模板文件:' ls_objnam '下载失败' INTO ls_errtxt.
MESSAGE ls_errtxt TYPE 'E'.
ENDIF.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_select_filepath
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& <-- GC_FULLPATH
*&---------------------------------------------------------------------*
FORM frm_select_filepath CHANGING p_fullpath.
DATA: rc TYPE string,
rc1 TYPE string,
rc2 TYPE string.
rc = 'Bank_Statement' && sy-datum .
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
* window_title =
default_extension = '*.XLS|*.XLSX'
default_file_name = rc
* with_encoding =
file_filter = 'XLS (*.XLS)|*.XLS|XLSX (*.XLSX)|*.XLSX'
* initial_directory =
* prompt_on_overwrite = 'X'
CHANGING
filename = rc
path = rc1
fullpath = rc2
* user_action =
* file_encoding =
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
p_fullpath = rc2.
ENDFORM.
程序调用SM30维护表
最新推荐文章于 2024-08-14 21:04:36 发布