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

📄 vericlient.java

📁 SAP ERP的二次开发
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                function.getImportParameterList().setValue(counter_in, "COUNTER");                JCO.Client client = JCO.getClient("BF");                client.execute(function);                JCO.releaseClient(client);                int result      = function.getExportParameterList().getInt("RESULT");                int counter_out = function.getExportParameterList().getInt("COUNTER");                if (counter_out != (counter_in + 1)) {                    throw new Exception("Inconsistency in changing parameter detected, "+                            "expected COUNTER='" + (counter_in + 1) + "', got COUNTER='" + counter_out + "'");                }//if                if (result != (start_value + counter_in)) {                    throw new Exception("Inconsistency in changing parameter detected, "+                            "expected RESULT='" + (start_value + counter_in) + "', got RESULT='" + result + "'");                }//if                printStatus(null);            }            catch (Exception ex) {                printStatus(ex);            }//try        }        private void testDDIF_FIELDINFO_GET()        {            JCO.Function function = getFunction("DDIF_FIELDINFO_GET");            if (function == null) return;            try {                printMethod("client.execute(\"DDIF_FIELDINFO_GET\")");                function.getImportParameterList().setValue("DFIES","TABNAME");                JCO.Table dfies_tab = function.getTableParameterList().getTable("DFIES_TAB");                JCO.Client client = JCO.getClient("BF");                client.execute(function);                JCO.releaseClient(client);                printStatus(null);            }            catch (Exception ex) {                printStatus(ex);            }//try        }        private void testSTFC_PERFORMANCE()        {            JCO.Function function = getFunction("STFC_PERFORMANCE");            if (function == null) return;            try {                JCO.ParameterList imp = function.getImportParameterList();                JCO.ParameterList tab = function.getTableParameterList();                imp.setValue("4","LGIT1000");                imp.setValue("3","LGET1000");                JCO.Table itab1000 = tab.getTable("ITAB1000");                for (int irow = 0; irow < 4; irow++) {                    String row = "ROW" + Integer.toString(irow) + ",";                    itab1000.appendRow();                    itab1000.setValue(row+"COLUMN1","LINE1");                    itab1000.setValue(row+"OLUMN2","LINE2");                    itab1000.setValue(row+"LUMN3","LINE3");                    itab1000.setValue(row+"UMN4","LINE4");                    itab1000.setValue(row+"MN5","LINE5");                    itab1000.nextRow();                }//for                JCO.Table itab1000_save = (JCO.Table)itab1000.clone();                printMethod("ostream.writeObject(function)");                FileOutputStream fos = new FileOutputStream("jcoveri.dat");                ObjectOutputStream os = new ObjectOutputStream(fos);                os.writeObject(function);                os.flush();                fos.close();                printStatus(null);                printMethod("istream.readObject(function)");                FileInputStream fis = new FileInputStream("jcoveri.dat");                ObjectInputStream is = new ObjectInputStream(fis);                JCO.Function function2 = (JCO.Function)is.readObject();                is.close();                printStatus(null);                printMethod("client.execute(\"STFC_PERFORMANCE\")");                JCO.Client client = JCO.getClient("BF");                client.execute(function);                client.execute(function2);                JCO.releaseClient(client);                itab1000 = tab.getTable("ITAB1000");                if (itab1000.getNumRows() != itab1000_save.getNumRows() ||                    itab1000.getNumColumns() != itab1000_save.getNumColumns()) {                    throw new Exception("Inconsistency in table ITAB1000");                }//if                itab1000.firstRow(); itab1000_save.firstRow();                for (int irow = 0; irow < itab1000.getNumRows(); irow++) {                    for (int icol = 0; icol < itab1000.getNumColumns(); icol++) {                        if (!itab1000.getString(icol).equals(itab1000_save.getString(icol))) {                            throw new Exception("Inconsistency in table ITAB1000");                        }//if                    }//for                    itab1000.nextRow(); itab1000_save.nextRow();                }//for                printStatus(null);            }            catch (Exception ex) {                printStatus(ex);            }//try        }        private void testSBC_STRING()        {            JCO.Function function = getFunction("SBC_STRING");            if (function == null) return;            try {                byte   xstring_out[], xstring_in[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };                String string_out,    string_in = "ABCdghtjuierpoie985()/&%";                printMethod("client.execute(\"SBC_STRING\")");                function.getImportParameterList().setValue(string_in, "STRING_IN" );                function.getImportParameterList().setValue(xstring_in,"XSTRING_IN");                JCO.Client client = JCO.getClient("BF");                client.execute(function);                JCO.releaseClient(client);                xstring_out = function.getExportParameterList().getByteArray("XSTRING_OUT" );                string_out  = function.getExportParameterList().getString("STRING_OUT");                string_out  = string_out.substring(7);                if (xstring_in.length != xstring_out.length)                    throw new Exception("Inconsistency in length of XSTRING parameters, got " +                            xstring_out.length + ", expected " + xstring_in.length);                for (int i = 0; i < xstring_in.length; i++) {                    if (xstring_in[i] != xstring_out[i])                        throw new Exception("Inconsistency in data XSTRING parameters at position " + i);                }//for                if (!string_out.equals(string_in))                    throw new Exception("Inconsistency in STRING parameters");                printStatus(null);            }            catch (Exception ex) {                printStatus(ex);            }//try        }        private void testRFC_RAISE_ERROR()        {            JCO.Client client = null;            JCO.Function function = null;            try {                printMethod("client.execute(\"RFC_RAISE_ERROR(0)\")");                function = getFunction("RFC_RAISE_ERROR");                function.getImportParameterList().setValue("0","METHOD");                client = JCO.getClient("BF");                client.execute(function);                JCO.releaseClient(client);            }            catch (JCO.Exception ex) {                if (!ex.getKey().equalsIgnoreCase("RFC_ERROR_SYSTEM_FAILURE")) {                    printStatus(ex);                }                else {                    printStatus(null);                }//if            }            catch (Exception ex) {                printStatus(ex);                ex.printStackTrace();            }//try            try {                printMethod("client.execute(\"RFC_RAISE_ERROR(1)\")");                function = getFunction("RFC_RAISE_ERROR");                function.getImportParameterList().setValue("1","METHOD");                client = JCO.getClient("BF");                client.execute(function);                JCO.releaseClient(client);            }            catch (JCO.AbapException ex) {                if (!ex.getKey().equalsIgnoreCase("RAISE_EXCEPTION")) {                    printStatus(ex);                }                else {                    printStatus(null);                }//if            }            catch (Exception ex) {                printStatus(ex);                ex.printStackTrace();            }//try            try {                printMethod("client.execute(\"RFC_RAISE_ERROR(2)\")");                function = getFunction("RFC_RAISE_ERROR");                function.getImportParameterList().setValue("2","METHOD");                client = JCO.getClient("BF");                client.execute(function);                JCO.releaseClient(client);            }            catch (JCO.AbapException ex) {                if (!ex.getKey().equalsIgnoreCase("RAISE_EXCEPTION")) {                    printStatus(ex);                }                else {                    printStatus(null);                }//if            }            catch (Exception ex) {                printStatus(ex);                ex.printStackTrace();            }//try            try {                printMethod("client.execute(\"RFC_RAISE_ERROR(3)\")");                function = getFunction("RFC_RAISE_ERROR");                function.getImportParameterList().setValue("3","METHOD");                client = JCO.getClient("BF");                client.execute(function);                JCO.releaseClient(client);            }            catch (JCO.Exception ex) {                if (!ex.getKey().equalsIgnoreCase("RFC_ERROR_SYSTEM_FAILURE")) {                    printStatus(ex);                }                else {                    printStatus(null);                }//if            }            catch (Exception ex) {                printStatus(ex);                ex.printStackTrace();            }//try        }        public void run()        {            testRepository();            testSTFC_CONNECTION();            testSTFC_CHANGING();            testSTFC_PERFORMANCE();            testDDIF_FIELDINFO_GET();            testSBC_STRING();            testRFC_RAISE_ERROR();            JCO.removeClientPool("BF");            repository = null;        }    }    public void run()    {        printProlog();        for (int i = 0; i < tests.length; i++) tests[i].run();        printEpilog();    }    public static void usage()    {        System.out.println("");        System.out.println("");        System.out.println("Usage: 'java VeriClient <file-with-connection-properties> [<trace-level> (0-4)]'");        System.out.println("");        System.out.println("where <file-with-connection-properties> is a file which contains something like");        System.out.println("");        System.out.println("#Login parameters for system BF1");        System.out.println("#Tue Oct 17 12:42:06 GMT+02:00 2000");        System.out.println("jco.client.user=johndoe");        System.out.println("jco.client.passwd=secret");        System.out.println("jco.client.client=000");        System.out.println("jco.client.lang=EN");        System.out.println("jco.client.mshost=bf1.doe-inc.com");        System.out.println("jco.client.r3name=BF1");        System.out.println("jco.client.group=PUBLIC");        System.exit(1);    }    public VeriClient(String filename)    {        if (filename != null) properties_filename = filename;        JCO.getClientPoolManager().addPoolChangedListener(this);    }    public VeriClient()    {        JCO.getClientPoolManager().addPoolChangedListener(this);    }    public static void main(String[] argv)    {        if (argv.length == 0) VeriClient.usage();        if (argv.length > 1) JCO.setTraceLevel(Integer.parseInt(argv[1]));        VeriClient suite = new VeriClient(argv[0]);        suite.run();    }}

⌨️ 快捷键说明

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