Script Recording & Playback for Dummies (from SCN)

Link :  http://scn.sap.com/docs/DOC-57020

This document will explain how to automate the execution of steps in SAP using the Script Recording and Playback.

You should be able to make your own script by following this document. It is not necessary to have programming knowledge.

You can use Script to automate business transactions, to automate master data creation, to automate configuration, etc..

Some comments about SAP Script Recording and Playback:

  • This is an interface exposed by SAP GUI.
  • It is a standard SAP tool and could available or disable.
  • Can make life easier for users by automating repeating tasks.

1- Generate the Script (*.vbs)

The Script file can be generated automatically by recording the steps executed in SAP.

The following screenshots show how to create the main script file in a few minutes or even second:

It is important to select the file extension .vbs:

Once you press Start Recording, you will see this indicator at the bottom of the screen:

Execute
the transaction that you want to save in the script. Depending on what
you are trying to automate, you will need to enter the SAP tcode with
/n. If you do this you will leave and you will access the t-code again
in each iteration.

Enter all the fields that you are going to automate:

Once
one iteration is completed, press Stop Recording. This will complete
the generation of the Script and the file will be saved in the selected
Path:

2- Enhance the Script (*.vbs) to allow the automation via Excel

Find and open with the Notepad the Script file generated in the previous step.

To allow the automation, it is necessary to do two things:

  • Add two blocks of programming code
    in the vbs: There is no need to understand how to program a script. The
    code is always the same. The only thing that could change is the number
    of columns used in the excel. In this example we are going to use 5
    columns.

This is the code of each block of code. If you need to add columns in the excel, you will need to add the sentence in red color:

Block of code: Block A

REM ADDED BY EXCEL *************************************

Dim objExcel
Dim objSheet, intRow, i
Set objExcel = GetObject(,"Excel.Application")
Set objSheet = objExcel.ActiveWorkbook.ActiveSheet

For i = 2 to objSheet.UsedRange.Rows.Count
COL1 = Trim(CStr(objSheet.Cells(i, 1).Value)) ‘Column1
COL2 = Trim(CStr(objSheet.Cells(i, 2).Value)) ‘Column2
COL3 = Trim(CStr(objSheet.Cells(i, 3).Value)) ‘Column3
COL4 = Trim(CStr(objSheet.Cells(i, 4).Value)) ‘Column4
COL5 = Trim(CStr(objSheet.Cells(i, 5).Value)) ‘Column5

COL6 = Trim(CStr(objSheet.Cells(i, 6).Value)) ‘Column6

REM ADDED BY EXCEL *************************************

Block of code: Block B

REM FINALIZATION CONTROL CHECK ************************

aux=col1 & " " & col2 & " " & col3  & " " & col4 & " " & col5  & " " & col6
CreateObject("WScript.Shell").run("cmd /c @echo %date% %time% " & aux & " >> C:\SCRIPT\PlOrCreationLog.txt")
next
msgbox "Process Completed"

REM FINALIZATION CONTROL CHECK ************************

  • Replace the "hardcoaded code" by the Columns#:

This is the final code of the Script (in red color the text added):

If Not IsObject(application) Then
   Set SapGuiAuto  = GetObject("SAPGUI")
   Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
   Set connection = application.Children(0)
End If
If Not IsObject(session) Then
   Set session    = connection.Children(0)
End If
If IsObject(WScript) Then
   WScript.ConnectObject session,     "on"
   WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]").maximize

REM ADDED BY EXCEL *************************************

Dim objExcel
Dim objSheet, intRow, i
Set objExcel = GetObject(,"Excel.Application")
Set objSheet = objExcel.ActiveWorkbook.ActiveSheet

For i = 2 to objSheet.UsedRange.Rows.Count
COL1 = Trim(CStr(objSheet.Cells(i, 1).Value)) ‘Column1
COL2 = Trim(CStr(objSheet.Cells(i, 2).Value)) ‘Column2
COL3 = Trim(CStr(objSheet.Cells(i, 3).Value)) ‘Column3
COL4 = Trim(CStr(objSheet.Cells(i, 4).Value)) ‘Column4
COL5 = Trim(CStr(objSheet.Cells(i, 5).Value)) ‘Column5

REM ADDED BY EXCEL *************************************

session.findById("wnd[0]/tbar[0]/okcd").text = "/nmd11"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtRM61P-PASCH").text = COL1
session.findById("wnd[0]/usr/ctxtRM61P-PASCH").caretPosition = 2
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtPLAF-MATNR").text = COL2
session.findById("wnd[0]/usr/ctxtPLAF-PLWRK").text = COL3
session.findById("wnd

[0]/usr/tabsTABTC/tabpTAB01/ssubINCLUDE1XX:SAPLM61O:0711/subINCLUDE711_1:SAPLM61O:0802/txtPLAF

-GSMNG").text = COL4
session.findById("wnd

[0]/usr/tabsTABTC/tabpTAB01/ssubINCLUDE1XX:SAPLM61O:0711/subINCLUDE711_1:SAPLM61O:0802/ctxtPLA

F-PSTTR").text = COL5
session.findById("wnd

[0]/usr/tabsTABTC/tabpTAB01/ssubINCLUDE1XX:SAPLM61O:0711/subINCLUDE711_1:SAPLM61O:0802/ctxtPLA

F-PSTTR").setFocus
session.findById("wnd

[0]/usr/tabsTABTC/tabpTAB01/ssubINCLUDE1XX:SAPLM61O:0711/subINCLUDE711_1:SAPLM61O:0802/ctxtPLA

F-PSTTR").caretPosition = 10
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[0]/btn[11]").press

REM FINALIZATION CONTROL CHECK ************************

aux=col1 & " " & col2 & " " & col3  & " " & col4 & " " & col5
CreateObject("WScript.Shell").run("cmd /c @echo %date% %time% " & aux & " >> C:\SCRIPT

\PlOrCreationLog.txt")
next
msgbox "Process Completed"

REM FINALIZATION CONTROL CHECK ************************

3- Maintain the Excel file

Enter
all the data to be used in the automation. The script will always start
reading from the second line. Use the first line for the header:

Important: Only one excel file should be opened to execute the Script

4- Script Execution

Remember the previous message: Only one excel file should be opened to execute the Script

Keep your Excel file opened. Open the Script Recording and Playback toolkit, Select the path and the file and press Play...

You will see how it works!!

5- Enableling SapScript Recording and Playback

SAP Script Recording and Playback is disable by Default.

It can be enable using a profile parameter. Note 480149 describes the requirement to enable this functionality:

480149
- New profile parameter for user scripting at the front end

The sapgui/user_scripting parameter is imported again. If this parameter is
set to TRUE, the scripting functions can be used with a GUI as of
version 6.20 on the front end.

The default value of the parameter
is FALSE so that scripting to the system is not possible.

Note
that you must enter the values in upper case;

There are 2 options for
setting the parameter: In transaction rz11 and in the server profile. If the
parameter is only set in rz11, the change is lost when you restart the
server.

Setting the parameter in the SAP
system
===============================================

If possible,
dynamic setting of the parameter is executed using transaction rz11. Specify the
parameter name sapgui/user_scripting and select ‘Display‘.
Provided that the
current value is set to FALSE, select the ‘Change value‘ button in
the toolbar. A window now appears, in which you can enter the new value
TRUE. When you save the change, the window closes and the current value
of the parameter changes to TRUE. This change only becomes effective when
you log onto the system again.

If the parameter is not found, you must
import the relevant Support Package in accordance with the list below.

If
the current value does not change accordingly after you have saved the change,
it means that the kernel is too old. In this case, import the required kernel
patch, as specified below.

Setting the parameter in the server
profile
======================================

If you have not
imported the Support Package, you can switch the scripting on if you set the
parameter in the profile file of the application server with the following
line:
sapgui/user_scripting = TRUE
This procedure only requires the
specified kernel patch level, however, you must restart the application
server.

时间: 2024-08-24 16:14:50

Script Recording & Playback for Dummies (from SCN)的相关文章

Linux Cmd Tool 系列之—script & scriptreplay

Intro Sometime we want to record cmd and outputs in the interactive shell sessions. However history cmd cannot do this. So we need cmd line recording tool like script and scriptreplay. References Master's Shoulder:How to Record and Replay Linux Termi

性能工具列表

Load and Performance Test Tools BrowserMob- On-demand, self-service, low-cost, pay-as-you-go service enables simulation of large volumes of real browsers hitting a website. Utilizes Amazon Web Services, Selenium. Uses real browsers for each virtual u

关于JSONP的一些易忽略的细节

本人前端渣渣,本文记录的是开始自学时,我自己容易混淆和忽略的细节... 1-JSONP,javascript object notation with padding,翻译成中文就是“参数式JSON”.“填充式JSON”.有没有霍然开朗?好多书里翻译成“有填充的JSON”,意思正好相反,害人不浅. 2-JSONP本质就是一个前后端商量好的协议,至今没有被W3C官方认可,但确是当今最流行的跨域手段.W3C官方认可的是CORS. 3-JSONP的原理只有两点:一.动态建立script标签实现异步.二

【ros】.bag文件

Bags are typically created by a tool like rosbag They store the serialized message data in a file as it is received http://pr.willowgarage.com/ 这里可以下载bag 使用bag文件作为静态输入的时候,要考虑bag和当前电脑的时间不一致的问题 参考了这篇博客关于时间问题的设置 http://blog.csdn.net/akunainiannian/artic

Android : 获取声卡信息的测试代码

完整的编译包(android平台): 链接:http://pan.baidu.com/s/1qXMTT7I 密码:2bow /* * ALSA parameter test program * * Copyright (c) 2007 Volker Schatz (alsacap at the domain volkerschatz.com) * * Permission to use, copy, modify, and/or distribute this software for any

关于oracle db 11gR2版本上的_external_scn_rejection_threshold_hours参数和scn headroom补丁问题

来自于: Installing, Executing and Interpreting output from the "scnhealthcheck.sql" script (文档 ID 1393363.1) 第一点: In addition to the above result the script output may advise to set the hidden parameter "_external_scn_rejection_threshold_hours

ORA-19706: invalid SCN

今天现场dblink报ORA-19706: invalid SCN,数据库版本都是11.2.0.4.查了下metalink,大致意思是通过dblink访问的时候,两个数据库会做scn号的同步,SCN Headroom的结果必须要比参数_external_scn_rejection_threshold_hours的值大才行.    Installing, Executing and Interpreting output from the "scnhealthcheck.sql" scr

关于oracle db 11gR2版本号上的_external_scn_rejection_threshold_hours參数和scn headroom补丁问题

来自于: Installing, Executing and Interpreting output from the "scnhealthcheck.sql" script (文档 ID 1393363.1) 第一点: In addition to the above result the script output may advise to set the hidden parameter "_external_scn_rejection_threshold_hours

查看scn headroom变化趋势的几种方法

scn headroom问题,本文不做解释. 本文为自己的总结,脚本来自于oracle sr技术工程师. 转载请注明出处http://blog.csdn.net/msdnchina/article/details/38404501 第一个方法:查询smon_scn_time表获得. conn / as sysdba set numwidth 17 set pages 1000 alter session set nls_date_format='DD/Mon/YYYY HH24:MI:SS';