*&-----------------------------------------------------------------*
*& REPORT ZPS001
*&-----------------------------------------------------------------*
********************************************************************
* 事务代码: *
* 程序名称: *
* 程序目的: *
* 使用变式: *
* 设 计 人: *
* 设计时间: *
* 程序类型: ABAP/4 程序 ,报表 *
* 输入文件: *
* 输出文件: *
* 应用类型: *
* 描 述: *
*(修改日志)--------------------------------------------------------*
* *
* 日志号 修改人 修改时间 修改说明 请求号码 *
* ---- ---- ------ -----------
*
********************************************************************
REPORT zps001.
*******************************
*数据类型定义
*******************************
*&-----------------------------------------------------------------*
*& 包含 ZMMR_812_TOP
*&-----------------------------------------------------------------*
TYPE-POOLS: slis,icon.
TABLES:proj.
TYPES: BEGIN OF ty_tab_data,
box TYPE c,
index TYPE i,
pspnr TYPE proj-pspnr,
post1 TYPE proj-post1, "項目(产品)名称
pspid TYPE proj-pspid, "项目编号
zpb TYPE ztps001-zpb, "配比
zzw TYPE ztps001-zzw, "作物
zfzdx TYPE ztps001-zfzdx, "防治对象
cost1 TYPE wtgxxx, "小试阶段成本
cost2 TYPE wtgxxx, "配方验证阶段成本
cost3 TYPE wtgxxx, "工艺筛选阶段成本
cost4 TYPE wtgxxx, "工艺验证阶段成本
cost5 TYPE wtgxxx, "市场部验收阶段
cost TYPE wtgxxx, "项目累计成本
END OF ty_tab_data.
*&-----------------------------------------------------------------
*
*内表、工作区、变量、常量、指针定义
*
*&-----------------------------------------------------------------
DATA: gt_data TYPE STANDARD TABLE OF ty_tab_data,
gt_data1 TYPE STANDARD TABLE OF ty_tab_data,
gs_data TYPE ty_tab_data,
gs_data1 TYPE ty_tab_data.
DATA: gs_layout TYPE lvc_s_layo.
DATA: gt_fieldcat TYPE lvc_t_fcat,
gs_fieldcat TYPE lvc_s_fcat.
DATA: gt_sort TYPE lvc_t_sort,
gs_sort TYPE lvc_s_sort.
DATA: gt_ztps001 TYPE STANDARD TABLE OF ztps001,
gs_ztps001 TYPE ztps001.
*******************************
*屏幕处理
*******************************
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:s_vbukr FOR proj-vbukr,"公司代码
s_pspid FOR proj-pspid."项目定义
PARAMETERS:p_post1 TYPE proj-post1."项目(产品)名称
SELECTION-SCREEN END OF BLOCK blk1.
*******************************
*主程序入口
*******************************
*&--------------------------------------------------------------
**初始化处理
*&--------------------------------------------------------------
INITIALIZATION.
*&--------------------------------------------------------------
**选择屏幕控制
*&--------------------------------------------------------------
AT SELECTION-SCREEN OUTPUT.
*&-------------------------------------------------------------*
*& 参数输入检查
*&-------------------------------------------------------------*
AT SELECTION-SCREEN.
*&-------------------------------------------------------------
**程序开始处理
*&-------------------------------------------------------------
START-OF-SELECTION.
********************************
*获取数据
********************************
PERFORM get_data.
*********************************
**处理数据
*********************************
PERFORM pro_data.
********************************
*显示数据
********************************
* ALV显示
PERFORM frm_set_alv. "设置ALV属性
PERFORM frm_dis_alv. "调用ALV
END-OF-SELECTION.
*******************************
*FORM子程序
*******************************
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* 获取数据
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form pro_DATA
*&---------------------------------------------------------------------*
* 数据处理
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM pro_data.
IF gt_data IS INITIAL.
MESSAGE '未查询到符合条件的数据!' TYPE 'S' DISPLAY LIKE 'E'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM. " PRO_DATA
*&---------------------------------------------------------------------*
*& Form FRM_SET_ALV
*&---------------------------------------------------------------------*
* alv设置
*---------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_set_alv.
DATA: l_colpos TYPE lvc_s_fcat-col_pos VALUE 0.
*&---------------------------------------------------------------------*
*& 定义宏
*&---------------------------------------------------------------------*
DEFINE macro_fill_fcat.
CLEAR gs_fieldcat.
&1 = &1 + 1.
gs_fieldcat-col_pos = &1.
gs_fieldcat-fieldname = &2.
gs_fieldcat-ref_table = &3.
gs_fieldcat-ref_field = &4. "内表中数量参照字段
gs_fieldcat-coltext = &5.
APPEND gs_fieldcat TO gt_fieldcat.
END-OF-DEFINITION.
FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat.
CLEAR gt_fieldcat.
macro_fill_fcat:
l_colpos 'INDEX' '' '' TEXT-002,"序号
l_colpos 'POST1' '' '' TEXT-003," 項目(产品)名称
l_colpos 'PSPID' '' '' TEXT-004," 项目编号
l_colpos 'ZPB' '' '' TEXT-005," 配比
l_colpos 'ZZW' '' '' TEXT-006," 作物
l_colpos 'ZFZDX' '' '' TEXT-007," 防治对象
l_colpos 'COST1' '' '' TEXT-008," 小试阶段成本
l_colpos 'COST2' '' '' TEXT-009," 配方验证阶段成本
l_colpos 'COST3' '' '' TEXT-010," 工艺筛选阶段成本
l_colpos 'COST4' '' '' TEXT-011," 工艺验证阶段成本
l_colpos 'COST5' '' '' TEXT-012," 市场部验收阶段
l_colpos 'COST' '' '' TEXT-013." 项目累计成本
CLEAR gs_layout.
gs_layout-zebra = 'X'.
gs_layout-box_fname = 'BOX'.
gs_layout-cwidth_opt = 'X'.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_DIS_ALV
*&---------------------------------------------------------------------*
* alv输出
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_dis_alv .
DATA: lv_grid TYPE lvc_s_glay.
lv_grid-edt_cll_cb = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'PF_STATUS_SET'
i_grid_settings = lv_grid
is_layout_lvc = gs_layout
it_fieldcat_lvc = gt_fieldcat
TABLES
t_outtab = gt_data.
ENDFORM. " FRM_ALV
*&---------------------------------------------------------------------*
*& Form PF_STATUS_SET
*&---------------------------------------------------------------------*
* gui状态
*----------------------------------------------------------------------*
* -->TR_EXTAB text
*----------------------------------------------------------------------*
FORM pf_status_set USING pr_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD_FULLSCREEN' .
ENDFORM. " PF_STATUS_SET
06-02
06-02
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交