Занято попыткой Call RPG function from Java и получено this Пример от JamesA. Но теперь у меня возникли проблемы, вот мой код:Java ProgramCall.run зависает
AS400 system = new AS400("MachineName");
ProgramCall program = new ProgramCall(system);
try
{
// Initialise the name of the program to run.
String programName = "/QSYS.LIB/LIBNAME.LIB/FUNNAME.PGM";
// Set up the 3 parameters.
ProgramParameter[] parameterList = new ProgramParameter[2];
// First parameter is to input a name.
AS400Text OperationsItemId = new AS400Text(20);
parameterList[0] = new ProgramParameter(OperationsItemId.toBytes("TestID"));
AS400Text CaseMarkingValue = new AS400Text(20);
parameterList[1] = new ProgramParameter(CaseMarkingValue.toBytes("TestData"));
// Set the program name and parameter list.
program.setProgram(programName, parameterList);
// Run the program.
if (program.run() != true)
{
// Report failure.
System.out.println("Program failed!");
// Show the messages.
AS400Message[] messagelist = program.getMessageList();
for (int i = 0; i < messagelist.length; ++i)
{
// Show each message.
System.out.println(messagelist[i]);
}
}
// Else no error, get output data.
else
{
AS400Text text = new AS400Text(50);
System.out.println(text.toObject(parameterList[1].getOutputData()));
System.out.println(text.toObject(parameterList[2].getOutputData()));
}
}
catch (Exception e)
{
//System.out.println("Program " + program.getProgram() + " issued an exception!");
e.printStackTrace();
}
// Done with the system.
system.disconnectAllServices();
Применение Висит на этой линии if (program.run() != true)
, и я ждать около 10 минут, а затем я прекратить применение.
Любая идея, что я делаю неправильно?
Редактировать
Вот сообщение о журнале работы:
запрос клиента - запуск программы QSYS/QWCRTVCA.
Запрос клиента - запустить программу LIBNAME/FUNNAME.
Файл P6CASEL2 в библиотеке * LIBL не найден или файл встроенных данных отсутствует. Сообщение об ошибке CPF4101 появилось во время OPEN.
Невозможно разрешить объект YOBPSSR. Тип и подтип X'0201' Орган
FUNNAME вставить строку в таблицу P6CASEPF через представление под названием P6CASEL2. P6CASEL2 находится в другой библиотеке, скажем, LIBNAME2. Возможно ли установить JobDescription?
Посмотрел журналы работы, обновил мой вопрос с сообщением об ошибке, которое я нашел. – ZioN