Wednesday, May 9, 2012

SAP User Client GUI Emulation


Here is a concise yet in-depth explanation on emulating SAP user client interfaces for emulating user load needed for performance testing and measurement.


ABAP User Interfaces

    The classic version of SAP R/3 involves having SAPGUI "thick client" program installed on user computers. This communicates with the SAP web server using RFC (Remote Function Call) protocol via standard TCP/IP sockets.
    Each user maintains a unique and separate session with the database.
    user-facing technologies: Web Dynpro, Java Dynpro, Adobe Forms, HTMLB, BSP, JSP
    The standard Web user interface is Web Dynpro (Web Dynamic Program).
    Java Dynpro (Dynamic Program).
    Business Server Pages (BSP), like Microsoft's ASP (Active Server Pages) and JSP (Java Server Pages), dynamically (at run-time) replaces markup tags in HTML with values associated with variables.
     SAP's Documentation for SAP Getting Started with Netweaver 2004s, 2004, and 6.30.
    SAP Interactive Forms by Adobe

Go to Top of this page.
Next topic this page

Set screen Functional Testing

    SAP's Extended Computer Aided Test Tool (eCATT) is used to modify and import customer-specific master data into an SAP system. It's access from Transaction code SECATT or Menu path Tools > ABAP Workbench > Test > Test Workbench > Test Tools > Extended CATT.
    SAP's Best Practices Installation Assistant automates system configuration steps by activating a project that performs the installation based on text files, takes a fraction of the time instead of manually clicking through roles.
    Integrating ECATT & Mecury QTP Part 1Part 2Part 4.
 

    Consulting organizations offering services in SAP testing include:
     Symmetry
 
Go to Top of this page.
Next topic this page

Set screen Communications Drivers

    RPC (Remote Function Call) protocol

Go to Top of this page.
Next topic this page

Set screen Preparations for Scripting

    There are settings on both the server and client to enable record through SAPGUI (using eCATT, QTP, or LoadRunner).
    On the client you will get an error message unless you run the SAPGUI Front-End installer NWSAPSetup.exe within folder "C:\Program Files\SAP\SapSetup\setup".
    On the server you will get a "The Scripting API option is not enabled" message unless you log in with administrator privileges and use SAPGUI to invoke SAP transaction "RZ11". Specify Parm Name, "sapgui/user_scripting" and set its Current Value to "TRUE". On development machines this setting should be the default so that this doesn�t need to be manually reset after every SAP server reboot. At many companies the SAP Basis Team (server administrator) does this.
 

Go to Top of this page.
Next topic this page

Set screen LoadRunner SAPGUI Recording Protocol

    The README file that comes with the LoadRunner 8.1 installer had this to say:
    The SAPGUI protocol supports APO 3.0, 3.1, and 4.0 (Supply Chain Management).
    The SAP Web protocol supports Portal 5.0, 6.0, and Business Professional 3.0, 3.5.
    The SAP monitor supports WAS 6.2 servers, such as R/3 4.7 and BW 3.1.
    • SAPGUI Protocol Enhanced Usability
    ActiveScreen: The following features are designed for handling dynamic screens and errors:
    - highlight recorded objects in the ActiveScreen
    - add a step or parameter from the ActiveScreen
    - copy an ID control from the ActiveScreen
    Record at Cursor: Recording from any point in the script in either insert or overwrite mode:
    - increases script life-cycle
    - helps record complex business processes in a few parts
    Automatic logon: Keeping the logon information saves the stage of logon for each recording.
    Thumbnail tree view: New view provides the ability to specify optional screen steps, password encryption, parameter encryption.
    Snapshot on Error: Snapshots help pinpoint errors and simplify debugging.
    Table Parameters: Table type parameters provide the ability to fill an entire table with a single command.
    Optional Windows: This feature handles screens which may appear during replay and allows the Vuser script to continue running even if an optional window does not appear.
    • SAP Web Protocol Enhanced Usability
    Supports filtering of external URLs

Go to Top of this page.
Next topic this page

Set screen LoadRunner Commands

    The SAP Add-in for LoadRunner provides several sapgui specific functions.
    A recording of the SAPGUI front end client connecting and logging into the server captured these functions:
      sapgui_open_connection_ex(
      sapgui_select_active_connection("con[1]");
      sapgui_select_active_session("ses[0]");
      sapgui_select_active_window("wnd[0]");
      sapgui_window_resize(
      sapgui_logon(
    When a SAP transaction/command is specified:
      sapgui_set_ok_code(
      sapgui_send_vkey(F4,

      sapgui_select_menu
      sapgui_press_button("Enter Times (F5)", btn5,
      sapgui_select_tab and sapgui_is_tab_selected
      sapgui_select_active_window("wnd[1]");
      sapgui_window_scroll_to_row("0",
    Actions on a data entry screen:
      sapgui_set_focus(ctxtBSEG1,
      sapgui_set_text("Text", "{Text}", ctxtBSEG1,
      NOTE: Variable-length strings (defined as char*) are automatically created during recording within lr_strings.h for reference in commands.

      sapgui_set_password(
      sapgui_set_checkbox( and sapgui_is_checkbox_selected
      sapgui_select_radio_button( and sapgui_is_radio_button_selected
      sapgui_select_combobox_entry(
      sapgui_table_fill_data("Table", tblSAPLCATSTC_CATSD2, "{data}",
    Verification functions:
      sapgui_get_active_window_title(
      sapgui_get_ok_code( in the Command field text
      sapgui_get_text(
      sapgui_get_status_bar_text(
      sapgui_grid_get_cell_data(
      sapgui_grid_get_rows_count(

Go to Top of this page.
Next topic this page

Set screen Web Services

    IDoc (intermediate document) provide a standard data container structure for SAP to exchange data between processes, such as asynchronous EDI (electronic data interchange) between application programs written for SAP or between an SAP application and an external program.
    IDocs is the vehicle for data transfer in SAP's Application Link Enabling (ALE) layer.
    Different types of IDoc are used for purchase orders or invoices.
    In other words, an IDoc encapsulates data so that it can be exchanged between different systems without conversion from one format to another. Each IDoc generated exists as a self-contained text file that can then be transmitted to a receiver (requesting workstation) without connecting to the central database.
    There are several types of IDoc records: a single Control Record, one or many Data Records, and one or many Status record. Segments and attributes of segments (maximum number, hierarchical sequence, segment status, etc.) are used for interpretating the SDATA field in the data record. Each IDoc consists of several segments and a unique number assigned each iDoc for tracking and future reference. Each segment contain several fields.
    IDoc data is then converted by SAP's EDI subsystem to a universal EDI standard such as UN/EDIFACT (Electronic Data Interchange for Administration, Commerce, and Trade) or ANSI/X12.
    Business Application Programming Interface (BAPI) is used for synchronous communication method sRFC because data usually is returned to the sending system.
    BAPI methods are stored as RFC-capable function modules in the ABAP Workbench Function Builder accessing the SAP Business Object Repository (BOR).

No comments:

Post a Comment