点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我仍在尝试自己学习ABAP-我正在尝试创建一个程序,在该程序中我可以在一个表中搜索值,就像我在检查其他三个表后,它会为我提供值 在SE16N中。
当前,我在SE16N中执行以下步骤。
1ºSE16N:表AGR_1251并满足以下条件:AGR_1251-OBJECT = S_TCODE; AGR_1251-FIELD = TCD; AGR_1251-LOW =我要查找有权访问所有事务的用户(超过1个)的事务。 在这里,我要获取" AGR_1251-AGR_NAME"的结果。
2ºSE16N:表AGR_1016包含先前搜索的结果,并满足以下条件:AGR_1016-AGR_NAME =(第一次搜索的结果)。 在这里,我想获取信息AGR_1016-PROFILE。
3ºSE16N:将在步骤2中找到的结果与表UST04结合起来,如下所示:UST04-PROFILE =(第二次搜索的结果)。 在这里,我想获取信息UST04-BNAME。
4ºSE16N:表USR02及其第3步的结果如下:USR02-BNAME =(第三次搜索的结果),USR02-CLASS = TEST。
目标是找到可以访问多重交易的通用测试用户,因为SUIM可以一一检查,有时我需要这些用户可以访问5个或6个以上的交易。
我已经开始了,但是据我所知,我将在下面分享我的知识,我知道这将需要很多时间,但是如果有人可以帮助我会很有帮助。
报告ZUSERTEST。
表:USR02,UST04,AGR_1016,AGR_1251。
数据:USR02的T_USR02类型表。
数据:UST04的T_UST04类型表。
数据:AGR_1016的T_AGR_1016类型表。
数据:AGR_1251的T_AGR_1251类型表。 br> DATA:W_AREAUSR02类型USR02。
选择选项:A__1251-LOW的S_TCODE。
开始选择。
SELECT *
从AGR_1251到表T_AGR_1251 LOW = S_TCODE。
如果sy-subrc EQ0。
按AGR_NAME排序T_AGR_1251。
从T_AGR_1251的AGR_NAME中删除相邻重复项。
ENDIF。
选择*
INTO 表T_AGR_1016来自AGR_1016,用于T_AGR_1251中所有条目,其中AGR_NAME EQ T_AGR_1251-AGR_NAME。
如果sy-subrc EQ0。
SORT T_AGR_1016按概要文件。
从PROJECT_PROFILE中删除相邻的副本
选择*
从UST04到T_AGR_1016中所有条目的表T_UST04 PROFILE EQ T_AGR_1016-PROFILE。
如果sy-subrc EQ0。
按BNAME排序T_UST04。
从T_UST04比较BNAME中删除相邻的副本。
ENDIF。
选择*
>将US_02的表T_USR02插入T_UST04中BNAME EQ T_UST04-BNAME和USR02-CLASS EQ TEST中的所有条目。
IF sy-subrc EQ0。
按BNAME排序T_USR02。
ENDIF。
让我知道这是否有效,如果无效,您会遇到什么语法错误,拥有什么NW版本(7.4x或7.5x)。
一旦在一张表中有了所需的信息,就可以使用OO SALV来显示它。 请参阅报告SALV_DEMO_TABLE_REAL_SIMPLE进行演示,并使用以下代码:
感谢您访问SAP社区以获取问题的答案。 由于您是第一次在这里提出问题,因此建议您熟悉 https ://community.sap.com/resources/questions-and-answers (如果您还没有的话),因为它提供了准备问题的技巧,这些问题引起了我们成员的反馈。
如果您愿意,可以先选择"操作",然后再"编辑"来修改您的问题(尽管一旦有人回答了您的问题,您将失去编辑问题的能力-但是,如果发生这种情况,您可以在" 评论)。 在编辑时,还可以使用"插入代码"按钮使问题的这一部分更易于阅读。 您将在问题工具栏中找到该按钮-右侧的最后选择。
最后,如果您希望与读者建立联系,请考虑在您的个人资料中添加图片。 操作方法如下: https://www.youtube.com/watch?v = F5JdUbyjfMA&list = PLpQebylHrdh5s3gwy-h6RtymfDpoz3vDS 。 通过使用您的照片来个性化您的个人资料,可以鼓励读者做出回应。
亲切的问候,
-Jerry
首先,学习ABAP的案例研究非常奇怪。 接下来,您基本上希望我们查看整个代码!!
提示:首先是select语句。当您使用选择选项中的数据从表中进行选择时。您需要使用" IN"而不是 'EQ'...
从AGR_1251到S_TCODE都很低的INT表T_AGR_1251。
那么我只能说您需要调试并在自己的代码中查找问题。/p>
乔斯·戈麦斯,请继续回答您提出的问题。
Jose Gomes ,
建议您从简单的程序开始 学习ABAP,可以使用很多材料。
关于您的程序行,除了上面给出的更正之外,还请考虑以下几点:
1)试试
2)仅在SELECT字段中仅获取必需的字段,请勿使用select *。
2)寻找用于联接表的选项,始终尝试最小化数据库提取。 p>
3)在编写"所有条目"之前,请检查表是否不是初始表。 这非常重要,因为如果内部表不包含任何值,则您的select语句将从表中获取所有条目。
既然您现在就开始使用,我建议您注意一下
注意:当您将代码粘贴到SCN中时,请下次使用CODE选项。
注意!
一周热门 更多>