ABAP表控件查询
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表控件查询的更多相关文章
- delphi 控件查询
//老古董,以前这些东西太多了,收藏的没过来,只好粘贴至此,当然不是本人整理的. delphi 控件查询:http://www.torry.net/ http://www.jrsoftware.org ...
- Qt属性表控件的使用 QtTreePropertyBrowser
属性表是vs2003时引入的的新控件,用于流量和设置大量的信息,现在,很多软件上都能看到它的身影,如vs,Qt Creator等IDE的详细设置里都离不开属性表. 下图是Qt Creator里的属性表 ...
- c# 数据库数据与DataGridView表控件的绑定
public Form1() { InitializeComponent(); //连接数据库 string str = "Data Source=IP;Initial Catalog=数据 ...
- [RadControl] RadCartesianChart-功能強大圖表控件
由於最近做了一些統計的圖表分析,須使用到RadCartesianChart控件,因此就在這分享給大家順便為自己學習紀錄一下. 在介紹RadCartesianChart控件前,先看一下我所使用的到的功能 ...
- WPF 圖表控件 MetroChart
Torsten Mandelkow MetroChart包括以下: ColumnChart(ClusteredColumnChart,StackedColumnChart,StackedColumnC ...
- qt5--列表控件QListWidget
需要 #include <QListWidget> #include <QListWidgetItem> 列表控件可以让我们以列表形式呈现内容,是界面 ...
- 基于CkEditor实现.net在线开发之路(3)常用From表单控件介绍与说明
上一章已经简单介绍了CKEditor控件可以编写C#代码,然后可以通过ajax去调用,但是要在网页上面编写所有C#后台逻辑,肯定痛苦死了,不说实现复杂的逻辑,就算实现一个简单增删改查,都会让人头痛欲裂 ...
- ActiveReports 报表控件V12新特性 -- 新增矩表的RepeatToFill属性
ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...
- ASP.NETserver控件使用之Reportviewer 报表
1. Reportviewer 报表 1.1. Reportviewer控件 注:本教程附2个事例: l 演练:在本地处理模式下将数据库数据源与 ReportViewer W ...
随机推荐
- 性能测试day02_预习知识
在进入第二天的学习之前,我想我们需要提前先了解一下基础的知识,所以这一篇主要讲解的就是预习课程,关于协议和抓包的讲解(原理和工具). 可以说基于服务器的性能一般都是基于协议的,所以我们就需要懂协议,以 ...
- 凸优化&非凸优化问题
转载知乎大神的回答:Robin Shen 参考:https://www.zhihu.com/question/20343349
- 2014最新 iOS App 提交上架store 详细流程
http://blog.csdn.net/tt5267621/article/details/39430659
- 36. Oracle查询数据库中所有表的记录数
select t.table_name,t.num_rows from user_tables t
- MFC 如何在一个窗体中嵌套在另一个窗体中
其中的一个方法是讲子窗体设置为非模式对话框,具体操作为 :设置子窗体的border属性为none,style为 child. 在父窗体中需要用create来实现,具体例子如下. 在父窗体的OnInit ...
- <table>导出excal
<table>导出excal 将<table>导出为excal文件,这里介绍两种方法. 1.直接写代码,拼接出excal文件的字符串,然后直接用a标签下载.本人没有是试过,在此 ...
- 抓取mooc中国随笔
// $url = "http://www.baidu.com/"; $url= "https://www.icourse163.org/web/j/courseBean ...
- sql server 字符串字节长度
SQL Server 字符个数,字节长度,len不是你想要的字节数,datalength才能得到字节数 select len('娜娜123') ,datalength('娜娜123') 5 ...
- C#--构造函数的理解
说白了构造函数就是用来初始化类的数据成员{因为C#语言具有类型安全的特质-->不能使用没有初始化的变量)} 在这里引用一下别人的总结,我觉得挺好的: 构造函数是一种特殊的成员函数,它主要用于为对 ...
- 2319__1.5.3 Superprime Rib 特殊的质数肋骨
[Submit][Status][Forum] Description 农民约翰母牛总是产生最好的肋骨. 你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们. 农民约翰确定他卖给买方的是真正的 ...