📄 jrfctest.java
字号:
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 + -