一个简单的alv的示例
来源:互联网 发布:咨询公司 数据分析 编辑:程序博客网 时间:2024/06/11 23:42
TABLES: ZRFC_STATUS_BACK,EKPO.
DATA: v_pos TYPE i.
DATA: wa_fieldcat TYPE lvc_s_fcat ,
i_fieldcat TYPE lvc_t_fcat ,
i_layout TYPE lvc_s_layo .
DATA:GT_FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE.
TYPES:BEGIN OF TY_ITAB,
DATANUM TYPE ZRFC_STATUS_BACK-DATANUM,
EBELN TYPE ZRFC_STATUS_BACK-EBELN,
EBELP TYPE ZRFC_STATUS_BACK-EBELP,
MATNR TYPE ZRFC_STATUS_BACK-MATNR,
TXZ01 TYPE ZRFC_STATUS_BACK-TXZ01,
LIFNR TYPE ZRFC_STATUS_BACK-LIFNR,
PRDORDER TYPE ZRFC_STATUS_BACK-PRDORDER,
MENGE TYPE ZRFC_STATUS_BACK-MENGE,
SHNGE TYPE ZRFC_STATUS_BACK-MENGE,
MEINS TYPE ZRFC_STATUS_BACK-MEINS,
BEDAT1 TYPE ZRFC_STATUS_BACK-BEDAT1,
BEDAT2 TYPE ZRFC_STATUS_BACK-BEDAT2,
TYPE TYPE ZRFC_STATUS_BACK-TYPE,
TYPEM TYPE ZRFC_STATUS_BACK-TYPEM,
BEDAT3 TYPE ZRFC_STATUS_BACK-BEDAT3,
RDATUM TYPE ZRFC_STATUS_BACK-RDATUM,
RCTIME TYPE ZRFC_STATUS_BACK-RCTIME,
END OF TY_ITAB.
DATA:ITAB TYPE TABLE OF TY_ITAB WITH HEADER LINE.
""选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:S_LIFNR FOR ZRFC_STATUS_BACK-LIFNR OBLIGATORY .
SELECTION-SCREEN END OF BLOCK MAIN.
**主程序
START-OF-SELECTION.
PERFORM F_SELECT_DATA.
PERFORM F_DISPLAY.
*&---------------------------------------------------------------------*
*& Form F_SELECT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_SELECT_DATA.
"SELECT *
" INTO CORRESPONDING FIELDS OF TABLE ITAB
"FROM ZRFC_STATUS_BACK INNER JOIN EKPO
" ON ZRFC_STATUS_BACK-EBELN = EKPO-EBELN.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM ZRFC_STATUS_BACK
WHERE LIFNR IN S_LIFNR.
LOOP AT ITAB.
SELECT SINGLE
MATNR
MENGE
MEINS
INTO (ITAB-MATNR,ITAB-MENGE,ITAB-MEINS)
FROM EKPO
WHERE EBELN = ITAB-EBELN
AND EBELP = ITAB-EBELP.
MODIFY ITAB.
CLEAR ITAB..
ENDLOOP.
DELETE ITAB WHERE LIFNR NOT IN S_LIFNR.
ENDFORM. "F_SELECT_DATA
*&---------------------------------------------------------------------*
*& Form F_DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_DISPLAY.
PERFORM F_FIELDS .
PERFORM F_LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
is_layout_LVC = i_layout
it_fieldcat_LVC = i_fieldcat[]
i_save = 'X'
TABLES
t_outtab = ITAB
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. "F_DISPLAY
*&---------------------------------------------------------------------*
*& Form F_FIELDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_FIELDS .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'LIFNR' .
wa_fieldcat-scrtext_l = '供应商'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'DATANUM' .
wa_fieldcat-scrtext_l = '数据顺序号'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'EBELN' .
wa_fieldcat-scrtext_l = '采购订单'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'EBELN' .
wa_fieldcat-scrtext_l = '订单行项目'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'MNTNR' .
wa_fieldcat-scrtext_l = '板卡物料'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = ' MATNR' .
wa_fieldcat-scrtext_l = '物料号'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
CLEAR wa_fieldcat .
ENDFORM. "F_FIELDS
*&---------------------------------------------------------------------*
*& Form F_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_LAYOUT .
i_layout-zebra = 'X' .
i_layout-sel_mode = 'A' .
i_layout-cwidth_opt = 'X' .
ENDFORM. "F_LAYOUT
DATA: v_pos TYPE i.
DATA: wa_fieldcat TYPE lvc_s_fcat ,
i_fieldcat TYPE lvc_t_fcat ,
i_layout TYPE lvc_s_layo .
DATA:GT_FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE.
TYPES:BEGIN OF TY_ITAB,
DATANUM TYPE ZRFC_STATUS_BACK-DATANUM,
EBELN TYPE ZRFC_STATUS_BACK-EBELN,
EBELP TYPE ZRFC_STATUS_BACK-EBELP,
MATNR TYPE ZRFC_STATUS_BACK-MATNR,
TXZ01 TYPE ZRFC_STATUS_BACK-TXZ01,
LIFNR TYPE ZRFC_STATUS_BACK-LIFNR,
PRDORDER TYPE ZRFC_STATUS_BACK-PRDORDER,
MENGE TYPE ZRFC_STATUS_BACK-MENGE,
SHNGE TYPE ZRFC_STATUS_BACK-MENGE,
MEINS TYPE ZRFC_STATUS_BACK-MEINS,
BEDAT1 TYPE ZRFC_STATUS_BACK-BEDAT1,
BEDAT2 TYPE ZRFC_STATUS_BACK-BEDAT2,
TYPE TYPE ZRFC_STATUS_BACK-TYPE,
TYPEM TYPE ZRFC_STATUS_BACK-TYPEM,
BEDAT3 TYPE ZRFC_STATUS_BACK-BEDAT3,
RDATUM TYPE ZRFC_STATUS_BACK-RDATUM,
RCTIME TYPE ZRFC_STATUS_BACK-RCTIME,
END OF TY_ITAB.
DATA:ITAB TYPE TABLE OF TY_ITAB WITH HEADER LINE.
""选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:S_LIFNR FOR ZRFC_STATUS_BACK-LIFNR OBLIGATORY .
SELECTION-SCREEN END OF BLOCK MAIN.
**主程序
START-OF-SELECTION.
PERFORM F_SELECT_DATA.
PERFORM F_DISPLAY.
*&---------------------------------------------------------------------*
*& Form F_SELECT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_SELECT_DATA.
"SELECT *
" INTO CORRESPONDING FIELDS OF TABLE ITAB
"FROM ZRFC_STATUS_BACK INNER JOIN EKPO
" ON ZRFC_STATUS_BACK-EBELN = EKPO-EBELN.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM ZRFC_STATUS_BACK
WHERE LIFNR IN S_LIFNR.
LOOP AT ITAB.
SELECT SINGLE
MATNR
MENGE
MEINS
INTO (ITAB-MATNR,ITAB-MENGE,ITAB-MEINS)
FROM EKPO
WHERE EBELN = ITAB-EBELN
AND EBELP = ITAB-EBELP.
MODIFY ITAB.
CLEAR ITAB..
ENDLOOP.
DELETE ITAB WHERE LIFNR NOT IN S_LIFNR.
ENDFORM. "F_SELECT_DATA
*&---------------------------------------------------------------------*
*& Form F_DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_DISPLAY.
PERFORM F_FIELDS .
PERFORM F_LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
is_layout_LVC = i_layout
it_fieldcat_LVC = i_fieldcat[]
i_save = 'X'
TABLES
t_outtab = ITAB
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. "F_DISPLAY
*&---------------------------------------------------------------------*
*& Form F_FIELDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_FIELDS .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'LIFNR' .
wa_fieldcat-scrtext_l = '供应商'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'DATANUM' .
wa_fieldcat-scrtext_l = '数据顺序号'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'EBELN' .
wa_fieldcat-scrtext_l = '采购订单'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'EBELN' .
wa_fieldcat-scrtext_l = '订单行项目'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = 'MNTNR' .
wa_fieldcat-scrtext_l = '板卡物料'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
v_pos = v_pos + 1 .
wa_fieldcat-col_pos = v_pos .
wa_fieldcat-fieldname = ' MATNR' .
wa_fieldcat-scrtext_l = '物料号'.
wa_fieldcat-fix_column = 'X' .
APPEND wa_fieldcat TO i_fieldcat .
CLEAR wa_fieldcat .
ENDFORM. "F_FIELDS
*&---------------------------------------------------------------------*
*& Form F_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM F_LAYOUT .
i_layout-zebra = 'X' .
i_layout-sel_mode = 'A' .
i_layout-cwidth_opt = 'X' .
ENDFORM. "F_LAYOUT
0 0
- 一个简单的alv的示例
- 一个简单ALV的例子
- 一个简单ALV的例子
- 一个简单的动态内表alv案例
- ALV--R/3系统给定的ALV示例程序
- 简单的ALV控件实例
- 一个ALV(OO)的实例
- 一个ALV报表的模板
- 一个极好的ALV例子
- 一个简单的破解示例
- SpringJdbc的一个简单示例
- 一个简单的iBatis示例
- ActiveMQ的一个简单示例
- 泛型类的一个简单示例
- 简单的一个AJAX示例
- 一个简单的makefile示例
- ActiveMQ的一个简单示例
- 一个简单的学习示例
- 数据上传,下载功能(一)
- Android的init过程(二):初始化语言(init.rc)解析
- 自定义颜色
- 十一章 作业 二题
- svn常用命令的用法
- 一个简单的alv的示例
- curl使用技巧
- Spring3+Hibernate4:DAO层的非泛型化实现
- flex中使用RadioButtonGroup时如何取出所选项的值
- 通过winscp实现一键修改多台机器文件,并执行相应命令的脚本
- poj 2823单调队列模板题
- 第十六周项目二-简单指针
- xFace3.x 开发技巧(1)---从web开发转向移动开发
- linux中mutex和semaphore的区别