zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ABAP表控件查询详解编程语言

编程语言 详解 查询 控件 ABAP
2023-06-13 09:11:48 时间

首先SE11自建一个数据库表(数据元素,域信息请提前建好)

ABAP表控件查询详解编程语言

2.编写代码

2.1 新建一个子屏幕

子屏幕中需新定义一个文本输入框,命名为:key_word,新建一个表控件,命名为tab,该表控件的字段选取自建表zchenh001上的所有字段。

 ABAP表控件查询详解编程语言

可以在“元素清单”界面调整字段显示的宽度,这样更美观:

 ABAP表控件查询详解编程语言

2.2 拷贝状态栏

SE41 - 状态

从 程序:SAPLKKBL

状态:STANDARD_FULLSCREEN

到 程序:你的程序

 状态:你的程序中需要使用的状态及自定义按钮

2.3 子屏幕的逻辑流


 1 * ---------------------------------------------------------------------* 

 2 * Report ZCHENH039 

 3 * 

 4 * ---------------------------------------------------------------------* 

 5 * 

 6 * 

 7 * ---------------------------------------------------------------------* 

 9 REPORT zchenh039. 

 11 TABLES: zchenh001. 

 13 TYPES: BEGIN OF t_tab, 

 14 znum LIKE zchenh001-znum, 

 15 zname LIKE zchenh001-zname, 

 16 zsex LIKE zchenh001-zsex, 

 17 zhigh LIKE zchenh001-zhigh, 

 18 END OF t_tab. 

 20 DATA: gt_tab_itab TYPE t_tab OCCURS 0, 

 21 g_tab_itab TYPE t_tab OCCURS 0 WITH HEADER LINE, 

 22 g_tab_wa TYPE t_tab. "work area 

 23 DATA: g_tab_copied. "copy flag 

 24 DATA: key_word(20). 

 26 CONTROLS: tab TYPE TABLEVIEW USING SCREEN 0100. 

 28 START-OF-SELECTION. 

 29 CALL SCREEN 100. 

 31 *----------------------------------------------------------------------* 

 32 * MODULE TAB_INIT OUTPUT 

 33 *----------------------------------------------------------------------* 

 34 * 

 35 *----------------------------------------------------------------------* 

 36 MODULE tab_init OUTPUT. 

 37 SELECT * FROM zchenh001 

 38 INTO CORRESPONDING FIELDS OF TABLE gt_tab_itab. 

 39 IF g_tab_copied IS INITIAL. 

 40 PERFORM frm_get_data. 

 41 g_tab_copied = X. 

 42 REFRESH CONTROL TAB FROM SCREEN 0100. 

 43 ENDIF. 

 45 ENDMODULE. "TAB_INIT OUTPUT 

 47 *----------------------------------------------------------------------* 

 48 * MODULE TAB_MOVE OUTPUT 

 49 *----------------------------------------------------------------------* 

 50 * 

 51 *----------------------------------------------------------------------* 

 52 MODULE tab_move OUTPUT. 

 53 MOVE-CORRESPONDING g_tab_wa TO zchenh001. 

 54 ENDMODULE. "TAB_MOVE OUTPUT 

 55 * ---------------------------------------------------------------------* 

 56 * Module STATUS_0100 OUTPUT 

 57 * ---------------------------------------------------------------------* 

 58 * text 

 59 *----------------------------------------------------------------------* 

 60 MODULE status_0100 OUTPUT. 

 61 SET PF-STATUS ZCHENH039. 

 62 ENDMODULE. " STATUS_0100 OUTPUT 

 63 * ---------------------------------------------------------------------* 

 64 * Module USER_COMMAND_0100 INPUT 

 65 * ---------------------------------------------------------------------* 

 66 * text 

 67 *----------------------------------------------------------------------* 

 68 MODULE user_command_0100 INPUT. 

 69 CASE sy-ucomm. 

 70 WHEN EXIT OR  F03 OR  F15 OR  F12. 

 71 LEAVE PROGRAM. 

 72 WHEN SEARCH. 

 73 PERFORM frm_get_data. 

 74 WHEN OTHERS. 

 75 ENDCASE. 

 77 ENDMODULE. " USER_COMMAND_0100 INPUT 

 78 * ---------------------------------------------------------------------* 

 79 * Form FRM_GET_DATA 

 80 * ---------------------------------------------------------------------* 

 81 * text 

 82 *----------------------------------------------------------------------* 

 83 * -- p1 text 

 84 * -- p2 text 

 85 *----------------------------------------------------------------------* 

 86 FORM frm_get_data . 

 87 DATA:ls_tab TYPE t_tab, 

 88 lv_len TYPE string, 

 89 lv_msg(255). 

 90 * 从内表中取数,减少重复使用数据库的操作 

 91 g_tab_itab[] = gt_tab_itab[]. 

 92 " 此处 模糊查询 LIKE % ... % 不适用 

 93 IF key_word IS NOT INITIAL. 

 94 LOOP AT g_tab_itab WHERE znum NS key_word 

 95 AND zname NS key_word 

 96 AND zsex NS key_word 

 97 AND zhigh NS key_word. 

 98 DELETE g_tab_itab. 

 99 ENDLOOP. 

100 ENDIF. 

101 DESCRIBE TABLE g_tab_itab LINES lv_len. 

102 CONCATENATE 本次供查询到: lv_len 条数据! INTO lv_msg. 

103 MESSAGE lv_msg TYPE S. 

105 ENDFORM. " FRM_GET_DATA

View Code

3. 验证效果

默认为空则查询所有

 ABAP表控件查询详解编程语言

查询所有“男”性

 ABAP表控件查询详解编程语言

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18028.html

cjava