不用evaluation path情况下使用逻辑数据库PCH
2012-07-27 18:18
302 查看
测试程序来自标准报表:RHVAKRI0
界面显示为:
运行效果为:
技术亮点:
(1)不使用evaluation path的情况下使用逻辑数据库PCH
(2)ALV显示结果中使用checkbox(ALV checkbox)
测试程序:
*&---------------------------------------------------------------------*
*& Report ZTEST12
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ztest12.
TABLES: objec.
INFOTYPES: 1001,1007.
*&--------------------------------------
*& data define for get display data
*&--------------------------------------
DATA: BEGIN OF gty_itab_1007,
box(1) TYPE c,
text LIKE objec-stext,
i1007 LIKE p1007,
END OF gty_itab_1007.
DATA: gs_itab_1007 LIKE gty_itab_1007,
gt_itab_1007 LIKE TABLE OF gty_itab_1007,
gs_p1007 TYPE p1007.
*&--------------------------------------
*& data define for ALV
*&--------------------------------------
DATA: gt_itab_1007_fields TYPE slis_t_fieldcat_alv,
gt_itab_1007_layout TYPE slis_layout_alv.
INITIALIZATION.
pchotype = 'S'.
CLEAR: pchtimed, p1001,p1007.
GET objec.
LOOP AT p1007 INTO gs_p1007.
gs_itab_1007-text = objec-stext.
gs_itab_1007-i1007 = gs_p1007.
APPEND gs_itab_1007 TO gt_itab_1007.
ENDLOOP.
END-OF-SELECTION.
* fieldcat
PERFORM fill_gt_itab_1007_fields TABLES gt_itab_1007_fields.
CLEAR gt_itab_1007_layout.
gt_itab_1007_layout-box_fieldname = 'BOX'.
gt_itab_1007_layout-box_tabname = 'ITAB_1007'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
* I_STRUCTURE_NAME =
is_layout = gt_itab_1007_layout
it_fieldcat = gt_itab_1007_fields[]
TABLES
t_outtab = gt_itab_1007
EXCEPTIONS
program_error = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*& Form FILL_GT_ITAB_1007_FIELDS
*& create alv field text
*----------------------------------------------------------------------*
FORM fill_gt_itab_1007_fields TABLES it_field_tab TYPE slis_t_fieldcat_alv.
* head line for field table
DATA: field_head_struc TYPE slis_fieldcat_alv.
REFRESH it_field_tab.
CLEAR field_head_struc.
field_head_struc-col_pos = 1.
field_head_struc-fieldname = 'I1007-OTYPE'.
field_head_struc-ref_fieldname = 'OTYPE'.
field_head_struc-ref_tabname = 'P1001'.
APPEND field_head_struc TO it_field_tab.
CLEAR field_head_struc.
field_head_struc-col_pos = 2.
field_head_struc-fieldname = 'I1007-OBJID'.
field_head_struc-ref_fieldname = 'OBJID'.
field_head_struc-ref_tabname = 'P1007'.
APPEND field_head_struc TO it_field_tab.
CLEAR field_head_struc.
field_head_struc-col_pos = 3.
field_head_struc-fieldname = 'I1007-BEGDA'.
field_head_struc-ref_fieldname = 'BEGDA'.
field_head_struc-ref_tabname = 'P1007'.
APPEND field_head_struc TO it_field_tab.
ENDFORM. " FILL_GT_ITAB_1007_FIELDS
界面显示为:
运行效果为:
技术亮点:
(1)不使用evaluation path的情况下使用逻辑数据库PCH
(2)ALV显示结果中使用checkbox(ALV checkbox)
测试程序:
*&---------------------------------------------------------------------*
*& Report ZTEST12
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ztest12.
TABLES: objec.
INFOTYPES: 1001,1007.
*&--------------------------------------
*& data define for get display data
*&--------------------------------------
DATA: BEGIN OF gty_itab_1007,
box(1) TYPE c,
text LIKE objec-stext,
i1007 LIKE p1007,
END OF gty_itab_1007.
DATA: gs_itab_1007 LIKE gty_itab_1007,
gt_itab_1007 LIKE TABLE OF gty_itab_1007,
gs_p1007 TYPE p1007.
*&--------------------------------------
*& data define for ALV
*&--------------------------------------
DATA: gt_itab_1007_fields TYPE slis_t_fieldcat_alv,
gt_itab_1007_layout TYPE slis_layout_alv.
INITIALIZATION.
pchotype = 'S'.
CLEAR: pchtimed, p1001,p1007.
GET objec.
LOOP AT p1007 INTO gs_p1007.
gs_itab_1007-text = objec-stext.
gs_itab_1007-i1007 = gs_p1007.
APPEND gs_itab_1007 TO gt_itab_1007.
ENDLOOP.
END-OF-SELECTION.
* fieldcat
PERFORM fill_gt_itab_1007_fields TABLES gt_itab_1007_fields.
CLEAR gt_itab_1007_layout.
gt_itab_1007_layout-box_fieldname = 'BOX'.
gt_itab_1007_layout-box_tabname = 'ITAB_1007'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
* I_STRUCTURE_NAME =
is_layout = gt_itab_1007_layout
it_fieldcat = gt_itab_1007_fields[]
TABLES
t_outtab = gt_itab_1007
EXCEPTIONS
program_error = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*& Form FILL_GT_ITAB_1007_FIELDS
*& create alv field text
*----------------------------------------------------------------------*
FORM fill_gt_itab_1007_fields TABLES it_field_tab TYPE slis_t_fieldcat_alv.
* head line for field table
DATA: field_head_struc TYPE slis_fieldcat_alv.
REFRESH it_field_tab.
CLEAR field_head_struc.
field_head_struc-col_pos = 1.
field_head_struc-fieldname = 'I1007-OTYPE'.
field_head_struc-ref_fieldname = 'OTYPE'.
field_head_struc-ref_tabname = 'P1001'.
APPEND field_head_struc TO it_field_tab.
CLEAR field_head_struc.
field_head_struc-col_pos = 2.
field_head_struc-fieldname = 'I1007-OBJID'.
field_head_struc-ref_fieldname = 'OBJID'.
field_head_struc-ref_tabname = 'P1007'.
APPEND field_head_struc TO it_field_tab.
CLEAR field_head_struc.
field_head_struc-col_pos = 3.
field_head_struc-fieldname = 'I1007-BEGDA'.
field_head_struc-ref_fieldname = 'BEGDA'.
field_head_struc-ref_tabname = 'P1007'.
APPEND field_head_struc TO it_field_tab.
ENDFORM. " FILL_GT_ITAB_1007_FIELDS
相关文章推荐
- 使用逻辑数据库PCH的时候,如何实现一次只能选择一个OBJID的效果?
- 不用index monitor usage获得索引使用情况的脚本
- iOS(使用pch文件导入头文件方法) 不用再import 这个pch文件就可以使用
- 逻辑数据库PCH常用的评估路径(Evaluation path)及对界面上评估路径选择的隐藏
- 如何在不用JavaScript的情况下使用CSS来实现图表功能
- 如何快速估计/估算Linux VPS的月流量使用情况(不用安装MRTG等流量监控软件) - LinuxVPS使用教程 - 国外/美国服务器租用
- 命令使用常见情况
- 为什么使用懒加载?为什么hibernate中的实体不用private?懒加载用到那些地方,为什么用?
- 如何查看用户使用情况(最近登入,活跃度。。。)
- Oracle - 表空间使用情况及相关字典
- DOS命令查看端口使用情况
- 手提无法使用Ghost方法安装win7系统,出现一直显示DOS工具箱和硬盘无效情况的解决
- iOS开发中.pch 文件的使用及其相关工程设置
- 什么情况下使用继承 和 接口
- String、StringBuffer、StringBuilder三者的使用情况
- iOS开发之pch文件的使用
- 如何正确查看Linux机器内存使用情况
- IOS开发之Bug--使用KVC的易错情况
- 查看linux服务器内存使用情况free -m命令详解
- NetCraft数据:8月Web服务器端软件使用情况