+ All Categories
Home > Documents > Script Recording & Playback for Dummies_SCN

Script Recording & Playback for Dummies_SCN

Date post: 02-Jun-2018
Category:
Upload: vibinvjoseph
View: 219 times
Download: 0 times
Share this document with a friend

of 15

Transcript
  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    1/15

    Generated by Jive on 2014-11-04+01:00

    1

    Script Recording & Playback for Dummies

    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:

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    2/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    2

    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:

    http://scn.sap.com/servlet/JiveServlet/showImage/102-57020-3-514884/SCRIP04.jpg
  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    3/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    3

    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:

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    4/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    4

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    5/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    5

    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:

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    6/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    6

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

    Find and open with the Notepad the Script generate in the previous step.

    http://scn.sap.com/servlet/JiveServlet/showImage/102-57020-3-514889/SCRIP09.jpg
  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    7/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    7

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

    Add two blocks of programming codein the vbs: There is no need to understand how to programa 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.

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    8/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    8

    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.ActiveSheetFor 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

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    9/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    9

    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#:

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    10/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    10

    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, iSet 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)) 'Column5REM 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

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    11/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    11

    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

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    12/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    12

    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!!

    http://scn.sap.com/servlet/JiveServlet/showImage/102-57020-3-515581/SCRIP13.jpg
  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    13/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    13

    5- Enableling SapScript Recording and Playback

    SAP Script Recordingand 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

    setto 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 FALSEso 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

    http://service.sap.com/sap/support/notes/480149http://service.sap.com/sap/support/notes/480149http://service.sap.com/sap/support/notes/480149
  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    14/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    14

    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 isset to FALSE, select the 'Change value' button in

    the toolbar. A window now appears, in which you can enter the newvalue

    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

  • 8/10/2019 Script Recording & Playback for Dummies_SCN

    15/15

    Script Recording & Playback for Dummies

    Generated by Jive on 2014-11-04+01:00

    server.


Recommended