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. CentOS 开发环境准备

    由于公司开发都是用的CentOS,如果不是使用docker的时候,难免会需要自己安装各种软件(例如,Python,nodejs等),然后这些软件还需要大量的依赖软件. 例如gcc等. 我们不需要一个一 ...

  2. NotePad++编译代码

    前言: 1.VS很强大,运行调试很方便,各种补全插件应有尽有. 2.冗余太多,有时候只想写几个小算法而已,打开软件就是一分钟了. 3.使用轻量级的NotePad++,可以帮助快速提升能力.手码代码,眼 ...

  3. 将浏览器的内容复制到Linux的文件里面

    直接使用ctrl +c 复制的内容  用ctr +V贴入Linux系统文件的话,格式是乱的 可以使用EOF的方式 [root@centos7 ~]# cat <<EOF >tttt. ...

  4. faceted project validation builder

    Should I keep Eclipse Java facet? Facets automate some parts of project configuration and deployment ...

  5. c# 和 java <转载>http://www.cnblogs.com/zhucai/archive/2011/02/16/csharp-compare-java.html

    从语法层面来讲,c# 和 java 是非常相似的. <转载> 这篇文章对C#与Java做一个语言级的对比,方便C#转Java或Java转C#的人有个大致了解.这里大致用C#3.0与Java ...

  6. 4. easyui删除功能实例

    ############实例1############## function delPerson(id) { $.messager.defaults = { ok : "确定", ...

  7. ajax二次封装之异步加载

    ajax二次封装之异步加载 ajax异步加载会导致在数据未加载回来就读取数据,然后出现数据为空的报错.在ajax封装时,将ajax直接改为同步,虽然可以解决报错,但是会导致页面渲染被阻塞,接口反应时间 ...

  8. ABAP-折叠窗口

    1.测试 2.代码 *&---------------------------------------------------------------------* *& Report ...

  9. iOS多语言

    https://blog.csdn.net/huangmindong/article/details/53464334 App多语言,字符串统一放在 Localizable.strings 文件里. ...

  10. 使用pt-table-checksum及pt-table-sync校验复制一致性

    一.简介 pt-table-checksum是percona-toolkit系列工具中的一个, 可以用来检测主. 从数据库中数据的一致性.其原理是在主库上运行, 对同步的表进行checksum, 记录 ...