1.准备工作

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

2.编写代码

2.1 新建一个子屏幕

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

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

2.2 拷贝状态栏

SE41 -> 状态

  从 程序:SAPLKKBL

   状态:STANDARD_FULLSCREEN

  到 程序:你的程序

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

2.3 子屏幕的逻辑流

 PROCESS BEFORE OUTPUT.

   MODULE tab_init.
MODULE status_0100.
LOOP AT g_tab_itab
INTO g_tab_wa
WITH CONTROL tab
CURSOR tab-current_line.
MODULE tab_move.
ENDLOOP. PROCESS AFTER INPUT.
MODULE user_command_0100.
LOOP AT g_tab_itab.
CHAIN.
FIELD zchenh001-znum.
FIELD zchenh001-zname.
FIELD zchenh001-zsex.
FIELD zchenh001-zhigh.
ENDCHAIN.
ENDLOOP.

2.4 se38编写代码

 *&---------------------------------------------------------------------*
*& Report ZCHENH039
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------* REPORT zchenh039. TABLES: zchenh001. TYPES: BEGIN OF t_tab,
znum LIKE zchenh001-znum,
zname LIKE zchenh001-zname,
zsex LIKE zchenh001-zsex,
zhigh LIKE zchenh001-zhigh,
END OF t_tab. DATA: gt_tab_itab TYPE t_tab OCCURS ,
g_tab_itab TYPE t_tab OCCURS WITH HEADER LINE,
g_tab_wa TYPE t_tab. "work area
DATA: g_tab_copied. "copy flag
DATA: key_word(). CONTROLS: tab TYPE TABLEVIEW USING SCREEN . START-OF-SELECTION.
CALL SCREEN . *----------------------------------------------------------------------*
* MODULE TAB_INIT OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE tab_init OUTPUT.
SELECT * FROM zchenh001
INTO CORRESPONDING FIELDS OF TABLE gt_tab_itab.
IF g_tab_copied IS INITIAL.
PERFORM frm_get_data.
g_tab_copied = 'X'.
REFRESH CONTROL 'TAB' FROM SCREEN ''.
ENDIF. ENDMODULE. "TAB_INIT OUTPUT *----------------------------------------------------------------------*
* MODULE TAB_MOVE OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE tab_move OUTPUT.
MOVE-CORRESPONDING g_tab_wa TO zchenh001.
ENDMODULE. "TAB_MOVE OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ZCHENH039'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'EXIT' OR '&F03' OR '&F15' OR '&F12'.
LEAVE PROGRAM.
WHEN 'SEARCH'.
PERFORM frm_get_data.
WHEN OTHERS.
ENDCASE. ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_get_data .
DATA:ls_tab TYPE t_tab,
lv_len TYPE string,
lv_msg().
* 从内表中取数,减少重复使用数据库的操作
g_tab_itab[] = gt_tab_itab[].
" 此处 模糊查询 LIKE '% ... %' 不适用
IF key_word IS NOT INITIAL.
LOOP AT g_tab_itab WHERE znum NS key_word
AND zname NS key_word
AND zsex NS key_word
AND zhigh NS key_word.
DELETE g_tab_itab.
ENDLOOP.
ENDIF.
DESCRIBE TABLE g_tab_itab LINES lv_len.
CONCATENATE '本次供查询到:' lv_len '条数据!' INTO lv_msg.
MESSAGE lv_msg TYPE 'S'. ENDFORM. " FRM_GET_DATA

3. 验证效果

默认为空则查询所有

查询所有“男”性

ABAP表控件查询的更多相关文章

  1. delphi 控件查询

    //老古董,以前这些东西太多了,收藏的没过来,只好粘贴至此,当然不是本人整理的. delphi 控件查询:http://www.torry.net/ http://www.jrsoftware.org ...

  2. Qt属性表控件的使用 QtTreePropertyBrowser

    属性表是vs2003时引入的的新控件,用于流量和设置大量的信息,现在,很多软件上都能看到它的身影,如vs,Qt Creator等IDE的详细设置里都离不开属性表. 下图是Qt Creator里的属性表 ...

  3. c# 数据库数据与DataGridView表控件的绑定

    public Form1() { InitializeComponent(); //连接数据库 string str = "Data Source=IP;Initial Catalog=数据 ...

  4. [RadControl] RadCartesianChart-功能強大圖表控件

    由於最近做了一些統計的圖表分析,須使用到RadCartesianChart控件,因此就在這分享給大家順便為自己學習紀錄一下. 在介紹RadCartesianChart控件前,先看一下我所使用的到的功能 ...

  5. WPF 圖表控件 MetroChart

    Torsten Mandelkow MetroChart包括以下: ColumnChart(ClusteredColumnChart,StackedColumnChart,StackedColumnC ...

  6. qt5--列表控件QListWidget

    需要   #include <QListWidget>            #include <QListWidgetItem> 列表控件可以让我们以列表形式呈现内容,是界面 ...

  7. 基于CkEditor实现.net在线开发之路(3)常用From表单控件介绍与说明

    上一章已经简单介绍了CKEditor控件可以编写C#代码,然后可以通过ajax去调用,但是要在网页上面编写所有C#后台逻辑,肯定痛苦死了,不说实现复杂的逻辑,就算实现一个简单增删改查,都会让人头痛欲裂 ...

  8. ActiveReports 报表控件V12新特性 -- 新增矩表的RepeatToFill属性

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  9. ASP.NETserver控件使用之Reportviewer 报表

    1.       Reportviewer 报表 1.1.       Reportviewer控件 注:本教程附2个事例: l  演练:在本地处理模式下将数据库数据源与 ReportViewer W ...

随机推荐

  1. angularjs探秘<三> 控制器controller及angular项目结构

    先来看一个例子 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&quo ...

  2. 傅立叶变换系列(五)快速傅立叶变换(FFT)

    说明: 傅里叶级数.傅里叶变换.离散傅里叶变换.短时傅里叶变换...这些理解和应用都非常难,网上的文章有两个极端:“Esay”  Or  “Boring”!如果单独看一两篇文章就弄懂傅里叶,那说明你真 ...

  3. activiti源代码的细节

    由于activiti-explorer-5.14的web演示程序使用的是vaadin服务器端ui组件,程序关键点找起来还是有些麻烦,vaadin的这种web框架,就是不需要专门美术界面人员,只需要程序 ...

  4. Git工作流基础简介【与产品经理.jpg】

    基于可视化界面的操作可使用Sourcetree这个软件进行操作. 下面将描绘的几个命令主要是 git init git add git commit git status git reset HEAD ...

  5. 关于lampp中的proftpd的一些使用

    这个是配置文件 ServerName "ProFTPD" ServerType standalone DefaultServer on Port 21 这个是端口 Umask Ma ...

  6. 《算法》第四章部分程序 part 16

    ▶ 书中第四章部分程序,包括在加上自己补充的代码,Dijkstra 算法求有向 / 无向图最短路径,以及所有顶点对之间的最短路径 ● Dijkstra 算法求有向图最短路径 package packa ...

  7. [多线程]wait和notify

    线程之间的通信   使用wait/notify方法实现线程间的通信.这两个方法都是Object类的方法,也就是说Java所有的对象都提供这两个方法.1.wait和notify必须配合synchroni ...

  8. python 小笔记

    1 删除非空文件夹 import shutil shutil.rmtree('c:\\test') print 'ok' ## 判断非空删除 if os.path.exists('../'+kemu_ ...

  9. 字符串流stringReader

    String info ="good good study day day up";StringReader stringReader = new StringReader(inf ...

  10. python tuple排序

    tuple排序,按照索引0,1,2,3...依次比较 a = [3,1,0,9,6,2,4,8,7,5] a.sort(key = lambda x: (x%2, x, x%3)) # 先按照x%2的 ...