Главная > Oracle e-Business Suite > Java Concurrent Program


Java Concurrent Program

Java Concurrent Program
Как создать Java Concurrent Program:

  1. Создать директорию $FND_TOP/java/cp/request (желательное, но не обязательное место)
  2. Скопировать java класс
  3. Скомпилировать java класс
  4. Регистрируем Concurrent Program Executable
    • Метод выполнения: Параллельная программа JAVA
    • Имя исполняемого файла указываем без формата файла
  5. Регистрируем Concurrent Program
    • Поле формат = Текст
    • Для параметров заполняем также идентификаторы (token)

Шаблон java класса

================= Template.java===========================
package oracle.apps.fnd.cp.request;
// Change the package name to the required one.
// import all the other required classes/packages.

import oracle.apps.fnd.util.*;
import oracle.apps.fnd.cp.request.*;

// Change the name of the class from Template to your concurrent program
// class name
public class Template implements JavaConcurrentProgram
{
/** Optionally provide class constructor without any arguments.
* If you provide any arguments to the class constructor then while
* running the program will fail.
*/

public void runProgram(CpContext pCpContext)
{
  ReqCompletion lRC = pCpContext.getReqCompletion();
  String CompletionText = "";

  /* Code your program logic here.
  * Use getJDBCConnection method to get the connection object for any
  * JDBC operations.
  * Use CpContext provided commit,rollback methods to commit/rollback
  * data base transactions.
  * Don't forget to release the connection before returning from this
  * method.
  */

  /* Call setCompletion method to set the request completion status and
  * completion text.
  * Status values are ReqCompletion.NORMAL,ReqCompletion.WARNING,
  * ReqCompletion.ERROR.
  * Use Completion text message of length 240 characters. If it is more
  * than 240 then full string will appear in log file and truncated 240
  * characters will be used as request completion text.
  */
  lRC.setCompletion(ReqCompletion.NORMAL, CompletionText);
}

}
==================End of Template.java===========================


LogFile и OutFile

Для вывода в лог или out:

// get LogFile object from CpContext
LogFile lLF = pCpContext.getLogFile();
lLF.writeln("APPS-ORACLE.RU", LogFile.STATEMENT);
// get OutFile object from CpContext
OutFile lOF = pCpContext.getOutFile();
lOF.writeln("APPS-ORACLE.RU");

Код завершения

Для типа завершения канкарента (ошибка, предупреждение) используем

ReqCompletion lRC = pCpContext.getReqCompletion();
lRC.setCompletion(ReqCompletion.NORMAL, "");
lRC.setCompletion(ReqCompletion.WARNING, "");
lRC.setCompletion(ReqCompletion.ERROR, "");

Получение входных параметров

    // считываем входные параметры
    ParameterList l_params = p_cp_context.getParameterList();
    NameValueType l_param;
    while (l_params.hasMoreElements()) {
     l_param = l_params.nextParameter();
	  if (l_param.getName().equals("p_name_param1")) {
	    lParam1 = l_param.getValue();
	  } else if (l_param.getName().equals("p_name_param2")) {
	    lParam2 = l_param.getValue();
	  }
    }

Connection

Connection con = p_cp_context.getJDBCConnection();

Environment

  p_cp_context.getEnvironmentStore().getEnv("JAVA_TOP")

Ссылка на metalink:How To Create a Java Concurrent Program? [ID 827563.1]

Похожие записи:

  1. Yoss
    13 Январь 2015 в 13:58 | #1

    oracle.apps.fnd.util — нет такого пакета

  1. Пока что нет уведомлений.