Skip to main content
Skip table of contents

Interface monitoring

The objects are available for ORACLE and MSSQL. The syntax in the documentation comes from the Oracle objects, technically the MSSQL objects are identical.

PRC_MON_START

The PRC_MON_START procedure must be called at the beginning of the interface run. In the p1_over_interfaceid parameter, the meaningful ID code of the interface is passed here. If there is no set in the INTERFACEOVER table, it is created. A new set is created in the INTERFACEDETAIL table, the primary key is returned in parameter p2_detail_pk for further use.

CODE
create or replace procedure PRC_MON_START
(p1_over_interfaceid in varchar2 /* INTERFACEOVER.INTERFACEID */
,p2_detail_pk out varchar2) /* INTERFACEDETAIL.PK */
is /* Dokumentiert den Schnittstellenstart */

PRC_MON_INFO

The PRC_MON_INFO procedure can be called several times during the interface run. The text to be logged is passed in parameter p2_detail_resultdetail. The value from the PRC_MON_START procedure must be passed in parameter p1_detail_pk.

CODE
create or replace procedure PRC_MON_INFO
(p1_detail_pk in varchar2 /* INTERFACEDETAIL.PK */
,p2_detail_resultdetail in clob) /* INTERFACEDETAIL.RESULTDETAIL */
is /* Fuegt Protokollinhalt hinzu */

PRC_MON_END

The PRC_MON_END procedure must be called at the end of the interface run. The p2_detail_resultstatus parameter must be "OK" or "ERROR". The value from the PRC_MON_START procedure must be passed in parameter p1_detail_pk.

CODE
create or replace procedure PRC_MON_END
(p1_detail_pk in varchar2 /* INTERFACEDETAIL.PK */
,p2_detail_resultstatus in varchar2) /* OK|ERROR */
is /* Dokumentiert das Schnittstellenende */

Calling SQL scripts using BPM

The above procedures can be called in BPM as follows

CODE
void startLogging()
{
  String[] sqlparam = [ProcessUtils.getVariable("intOverName")];
  if(ScriptUtils.isEmpty(sqlparam)) sqlparam = ["DUMMY"];
  Class[] sqlretcl = [String.class];
  Object[] returnVal = LogicScriptUtils.executeProcedure("call evijet.PRC_MON_START(?,?)", sqlparam , sqlretcl);
  ProcessUtils.setVariable("constInterfaceDetailPk", returnVal[0]);
}
void endInterfaceRun()
{
  meantimeLog("Schnittstellenlauf abgeschlossen.");
  String[] sqlparam = [ProcessUtils.getVariable("constInterfaceDetailPk"),"OK"];
  Class[] sqlretcl = [];
  Object[] returnVal = LogicScriptUtils.executeProcedure("call evijet.PRC_MON_END(?,?)", sqlparam , sqlretcl);
}
void meantimeLog(String messageText)
{
  String[] sqlparam = [ProcessUtils.getVariable("constInterfaceDetailPk"), "["+ DateUtils.convertDateTimePattern(DateUtils.NOW , "HH:mm:ss")+ "] " + messageText];
  Class[] sqlretcl = [];
  Object[] returnVal = LogicScriptUtils.executeProcedure("call evijet.PRC_MON_INFO(?,?)", sqlparam , sqlretcl);
}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.