cancel
Showing results for 
Search instead for 
Did you mean: 

how to integrate SAP using ComfyJ in Java

hasmukh_ginoya
Explorer
0 Kudos

Hi,

I want to integrate SAP functionality same as mentioned in ( https://blogs.sap.com/2012/11/01/how-to-use-sap-gui-scripting-inside-java/#) using ComfyJ. Have anyone idea how can i integrate this using ComfyJ?

<code>//-Import-------------------------------------------------------------
    import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.ComThread;
    import com.jacob.com.Dispatch;
    import com.jacob.com.Variant;

  public class SAPGUIScriptingLogon {

    public static void main(String[] args) {

      //-Variables------------------------------------------------------
        ActiveXComponent SAPROTWr, GUIApp, Connection, Session, Obj;
        Dispatch ROTEntry;
        Variant ScriptEngine;
         
      ComThread.InitSTA();

      //-Set SapGuiAuto = GetObject("SAPGUI")---------------------------
        SAPROTWr = new ActiveXComponent("SapROTWr.SapROTWrapper");
        try {
          ROTEntry = SAPROTWr.invoke("GetROTEntry", "SAPGUI").toDispatch();
          //-Set application = SapGuiAuto.GetScriptingEngine------------
            ScriptEngine = Dispatch.call(ROTEntry, "GetScriptingEngine");
            GUIApp = new ActiveXComponent(ScriptEngine.toDispatch());

          //-Set connection = application.Children(0)-------------------
            Connection = new ActiveXComponent(
              GUIApp.invoke("Children", 0).toDispatch());
          //-Set session = connection.Children(0)-----------------------
            Session = new ActiveXComponent(
              Connection.invoke("Children", 0).toDispatch());

          //-Set GUITextField Client------------------------------------
          //-
          //- session.findById("wnd[0]/usr/txtRSYST-MANDT").text = "000"
          //-
          //------------------------------------------------------------
            Obj = new ActiveXComponent(Session.invoke("FindById",
              "wnd[0]/usr/txtRSYST-MANDT").toDispatch());
            Obj.setProperty("Text", "000");

          //-Set GUITextField User--------------------------------------
          //-
          //- session.findById("wnd[0]/usr/txtRSYST-BNAME").text = _
          //-   "BCUSER"
          //-
          //------------------------------------------------------------
            Obj = new ActiveXComponent(Session.invoke("FindById",
              "wnd[0]/usr/txtRSYST-BNAME").toDispatch());
            Obj.setProperty("Text", "BCUSER");

          //-Set GUIPasswordField Password------------------------------
          //-
          //- session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = _
          //-   "minisap"
          //-
          //------------------------------------------------------------
            Obj = new ActiveXComponent(Session.invoke("FindById",
              "wnd[0]/usr/pwdRSYST-BCODE").toDispatch());
            Obj.setProperty("Text", "minisap");

          //-Set GUITextField Language----------------------------------
          //-
          //- session.findById("wnd[0]/usr/txtRSYST-LANGU").text = "DE"
          //-
          //------------------------------------------------------------
            Obj = new ActiveXComponent(Session.invoke("FindById",
              "wnd[0]/usr/txtRSYST-LANGU").toDispatch());
            Obj.setProperty("Text", "DE");

          //-Press enter------------------------------------------------
          //-
          //- session.findById("wnd[0]").sendVKey 0
          //-
          //------------------------------------------------------------
            Obj = new ActiveXComponent(Session.invoke("FindById",
              "wnd[0]").toDispatch());
            Obj.invoke("sendVKey", 0);

      }

      catch (Exception e) {

      }

      finally {
        ComThread.Release();
        System.exit(0);
      }

    }

  }

Accepted Solutions (0)

Answers (0)