ABAP 通过字段找表程序

2.获取数据保存在哪个数据表的方法:

1.前台对指定栏位 使用F1帮助找表,
2.st05 跟踪业务操作过程,检索需要的数据表,(此方法找表很高效)
3.对于文本字段找表,可以找到前台维护处,->维护长文本->表头->表名,
4.F1某些时候找表找到的是结构,可以试着通过结构找include 组件,有找到表的可能,还可以通过相关视图去查找,(找到视图基本就能找到表)
4.通过相关标准report / query去查找;
5.找到对应程序,或者相应操作,使用调试+设置watchpoint 查找,
6.通过结构 或者检查表找,
7.通过data element ->domain ->值表,

*&---------------------------------------------------------------------*
*& Report ZTABLEFIND
*&
*&---------------------------------------------------------------------*
*& Author: Mao JH
*&
*&---------------------------------------------------------------------*

REPORT ztablefind.
TABLES: dd02t, dd03l, dd02l.
DATA: BEGIN OF field1 OCCURS 0.
INCLUDE STRUCTURE dd03l.
DATA: END OF field1.
DATA: BEGIN OF field2 OCCURS 0.
INCLUDE STRUCTURE dd03l.
DATA su TYPE i.
DATA: END OF field2.
DATA:field_sum TYPE i.

SELECT-OPTIONS ified FOR dd03l-fieldname.
SELECT-OPTIONS ittype FOR dd02l-tabclass.
DATA fieldsum TYPE i.
SELECT * FROM dd03l INTO TABLE field1 WHERE fieldname IN ified.
SORT field1 BY tabname.
LOOP AT ified.

fieldsum = sy-tabix.
ENDLOOP.
LOOP AT field1.
field_sum = field_sum + 1.
MOVE-CORRESPONDING field1 TO field2.
AT END OF tabname.
*field2-tabname = field1-tabname.
*move-corresponding field1 to field2.
field2-su = field_sum.
COLLECT field2.
CLEAR field2.
CLEAR field_sum.
ENDAT.
ENDLOOP.
LOOP AT field2 WHERE su = fieldsum.
SELECT SINGLE * FROM dd02t WHERE tabname = field2-tabname AND
ddlanguage = sy-langu.
SELECT SINGLE * FROM dd02l WHERE tabname = field2-tabname AND
tabclass IN ittype AND
as4local = field2-as4local AND
as4vers = field2-as4vers.
IF sy-subrc = 0.
WRITE: / field2-tabname,dd02l-tabclass,dd02t-ddtext.
ENDIF.
ENDLOOP.
时间: 2024-12-26 09:36:34

ABAP 通过字段找表程序的相关文章

ABAP 动态生成内表的几种方法

最近要写个程序,既有更新的,也有删除的,需要涉及到很多系统表,如果一个表一个表进行更新或者删除太慢了,于是就想通过创建动态内表来实现这些功能,在网上找了一些资料,经过多次尝试,终于测试成功了.网上讲述的创建动态内表的方法大致有两种.我做了一下测试,源代码附后.在这里提醒大家一点,在做动态更新程序的时候,要注意两点:      1.使用modify (p_tabname) from <dyn_wa>. 的时候,一定要确定要更新的字段是不是系统表的关键字段,如果是关键字段的话,需要先删除这条记录,

abap 开发之创建表维护生成器

在sap开发中有时需要对一些自建表维护数据,但又不想写程序,怎么办呢??这个时候我们可以直接生成个表维护生成器,为其定义一个事物码就ok了.以下是表格维护生成器的生成步骤. 首先我们需要先定义表.输入事务代码se11,在database table 对应的文本框中输入表名,点击创建.创建表的时候我们需要将其维护成,允许通过标准表格维护工具维护 2.定义好表里面的字段之后,选择工具栏上面的  实用程序==>表维护生成器 3.点击进去之后的页面是这样的,输入相关的参数之后,点击白色的创建按钮.则会创

Python 基础 - Day 4 Assignment - 员工信息表程序

作业要求及初步思路 员工信息表程序,实现增删改查操作: ① 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select * from staff_table where dept = "IT" select * from staff_table where enroll_date like "2013"② 解决方案: sql语句的python解析问题,即将用户输入的sql

SELECT 字段 FROM 表 WHERE 某字段 Like 条件

SELECT 字段 FROM 表 WHERE 某字段 Like 条件   其中关于条件,SQL提供了四种匹配模式: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文, 请使用两个百分号(%%)表示.  比如 SELECT * FROM [user] WHERE u_name LIKE '%三%' ,将会把u_name为"张三","张猫三"."三脚猫","唐三藏"等等有"三"的记

window 7 64位下可运行的递归删除注册表程序

为了完成一个简单的注册表删除程序,由于我本身是win7 64位的OS,写了以下代码来递归删除注册表键值,程序代码如下: #include <tchar.h> #include <afx.h> #define KEY_WOW64_64KEY 256 long DeleteSubKeyTree(HKEY hKey, LPCTSTR lpSubKey) { LONG lResult; HKEY hSubKey; DWORD dwIndex, cbName; char szSubKey[5

顺序表程序实现

由于线性表中每个数据元素的类型相同,可以用C或C++语言中的一维数组来实现顺序表. #include<iostream>using namespace std;#define LIST_INIT_SIZE 50class SqList{int *elem;//存′?储′¢空?间?基ù址·int length;//当μ±前°长3¤度èint listsize;//当μ±前°分·?配?的μ?存′?储′¢容èY量á?public:    SqList(int leng);    int Locate

【LOB】使用USER_LOBS视图获得当前用户包含LOB字段的表

包含LOB类型字段的表往往需要特殊关照,如何快速的获得包含LOB对象的数据库表?使用DBA_LOBS.ALL_LOBS和USER_LOBS视图可以很方便地获得包含BLOB或CLOB字段的表. 简单看一下效果. 1.创建两个包含LOB类型字段的表T1和T2[email protected]> create table t1 (a clob); Table created. [email protected]> create table t2 (a blob); Table created. 2.

python Day 4 :员工信息表程序

员工信息表程序,实现增删改查操作: 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select  * from staff_table where dept = "IT" select  * from staff_table where enroll_date like "2013" 查到的信息,打印后,最后面还要显示查到的条数 可创建新员工纪录,以phone做唯一键,s

第四周作业 员工信息表程序

员工信息表程序,主要用到知识点: 1.文件的读写操作 2.程序目录规范化 3.不同目录间文件的调用 本周学习内容: 一.序列化和反序列化 序列化:字典等类型变成字符串存到内存. a.json.dumps(变量)(字典等简单类型的序列化): b.pickle.dumps(变量)  (只针对本语言的函数等所有类型的序列化) 反序列化:内存的字符串变成字典等类型读出来. a.可以用eval()针对字典类型: b.json.loads(f.read()): c.pickle.loads(f.read()