*&---------------------------------------------------------------------*
*& Report ZFIR252
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zexport_table.
TABLES:sscrfields,ztexport.
DATA:ok_code LIKE sy-ucomm.
DATA:stbl TYPE lvc_s_stbl.
DATA: gt_field TYPE lvc_t_fcat.
DATA: gt_fieldISP TYPE lvc_t_fcat.
DATA: gt_field2 TYPE lvc_t_fcat.
DATA: gs_field TYPE lvc_s_fcat.
DATA: GS_LAYOUT TYPE LVC_S_LAYO.
DATA: GS_VARIANT TYPE DISVARIANT.
FIELD-SYMBOLS:<itab> TYPE STANDARD TABLE,
<wa>,<ft> TYPE lvc_t_styl,
<fv>,<f1>,<f2>,<f3>.
FIELD-SYMBOLS:<itab2> TYPE STANDARD TABLE,
<wa2>,<ft2> TYPE lvc_t_styl,
<fv2>,<f12>,<f22>,<f32>.
DATA: dy_table TYPE REF TO data, ""取值的动态内表
dy_line TYPE REF TO data.
DATA: dy_table2 TYPE REF TO data, ""输出的动态内表,每个字段暂定char128,
dy_line2 TYPE REF TO data.
FIELD-SYMBOLS: <dyn_table> TYPE table,
<gt_table> TYPE table,
<dyn_wa> TYPE any.
FIELD-SYMBOLS : <fs_tab> TYPE ANY TABLE .
DATA gv_selea TYPE string . ""select 哪些字段
DATA gv_from TYPE string . ""FROM 哪个表怎么连表
DATA gv_where TYPE string . ""WHERE 哪些条件
DATA gt_exp TYPE TABLE OF ztexport .
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE TEXT-001.
PARAMETERS : p_versi TYPE zeversi .
PARAMETERS : P_DISP RADIOBUTTON GROUP r2 DEFAULT 'X' USER-COMMAND uc .
PARAMETERS : P_EXPO RADIOBUTTON GROUP r2 .
PARAMETERS : p_file LIKE rlgrap-filename DEFAULT '/gacmotor/sap/' MODIF ID M1. "/gacmotor/sap "AL11中的文件目录都可以导出,需要与basis联系询问具体地址
PARAMETERS : p_numb TYPE sy-index DEFAULT '1000000' MODIF ID M1.
PARAMETERS : p_serv RADIOBUTTON GROUP r1 DEFAULT 'X' MODIF ID M1.
PARAMETERS : p_loca RADIOBUTTON GROUP r1 MODIF ID M1.
SELECTION-SCREEN END OF BLOCK a1.
"SELECTION-SCREEN FUNCTION KEY 1. "
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM frm_f4_p_file .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_versi.
PERFORM frm_f4_p_versi .
*************************************************************************
** INITIALIZATION
*************************************************************************
"该事件在屏幕未显示之前执行,对程序设置值及屏幕元素进行初始化赋值。
INITIALIZATION.
stbl-row = 'X'.
stbl-col = 'X'.
sscrfields-functxt_01 = '维护审计导出字段配置表'.
"假必输
LOOP AT SCREEN.
IF screen-name = 'P_VERSI'.
screen-required = '2'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
*************************************************************************
** AT SELECTION SCREEN
*************************************************************************
AT SELECTION-SCREEN.
CASE sscrfields-ucomm. "处理按钮命令
WHEN'FC01'.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'U'
view_name = 'ZTEXPORT'.
WHEN OTHERS.
ENDCASE.
*************************************************************************
** AT SELECTION SCREEN OUTPUT
*************************************************************************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'M1' .
IF P_DISP = 'X'.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
ENDCASE .
IF screen-name = 'P_VERSI'.
screen-required = '2'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
*************************************************************************
* EVENT START OF SELECTION
*************************************************************************
START-OF-SELECTION.
PERFORM frm_check_exp_data .
PERFORM bulid_select .
IF P_EXPO = 'X'.
PERFORM export_data_to_ser .
PERFORM export_data_to_loc .
ELSEIF P_DISP = 'X' .
PERFORM FRM_DISPLAY_ALV .
ENDIF.
*************************************************************************
**EVENT END-OF SELECTION
*************************************************************************
END-OF-SELECTION.
FORM frm_check_exp_data.
"取配置表数据
SELECT * FROM ztexport INTO TABLE @gt_exp WHERE versi = @p_versi .
IF gt_exp IS INITIAL.
MESSAGE '请先维护表ZTEXPORT' TYPE 'S' DISPLAY LIKE 'E' .
ENDIF .
CHECK gt_exp IS NOT INITIAL
abap 导出数据表程序
于 2024-09-26 17:40:17 首次发布