⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jrfctest.java

📁 SAP这个系统的一个转换器
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            if(propValues.getProperty("jco.client.load_balancing").equalsIgnoreCase("N"))
            {
                display("jco.client.iashost", mode);
                display("jco.client.isysnr", mode);
            } else
            {
                display("jco.client.ir3name", mode);
                display("jco.client.imhost", mode);
                display("jco.client.igroup", mode);
            }
            display("jco.client.isnc_mode", mode, YN_ANSWER);
            if(propValues.getProperty("jco.client.isnc_mode").equalsIgnoreCase("Y"))
            {
                display("jco.client.isnc_lib", mode);
                display("jco.client.isnc_partnername", mode);
            }
        } else
        if(propValues.getProperty("jco.client.type").equals("2"))
        {
            display("jco.client.idest", mode);
            display("jco.client.igwhost", mode);
            display("jco.client.igwserv", mode);
        } else
        if(propValues.getProperty("jco.client.type").equalsIgnoreCase("E"))
        {
            display("jco.client.registprog", mode, YN_ANSWER);
            display("jco.client.igwhost", mode);
            display("jco.client.igwserv", mode);
            if(propValues.getProperty("jco.client.registprog").equalsIgnoreCase("Y"))
            {
                display("jco.client.tpid", mode);
            } else
            {
                display("jco.client.itphost", mode);
                display("jco.client.itpname", mode);
            }
            display("jco.client.isnc_mode", mode, YN_ANSWER);
            if(propValues.getProperty("jco.client.isnc_mode").equalsIgnoreCase("Y"))
            {
                display("jco.client.isnc_lib", mode);
                display("jco.client.isnc_partnername", mode);
            }
        } else
        if(propValues.getProperty("jco.client.type").equalsIgnoreCase("F"))
        {
            display("jco.client.iprofile_name", mode);
        } else
        {
            RfcTest.out.println("Server or Connection Type '" + propValues.getProperty("jco.client.type") + "' is not supported.");
            RfcTest.out.println("Adapt method displayConnectionParam!");
            System.exit(1);
        }
    }

    private static void displayRfcSpecificParam(int mode)
    {
        if(propValues.getProperty("jco.client.type").equalsIgnoreCase("3"))
        {
            display("jco.client.iabap_debug", mode, YN_ANSWER);
            if(propValues.getProperty("jco.client.iabap_debug").equalsIgnoreCase("y"))
            {
                propValues.setProperty("jco.client.iuse_sapgui", "Y");
                propValues.setProperty("jco.client.sapgui_invisible", "N");
                display("jco.client.iuse_sapgui", 0, YN_ANSWER);
                display("jco.client.sapgui_invisible", 0, YN_ANSWER);
            } else
            {
                display("jco.client.iuse_sapgui", mode, YN_ANSWER);
                if(propValues.getProperty("jco.client.iuse_sapgui").equalsIgnoreCase("y"))
                    display("jco.client.sapgui_invisible", mode, YN_ANSWER);
            }
        }
        display("jco.client.itrace", mode, YN_ANSWER);
        display("jco.client.jco_trace_level", mode, NUMBER_ANSWER);
    }

    private static void displaySapLogonParam(int mode)
    {
        display("jco.client.iclient", mode, NUMBER_ANSWER);
        display("jco.client.iuser", mode);
        display("jco.client.ipasswd", mode);
        display("jco.client.ilang", mode);
        if(propValues.getProperty("jco.client.type").equalsIgnoreCase("E"))
        {
            display("jco.client.iashost", mode);
            display("jco.client.isysnr", mode);
        }
    }

    private static void displaySapGuiParam(int mode)
    {
        display("jco.gui.test_type", mode, FT_ANSWER);
        display("jco.gui.fm_name", mode);
        display("jco.gui.transaction_name", mode);
    }

    private static void displayPerformanceParam(int mode)
    {
        display("jco.perform.elength0332", mode, NUMBER_ANSWER);
        display("jco.perform.elength1000", mode, NUMBER_ANSWER);
        display("jco.perform.ilength0332", mode, NUMBER_ANSWER);
        display("jco.perform.ilength1000", mode, NUMBER_ANSWER);
        display("jco.perform.checktable", mode, YN_ANSWER);
        display("jco.perform.display_tab", mode, YN_ANSWER);
    }

    private static void displayNumberOfCalls(int mode)
    {
        RfcTest.out.println();
        display("jco.run.number_of_calls", mode, NUMBER_ANSWER);
        if(Integer.parseInt(propValues.getProperty("jco.run.number_of_calls")) > 1)
            display("jco.run.close_connect", mode, YN_ANSWER);
        RfcTest.out.println();
    }

    private static void display(String prop, int mode)
    {
        String currentPropValue = null;
        String MASKED_PASSWD = "XXXXXX";
        String passwd = null;
        if(prop.equals("jco.client.ipasswd"))
        {
            currentPropValue = MASKED_PASSWD;
            passwd = propValues.getProperty(prop);
        } else
        {
            currentPropValue = propValues.getProperty(prop);
        }
        if(mode == 0)
        {
            RfcTest.out.println(propLabels.getProperty(prop) + " " + currentPropValue);
        } else
        {
            String propValueNew;
            if(prop.equals("jco.client.ipasswd"))
                propValueNew = RfcTest.askSecure(propLabels.getProperty(prop), currentPropValue);
            else
                propValueNew = RfcTest.ask(propLabels.getProperty(prop), currentPropValue);
            propValues.setProperty(prop, propValueNew);
        }
    }

    private static void display(String prop, int mode, String rangeOfValues)
    {
        if(rangeOfValues == null || mode == 0)
        {
            display(prop, mode);
            return;
        }
        String answer = null;
        String currentPropValue = null;
        String MASKED_PASSWD = "XXXXXX";
        if(prop.equals("jco.client.ipasswd"))
            currentPropValue = MASKED_PASSWD;
        else
            currentPropValue = propValues.getProperty(prop);
        if(rangeOfValues.equals(YN_ANSWER))
            do
            {
                answer = RfcTest.ask(propLabels.getProperty(prop), currentPropValue);
                answer = answer.toUpperCase();
            } while(!answer.equals("Y") && !answer.equals("N"));
        else
        if(rangeOfValues.equals(FT_ANSWER))
            do
            {
                answer = RfcTest.ask(propLabels.getProperty(prop), currentPropValue);
                answer = answer.toUpperCase();
            } while(!answer.equals("F") && !answer.equals("T"));
        else
        if(rangeOfValues.equals(SERVER_TYPE_ANSWER))
            do
                answer = RfcTest.ask(propLabels.getProperty(prop), currentPropValue);
            while(!answer.equals("3") && !answer.equals("2") && !answer.equalsIgnoreCase("F") && !answer.equalsIgnoreCase("E"));
        else
        if(rangeOfValues.equals(NUMBER_ANSWER))
        {
            boolean isNumber = true;
            do
            {
                isNumber = true;
                answer = RfcTest.ask(propLabels.getProperty(prop), currentPropValue);
                try
                {
                    Integer.parseInt(answer);
                }
                catch(NumberFormatException ex)
                {
                    isNumber = false;
                }
            } while(!isNumber);
        }
        propValues.setProperty(prop, answer);
    }

    private static void runRfcSystemInfoTest()
    {
        RfcTest.out.println("\n\n" + rhomb1 + " SAP JCo TEST - " + RFC_SYSTEM_INFO + " " + rhomb1 + "\n\n");
        for(numberOfCall = 0; numberOfCall < numberOfCalls; numberOfCall++)
        {
            initCall("RFC_SYSTEM_INFO");
            try
            {
                client.execute(function);
            }
            catch(Throwable thr)
            {
                RfcTest.out.println("RFC_SYSTEM_INFO call failed, error message: \n");
                RfcTest.displayException(thr);
                System.exit(1);
                return;
            }
            com.sap.mw.jco.JCO.Structure sysInfo = function.getExportParameterList().getStructure("RFCSI_EXPORT");
            String systemInfo = "\n" + space2 + "SAP System Information:\n" + space2 + "-----------------------------------------------------\n";
            systemInfo = systemInfo + space2 + "Destination       \t" + sysInfo.getField("RFCDEST").getValue() + "\n\n";
            systemInfo = systemInfo + space2 + "Host              \t" + sysInfo.getField("RFCHOST").getValue() + "\n";
            systemInfo = systemInfo + space2 + "System ID         \t" + sysInfo.getField("RFCSYSID").getValue() + "\n";
            systemInfo = systemInfo + space2 + "Database          \t" + sysInfo.getField("RFCDATABS").getValue() + "\n";
            systemInfo = systemInfo + space2 + "DB Host           \t" + sysInfo.getField("RFCDBHOST").getValue() + "\n";
            systemInfo = systemInfo + space2 + "DB System         \t" + sysInfo.getField("RFCDBSYS").getValue() + "\n\n";
            systemInfo = systemInfo + space2 + "SAP Release       \t" + sysInfo.getField("RFCSAPRL").getValue() + "\n";
            systemInfo = systemInfo + space2 + "SAP Kernel Release\t";
            if(!propValues.getProperty("jco.client.type").equals("2"))
                systemInfo = systemInfo + sysInfo.getField("RFCKERNRL").getValue();
            systemInfo = systemInfo + "\n\n";
            systemInfo = systemInfo + space2 + "RFC Protocol      \t" + sysInfo.getField("RFCPROTO").getValue() + "\n";
            systemInfo = systemInfo + space2 + "Characters        \t" + sysInfo.getField("RFCCHARTYP").getValue() + "\n";
            systemInfo = systemInfo + space2 + "Integers          \t" + sysInfo.getField("RFCINTTYP").getValue() + "\n";
            systemInfo = systemInfo + space2 + "Floating P.       \t" + sysInfo.getField("RFCFLOTYP").getValue() + "\n";
            systemInfo = systemInfo + space2 + "SAP Machine Id    \t" + sysInfo.getField("RFCMACH").getValue() + "\n\n";
            systemInfo = systemInfo + space2 + "Timezone          \t" + sysInfo.getField("RFCTZONE").getValue() + "\n";
            RfcTest.out.println(systemInfo);
            finalizeCall();
            if(numberOfCalls > numberOfCall + 1)
            {
                RfcTest.ask("\n\n\nHit return key for next RFC call", null);
                RfcTest.out.println("\n\n");
            }
        }

        RfcTest.out.println("\n\n" + rhomb2 + " SAP JCo TEST - " + RFC_SYSTEM_INFO + " " + rhomb2 + "\n\n");
    }

    private static void runConnectionTest()
    {
        RfcTest.out.println("\n\n" + rhomb1 + " SAP JCo TEST - " + CONNECTION_TEST + " " + rhomb1 + "\n\n");
        for(numberOfCall = 0; numberOfCall < numberOfCalls; numberOfCall++)
        {
            initCall("STFC_CONNECTION");
            com.sap.mw.jco.JCO.ParameterList imp = function.getImportParameterList();
            imp.setValue("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890", "REQUTEXT");
            try
            {
                client.execute(function);
            }
            catch(Throwable thr)
            {
                RfcTest.out.println("STFC_CONNECTION call failed, error message: \n");
                RfcTest.displayException(thr);
                System.exit(1);
                return;
            }
            com.sap.mw.jco.JCO.ParameterList exp = function.getExportParameterList();
            RfcTest.out.println("Import Parameter REQUTEXT: " + imp.getValue("REQUTEXT"));
            RfcTest.out.println("\nExport Parameter ECHOTEXT: " + exp.getValue("ECHOTEXT"));
            RfcTest.out.println("Export Parameter RESPTEXT: " + exp.getValue("RESPTEXT"));
            finalizeCall();
            if(numberOfCalls > numberOfCall + 1)
            {
                RfcTest.ask("\n\n\nHit return key for next RFC call", null);
                RfcTest.out.println("\n\n");
            }
        }

        RfcTest.out.println("\n\n" + rhomb2 + " SAP JCo TEST - " + CONNECTION_TEST + " " + rhomb2 + "\n\n");
    }

    private static void runPerformanceTest()
    {
        RfcTest.out.println("\n\n" + rhomb1 + " SAP JCo TEST - " + PERFORMANCE_TEST + " " + rhomb1 + "\n\n");
        for(numberOfCall = 0; numberOfCall < numberOfCalls; numberOfCall++)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -