Share this page

# SAPGUI code samples (.NET SDK)

In this topic:

## Launch an SAP GUI session and run transactions

The following example uses GuiSession and GuiSessionFactory methods to launch a GuiSession and execute transaction codes.

    // The example below uses GuiSession and GuiSessionFactory
    // to launch a GuiSession and execute transaction codes.

    [Test]
    public void TestManipulatingGuiSession()
    {
           // Program flow:
           //  1. Launch a GuiSession from GuiSessionFactory.
           //  2. Execute transaction codes in the GuiSession.
           //  3. Return to the initial session window.
           //  4. Close the session.
           // Launch a GuiSession instance.
           IGuiSession session = GuiSessionFactory.Launch("ECC 6.0", "800", "qa01", "55c1b303f6a77cb79fcbb321af78eed77befc906");

           // Execute a transaction code and verify it is executed successfully.
           session.Reset(@"sbwp");
           Verify.AreEqual(@"Business Workplace of QA01", session.ActiveWindow, "Verify Transaction Code", "Verify that the transaction was executed successfully.");

           // Execute another transaction code and verify it is executed successfully.
           // Unlike IOKCode.Set(code), Reset method can be performed at any point.
           session.Reset(@"dwdm");
           Verify.AreEqual(@"Enjoy Demo Center: Display", session.ActiveWindow, "Verify Second Transaction", "Verify a second transaction was executed successfully.");

           // Return to the initial session window.
           session.Reset();
           Verify.AreEqual(@"SAP Easy Access", session.ActiveWindow, "Verify Return to Initial Session Windows", "Verify return to initial session windows by checking the session's active window.");

           // Exit the session.
           session.Close();
    }

Back to top

## Run a transaction using IOKCode

The following example uses IOKCode and IWindow methods to execute a transaction code.

    // The example below uses IOKCode, IWindow to execute a transaction code.

    [Test]
    public void TestOkCode()
    {
           // Program flow:
           //  1. Launch a GuiSession from GuiSessionFactory.
           //  2. Execute a transaction code in the IOKCode.
           // Launch a GuiSession instance.
           IGuiSession session = GuiSessionFactory.Launch("ECC 6.0", "800", "qa01", "55c1b303f6a77cb79fcbb321af78eed77befc906");

           // Describe the parent window and the OKCode objects.
           var window = session.Describe<IWindow>(new WindowDescription
           {
    		Transaction = @"SESSION_MANAGER",
    		Program = @"SAPLSMTR_NAVIGATION",
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.MainWindow,
    		Name = @"wnd[0]"
           });

           var okCode = window.Describe<IOKCode>(new OKCodeDescription
           {
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.OkCodeField
           });

           // Enter the transaction code in the OKCode field.
           okCode.SetValue(@"sbwp");

           // Commit the transaction by clicking the Enter key.
           window.SendKey(SapFunctionKey.Enter);

           // Verify navigation to the correct session window.
           Verify.AreEqual(@"Business Workplace of QA01", session.ActiveWindow, "Verify Correct Navigation", "Verify navigation to the correct session window.");

           // Exit the session.
           session.Close();
    }

Back to top

## Set data for a table cell

The example below uses ITreeView, ITreeViewNode, ITable, ITableRow, and ITableCell methods to activate an item in the tree node, to navigate to a table object, and set data for the table cells.

    // The example below uses ITreeView, ITreeViewNode, ITable, ITableRow, and ITableCell
    // to activate an item in the tree node, to navigate to a table object, and set data for the table cells.

    [Test]
    public void TestTreeViewAndTable()
    {
           // Program flow:
           //  1. Launch a GuiSession from GuiSessionFactory.
           //  2. Navigate to a ITreeView object of type ColumnTree.
           //  3. Activate an item in a TreeView Node.
           // Launch a GuiSession instance.
           IGuiSession session = GuiSessionFactory.Launch("ECC 6.0", "800", "qa01", "55c1b303f6a77cb79fcbb321af78eed77befc906");

           // Navigates to the session window where holds the tree view control.
           session.Reset(@"dwdm");

           // Describe the tree view control.
           var treeView = session.Describe<IWindow>(new WindowDescription
           {
    		Transaction = @"DWDM",
    		Program = @"SAPMSDM1",
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.MainWindow,
    		Name = @"wnd[0]"
           }).Describe<ITreeView>(new TreeViewDescription
           {
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.CtrlTree,
    		Name = @"shell"
           });

           // Build the path to the node.
           var nodePath = treeView.BuildNodePath(@"Workbench Demos", @"Interface Elements", @"Table Control");

           // Get the node object.
           var treeViewNode = treeView.GetNode(nodePath);

           // Navigate to the table object.
           treeViewNode.ActivateItem(@"Table Control");

           // Describe the table.
           var table = session.Describe<IWindow>(new WindowDescription
           {
    		Transaction = @"DWDM",
    		Program = @"RSDEMO_TABLE_CONTROL",
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.MainWindow,
    		Name = @"wnd[0]"
           }).Describe<ITable>(new TableDescription
           {
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.TableControl,
    		Name = @"RSDEMO_TABLE_CONTROLTABLE_CONTROL"
           });

           // Verify the value of a table cell.
           Verify.AreEqual(@"American Airlines", table.Rows[0].Cells[0].Value, "Verify Cell Value", "Verify that the cell value has coorect value.");
           // Set the value of the table cell.
           table.Rows[0].Cells[0].SetValue(@"Lauda Air");

           // Verify value set.
           Verify.AreEqual(@"Lauda Air", table.Rows[0].Cells[0].Value, "Verify Value Was Set", "Verify that the expected value was set.");

           // Exit the session.
           session.Close();
    }

Back to top

## Set an edit box value

The following example uses IEditField to set a value for a SAP GUI edit box.

    // The example below uses IEditField to set a value for a SAP GUI edit box.

    [Test]
    public void TestEditField()
    {
           // Program flow:
           //  1. Launch a GuiSession from GuiSessionFactory.
           //  2. Navigate to the edit box.
           //  3. Set a value for the editbox.
           // Launch a GuiSession instance.
           IGuiSession session = GuiSessionFactory.Launch("ECC 6.0", "800", "qa01", "55c1b303f6a77cb79fcbb321af78eed77befc906");

           // Execute a transaction code to navigate to the editbox.
           session.Reset(@"bibs");

           // Describe the editbox.
           var editField = session.Describe<IWindow>(new WindowDescription
           {
    		Transaction = @"BIBS",
    		Program = @"SAPLEXAMPLE_ENTRY_SCREEN",
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.MainWindow,
    		Name = @"wnd[0]"
           }).Describe<IEditField>(new EditFieldDescription
           {
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.TextField,
    		Name = @"F1"
           });

           // Set text for the editbox.
           editField.SetText(@"No #99");

           // Verify the text.
           Verify.AreEqual(@"No #99", editField.Text, "Verify Text", "Verify that the edit field contains the expected value.");

           // Exit the session.
           session.Close();
    }

Back to top

## Select an item in a combo box

The following example uses IComboBox to make a selection on a combo box control.

     // The example below uses IComboBox to make a selection on a combo box control.

    [Test]
    public void TestComboBox()
    {
    	// Program flow:
           //  1. Launch a GuiSession from GuiSessionFactory.
           //  2. Navigate to the combo box control.
           //  3. Make a selection on the combo box.
           // Launch a GuiSession instance.
           IGuiSession session = GuiSessionFactory.Launch("ECC 6.0", "800", "qa01", "55c1b303f6a77cb79fcbb321af78eed77befc906");

           // Navigates to the control box.
           session.Reset(@"bibs");

           var window = session.Describe<IWindow>(new WindowDescription
           {
    		Transaction = @"BIBS",
    		Program = @"SAPLEXAMPLE_ENTRY_SCREEN",
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.MainWindow,
    		Name = @"wnd[0]"
           });
           window.Describe<IMenubar>(new MenubarDescription
           {
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.Menubar
           }).Select(@"Goto;Elements;Dropdown List");

           // Describe the combo box.
           var comboBox = window.Describe<IComboBox>(new ComboBoxDescription
           {
    		Type = HP.LFT.SDK.SAP.GUI.ComponentType.ComboBox,
    		Name = @"SCARR-CARRID"
           });

           Verify.AreEqual(19, comboBox.Items.Count, "Verify ComboBox Number of Items", "Verify that the combo box contains 19 items.");

           // Make a selection.
           comboBox.Select(3);

           // Verify the selection.
           Verify.AreEqual(@"Air France", comboBox.SelectedItem.Text, "Verify Selected Item in ComboBox Using Selected Item's Text", "Verify that the correct combobox item was selected by checking the selected item's text.");
           Verify.AreEqual(@"AF", comboBox.SelectedItem.Key, "Verify Selected Item in ComboBox Using Selected Item's Key", "Verify that the correct combobox item was selected by checking the selected item's key.");

           // Exit the session.
           session.Close();
    }

Back to top

Tips to improve your search results... UFT Developer .NET SDK Reference Version 15.0-15.0.2 UFT Developer SDK Reference All View Local Help Center View Online Help Center back Go back in browser history forward Go forward in browser history Remove search highlights next topic Go to next topic previous topic Go to previous topic Print the current topic Version: