abap 帮助文档 中文_一些能提高ABAP开发人员日常工作效率的ABAP小工具

5bd449a27b8b46d5aa3ea2af3a414fe9.png

I write some small ABAP tools for my daily work. Some of them might not be so useful at first glance – I just write them for fun. Some of them could be used to improve work efficiency, to just reduce several mouse clicks – I am too lazy

Tcode Usage Statistics Tool

This 56 lines of report can print the tcode usage for a given user per month.

REPORT 

For example if you would like to check the tcode usage for user WANGJER during March 2017, you have to just choose any date in March and execute:

2a80719b50a22727b6ff746faa4bd8f0.png

It shows I have used SAT for 692 times. Looks like I have some performance trouble on March?

85dc88b97c9be5ee018e17e4355219ce.png

The similar function could be found in tcode ST03N.

ABAP Class Version Browse Tool

ABAP workbench has built-in version management tool.

The version comparison could only be performed against two version at a time.

d4052ec62d55d5817df2ac81f83c836a.png

Sometimes I have the requirement to do some pure text analysis on the source code version, for example I need to figure out on which version a variable is introduced. So I write this small tool, which can downloads all the versions of source code into a text file, then I can simply use text analysis tool to fulfill my query.

Execute this 38 lines of tool and it will print out the source code of all versions of specified method.

REPORT 

d736cb9369911cdd8d6e4e11002a0686.png

The left task is to download it locally via Workbench:

90427820f1ec3145eb40000ffa3ed972.png

Now I can review all the 77 versions of this method in a single text file.

7d6ff954841a0a0bf34d09d754773a75.png

Sublime Text is my favorite local text editor, as you can see from above screenshot there is also ABAP plugin for it to display ABAP source code with correct syntax highlight. In Sublime Text it is possible to open the same file in separate two views so it is very convenience for me now to compare any two versions within the same editor window.

4b63190069a2729a4950cac135c78afc.png

Development History Trace Tool

For example if I would like to recall what I have changed between 2017-03-01 and 2017-03-25, I can simply execute this 67 lines of reports:

PARAMETERS

c99751df5144985e0f8868b09bb527dc.png

Double click on each entry, and ABAP editor will be opened to allow me to review the source code of chosen entry.

e2005f69bbda239b1a7d0bd4d2d23b35.png

This tool is especially useful for me as when I grow old, sometimes I didn’t remember what I have changed several days ago, and if I only make changes on Z objects then there will be no log in transport requests. Use this tool and I can immediately realize what I have changed for a given time interval.

Execute some transaction code without logging on to backend system

Suppose I am too lazy to log on a backend system to execute transaction code SM04. Then I can trigger it in excel and review result there as well.

Then I just create an excel with Macro enabled ( .xlsm ), put a button and assign the following VB code to it:

33103797318afee366d53c9a2ef5d7e7.png
Sub 

With this script I am calling function module TH_USER_LIST from excel, parse the result and display them in excel. Now I click the button, I can observe in ABAP system that the function module TH_USER_LIST is called:

b676d89a6885a6d94e3a9b90fe18db79.png

And result is displayed in excel:

3473c721c674bc346ce32d18e90527fb.png

XML difference compare tool

No need to download additional software to compare the different XML, as there is a standard class cl_proxy_ui_utils which can do this task for you. See the following sample code:

DATA

Execute the report and there will be a popup where the difference is displayed. The implementation of

Mischief: send a message to another online user

The function module TH_POPUP can generate a popup window for a given online dialog user. See example below:

a79207635c3c3607c6b1feb1d51edee9.png

Once executed, I will see a popup in my SAPGUI:

8c2058126ab6a508695b84b2acd5c218.png

I have then written a report using this FM. Once this report is executed, you can see a list of online users in current application server, which has the same content as in tcode SM04.

58f3cd6c39f04d3bcfe35ed1458196e5.png

Double click on a given user, and he / she will see a popup dialog in his SAPGUI. You can use this mischief report to greet your colleague, for example send a message like “hey guys, you’d better stand up and have a cup of coffee” after you see he / she has already debugged one issue for half an hour?

BSP page browse history tool

The title might be a little bit misleading. To be more exact, this tool lists all automatically generated ABAP classes for BSP pages accessed by a given user. Simply execute the report with a user name:

3bc34eba0d7d343f85536a8dcae35662.png

And detail browser list is displayed:

c273858e3563a5e709a7a84c35d6f892.png

You can find more background information regarding BSP and JSP, and also the source code of this tool from my blog JSP attribute tag used in Hybris UI implementation and counterpart in ABAP BSP.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

92ce6b3143b7e3f35d2fc3eeeb9b4e53.png
ABAP幫助文檔,中文版 第一部份,ABAP/4基础 ABAP/4用户指南的第一部分描述了ABAP/4编程语言的基本组件。它们允许用户编写并运行包括所有主要操作的ABAP/4 程序。用户可以使用这些知识编写应用程序。 在第一部分的下列章节中,您将学习: 一、 ABAP/4程序结构: (一)、创建简单的ABAP/4程序 (二)、ABAP/4程序语法和格式 二、 数据处理: (一)、声明数据 (二)、将数据输出到屏幕 (三)、处理文本摘要 (四)、处理数据 三、 流控制:控制ABAP/4程序流 四、 特殊编程技术: (一)、创建和处理内表 (二)、模块化ABAP/4程序 (三)、使用字段符号 五、 存储数据: (一)、读取并处理数据库表 (二)、以簇方式存储数据对象 (三)、使用文件 一、ABAP/4程序结构 (一)、创建简单的APAP/4程序 本节描述如何创建简单的ABAP/4程序。了解如何创建ABAP/4程序将有助于了解本指南中的其它主题。 创建简单的ABAP/4程序涉及下列基本步骤: 命名程序=>指定程序属性=>编写程序代码=>测试程序 另外,本节也描述如何显示或更改现有程序以及如何从编辑器中启动程序。 此处描述的创建新ABAP/4程序的过程适用于报表和短培训程序。在开始编写报表程序之前,用户也许想先创建报表和短培训程序以熟悉ABAP/4语法。要为新事务创建模块存储,可以采用不同于报表程序的方式进行。关于如何为事务创建模块存储的详细信息,参见《ABAP/4模块池》。 关于ABAP/4编辑器和调试过程的详细信息,参见文档ABAP/4工作台工具。 本节讲述下列主题: 1) 命名程序 2) 指定程序属性 3) 编写程序 4) 测试程序 5) 显示或更改程序 6) 将事务代码分配给程序 1)、命名程序 要创建ABAP/4程序,步骤如下:  在“SAP R/3”初始屏幕上选择“工具->ABAP/4工作台”。出现“ABAP/4开发工作台”屏幕  选择“ABAP/4编辑器”,“ABAP/4编辑器初始屏幕”如下所示:  为在“程序”字段中创建的程序输入名称(关于创建程序名称的详细信息,参见《命名程序规则》)。  选择“创建”。 不论在“对象组件”下选择什么,都出现“ABAP/4:程序属性”屏幕。当命名并创建程序后,可以定义其属性(关于定义程序属性的详细信息,参见《指定程序属性》)。 创建ABAP/4程序还有其它过程。例如,可以:  选择“ABAP/4开发工作台”屏幕上的“对象浏览”。  选择“对象列表”下的“程序”。  选择“单一对象”下的“程序对象”。  输入程序名并单击“显示”。如果程序不存在,则询问是否要创建它。关于对象浏览器及创建程序其它过程的详细信息,参见文档《ABAP/4工作台工具》。 命名程序规则:当创建程序名称时请遵循如下规则:  使用至少1个但不超过8个字符。  不要使用下列字符: 句点(.);逗号(,);空格( );括号'('')';单引号(');双引号("); 等号(=);星号(*);元音变音( , , , , , )和' ';百分号(%)和下划线(_): 因为这些符号是SQL语句的通配符,所以也会导致问题(参见《在程序中为行选择指定条件》)。 SAP建议在程序名称中不要使用它们。 创建程序名称时请遵守这些命名约定:  报表程序(以列表格式输出数据分析):Yaxxxxxx或Zaxxxxxx。用应用程序区的分类字母替换a。任何有效字符替换x。注意SAP报表程序遵守相似的命名约定:Raxxxxxx。  任何其它ABAP/4程序(培训程序或事务程序):SAPMYxxx或SAPMZxxx。用有效字符替换x。注意标准SAPABAP/4程序遵守相似的命名约定:SAPMaxxx,其中a代表某应用程序区。 2)、指定程序属性 程序属性决定程序属于哪种应用程序以及程序所链接的逻辑数据库。必须谨慎输入属性以便系统能正确处理程序(有关程序属性的详细信息,参见《重要的程序属性》)。 已经将名称分配给程序并选择“ABAP/4编辑器初始屏幕”上的“创建”时,出现“ABAP/4:程序属性”屏幕,要输入程序属性,请进行如下操作:  在字段“标题”中输入程序标题。选择描述程序功能的标题。系统自动将标题与文本摘要合并。如果以后要更改标题,请按如下操作进行:  选择“ABAP/4编辑器初始屏幕”上的“文本摘要”或“属性”。  选择“更改”。  完成两个强制字段:  如果创建报表程序,则在“类型”字段中输入1,如果创建模块存储,则在“类型”字段中输入M。关于可能类型的列表,请单击可能条目箭头。  在“应用程序”字段中为应用程序输入分类字母,如财务会计输入F。  如果创建报表(类型=1),请选择“确定”。系统将特定报表属性自动插入输入字段。然后看见附加字段“逻辑数据库”、“从应用程序”和“选择屏幕”(版本)。  指定与程序相关的所有其他属性(有关程序属性的详细信息,参见《重要的程序属性》)。  选择“保存”以保存属性。  出现“维护对象目录条目”窗口。  输入开发类。如果为培训或测试目的创建程序(如某私有对象),则输入开发类$TMP或选择“逻辑对象”。  选择“保存”以保存开发类。这将关闭“维护对象目录条目”窗口并返回“ABAP/4:程序属性”屏幕。  选择“后退”离开屏幕。如果要直接转到ABAP/4编辑器,请选择“转向->源代码”。 如果通过预定义开发类在“对象浏览器”中创建程序,则跳过步骤6到8。 重要的程序属性: 最重要的程序如下所述。关于其它属性的详细信息(或关于此处描述的属性的详细信息),请选择相关的输入字段,并单击可能的条目箭头。注意下述某些属性只适用于报表程序并不适用于其他ABAP/4程序。  类型:除了类型1(如同报表的独立程序)和M(模块存储),还应该注意类型I(包含程序)。包含程序是个独立的程序,它有两个主要特征。首先,它包含程序代码,不同程序都可使用该代码。其次,它用于模块化程序源代码,该代码分成逻辑相关部分。其中每个部分都存储在不同的包含程序中。包含程序改善源代码的可读性并有助于维护。(有关包含程序的详细信息,参见《包含程序》)。  应用程序:“应用程序”字段包括应用程序的缩写,如,财务会计缩写为F。该必需条目使系统能将程序分配给适当的业务区。  开发类:开发类对系统之间进行传输非常重要。执行传输时,可以将分配给某个开发类的工作台对象组合起来。如果用户在某组中工作,也许要将程序分配给现有开发类或创建新的开发类。分配给开发类$TMP的程序是私有对象并且不能传输到其他系统。但是,也可以通过选择“ABAP/4编辑器初始屏幕”上的“程序->重新分配...”更改分配给程序的开发类。  应用程序中的逻辑数据库(仅报表程序):这些属性决定报表使用哪个逻辑数据库检索数据,以及逻辑数据库属于哪个应用程序。应用程序中数据库名称必须是唯一的。但是,整个系统可以包括数个同名数据库。因此指定应用程序很重要。关于逻辑数据库的详细信息,参见《逻辑数据库的特征和维护》。如果报表程序直接读取数据,而未使用逻辑数据库(关于此主题的详细信息,参见《用逻辑数据库访问数据库表》),则应该象通常一样指定应用程序,但将“逻辑数据库”字段置空。  选择屏幕版本(仅报表程序):如果没有指定选择屏幕版本,则系统在逻辑数据库选择标准、报表特定参数及选择选项的基础上自动创建选择屏幕(关于选择屏幕的详细信息,参见《使用选择屏幕》)。如果想使用自己的选择屏幕,请在此字段中输入号码。该号码必须小于1000。可以通过按F4或在DBxxxSEL程序中找到现有选择屏幕号码(详细信息,参见《逻辑数据库选择》)。  大写/小写:显示和存储时,如果要让ABAP/4编辑器将程序代码与输入时保持相同,则请将该字段置空。如果选择该字段,则所有的程序代码(除了引号中的文本及注释外)都转换成大写字母。屏幕显示依赖于所使用的编辑器模式(详细信息,参见文档《ABAP/4工作台工具》。  编辑器锁定:如果设置此属性,则其他用户则不能修改、改名或删除程序。只有用户可以更改程序、维护属性、文本摘要及文档;或者解除锁定。  定点算术:如果设置此属性,系统则根据小数点位数将类型P字段四舍五入,或用零填补(关于类型P字段的详细信息,参见《数字数据类型》)。这种情况下,无论在用户主记录中指定了什么,小数点字符总是句点(.)。  通过变式启动(仅报表程序):如果设置该属性,则用户只可以使用变式启动报表程序。在启动程序之前,必须创建至少一个报表变式(关于创建变式的详细信息,参见《使用变体预设置选择》)。 3)、编写程序 在ABAP/4编辑器中编写ABAP/4程序。 可以直接从“ABAP/4程序属性”屏幕切换到编辑器,也可以从“ABAP/4编辑器初始屏幕”中调用编辑器。进行如下操作:  在“ABAP/4程序属性”屏幕上选择“转向->源代码”或“源代码”。选定“源代码”并选择“ABAP/4编辑器初始屏幕”上的“更改”。出现“ABAP/4编辑器编辑程序”屏幕。系统自动输入第一个ABAP/4 语句,如:REPORT or PROGRAM. 对于,系统使用在“ABAP/4编辑器初始屏幕”上输入的名称。 语句REPORT和PROGRAM实际上具有相同功能。它们使系统能识别报表程序或任何其他ABAP/4程序并允许为输出列表指定一定的标准: REPORT或PROGRAM语句可以有不同的参数,如LINE-SIZE、LINE-COUNT或NOSTANDARD PAGE HEADING。这些参数主要适用于报表程序,用来分析数据并输出结果列表。关于列表的详细信息, 参见《创建列表》或参见《REPORT和PROGRAM上的关键字文档》。  输入程序代码。  选择“检查”进行语法检查。然后系统扫描程序代码寻找语法错误及不相容处。如果检查出错误,则出现消息报告它并且有可能的话将建议解决方案或更正。将光标放在适当的位置上。  选择“保存”保存代码。源文本存储在程序库中。 4)、测试程序 测试程序检查代码是否正确工作。 为测试目的要运行程序,选择“ABAP/4编辑器编辑程序”屏幕上的“程序->执行”。 系统执行该程序,如同从“ABAP/4编辑器初始屏幕”中启动的一样。例如,创建报表程序之后,则首先出现从中输入条件的选择屏幕,然后是结果列表。 如果正创建ABAP/4程序模块,则必须在运行程序之前创建事务代码(关于创建事务代码的详细信息,参见《对话编程简介》)。 出于测试目的,可以先不进行保存,直接运行某个不是模块存储部件的程序。编辑器保留一个包含更改的临时版本。但是,测试结束后必须返回编辑器以确保所有更改都已保存。 5)、显示或更改程序 本节主要说明如何显示或更改现有程序。此处相关的是技术步骤而不是实际代码更改。 要显示或更改程序,请进行如下操作:  在“ABAP/4编辑器初始屏幕”上的“程序”字段中输入要更改的程序名称。  选择“源代码”并选择“显示”或“更改”。如果选择“更改”则继续步骤3。如果选择“显示”,则看到“ABAP/4编辑器显示程序”屏幕。此处也显示源代码,但不能进行更改。可以通过选择“显示->更改”切换到更改模式。  如果其他用户锁定该程序对编辑器的访问,则系统显示下列消息:User forbade all changes.在这种情况下,不能更改程序。要更改程序,必须将它复制到新程序中并用新程序名再开始步骤1。否则,继续步骤5。  输入对程序代码的更改。  选择“检查”检查语法。  保存程序的更改版本。如果更改程序的私有版本(开发类$TMP),则立即保存更改版本。如果从 $TMP之外的开发类更改程序,则会出现一个窗口,从中可以指定更正号。  运行程序测试它(关于测试的详细信息,参见《测试程序》)。 6)、将事务代码分配给程序 可以将事务代码分配给类型1的单独程序,以后就将这些程序作为事务代码处理。 在《编写ABAP/4事务》中对事务有说明。 进行如下操作:  按照本节上述主题所述,创建单独程序。  在“ABAP/4开发工作台”屏幕上选择“开发->其它工具->事务”。  填入事务名称并选择“维护事务”屏幕上的“创建”  在下列对话屏幕上选择“报表事务”  在下列“创建报表事务”屏幕上填入所需条目“事务文本”和“程序”。  将事务代码保存在开发类中。 ………………
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值