Skip to main content
Skip table of contents

Schnittstellen-Monitoring

Die Objekte stehen für ORACLE und MSSQL bereit. Die Syntax in der Doku stammt aus den Oracle-Objekten, fachlich sind die MSSQL-Objekte identisch.

PRC_MON_START

Die Prozedur PRC_MON_START muss zu Beginn des Schnittstellenlaufs aufgerufen werden. Hier wird im Parameter p1_over_interfaceid das sprechende ID-Kürzel der Schnittstelle übergeben. Falls es noch keinen Satz in der Tabelle INTERFACEOVER gibt wird dieser angelegt. Ein neuer Satz in der Tabelle INTERFACEDETAIL wird erstellt, der Primärschlüssel wird zur weiteren Verwendung im Parameter p2_detail_pk zurückgeliefert.

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

Die Prozedur PRC_MON_INFO kann während des Schnittstellenlaufs mehrmals aufgerufen werde. In Parameter p2_detail_resultdetail wird der zu protokollierende Text übergeben. In Parameter p1_detail_pk muss der aus der Prozedur PRC_MON_START stammende Wert übergeben werden.

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

Die Prozedur PRC_MON_END muss am Ende des Schnittstellenlaufs aufgerufen werden. Der Parameter p2_detail_resultstatus muss die Ausprägung "OK" oder "ERROR" haben. In Parameter p1_detail_pk muss der aus der Prozedur PRC_MON_START stammende Wert übergeben werden.

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 */

Aufruf der SQL-Skripte per BPM

Die o.a. Prozeduren lassen sich innerhalb BPM wie folgt aufrufen

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.