EBIworld.com › 2.6 Examples › EBI API Example › API Example :: EBIEVTCAL.RPGLE
Z* CRTBNDRPG DFTACTGRP(*NO) ACTGRP(*CALLER)
H**********************************************************************************************
H* EBIEVTCAL - Demonstrate calling the EBI Notification API
H**********************************************************************************************
H DEBUG DATEDIT(*YMD)
H**********************************************************************************************
H*
H* Synopsis: Demonstrates how to call a Java method using prototyping.
H*
H* Company : EXTOL International Inc.
H* System : EXTOL Business Integrator
H* Programmer : D. Ogozalek
H* Date : 20 July 2007
H* (C) Copyright : EXTOL International, Inc. 2007
H*
H* Maintenance :
H* Date Comment: Type comment here
D**********************************************************************************************
D* "Prototyping" of Java methods that will be called. Extol Code *
D**********************************************************************************************
D*
D* Prototype the constructor for the String java class
D* constructor signature: public String(String original)
D StringConstr PR O EXTPROC(*JAVA:
D 'java.lang.String':
D *CONSTRUCTOR)
D bytes 256A CONST VARYING
D*
D* Prototype the constructor for the Long java class
D* constructor signature: public Long(String s)
D LongConstr PR O EXTPROC(*JAVA:
D 'java.lang.Long':
D *CONSTRUCTOR)
D stringLong O CLASS(*JAVA:'java.lang.String')
D*
D* Prototype the sendItemNotification method on the SendEbiItemNotif java class
D* signature: sendItemNotification(String formattedTypeName, String notificationMessage,
D* String notification Message, Long sequenceNumber)
D*
D sendNotif PR EXTPROC(*JAVA:
D 'SendEbiItmNotif':
D 'sendItemNotification')
D STATIC
D typeName O CLASS(*JAVA:'java.lang.String')
D CONST
D itemKeyVal O CLASS(*JAVA:'java.lang.String')
D CONST
D notifMsgVal O CLASS(*JAVA:'java.lang.String')
D CONST
D seqNbrVal O CLASS(*JAVA:'java.lang.Long')
D CONST
D*
D**********************************************************************************************
D* Miscellaneous "variables" that are really Java objects used during method invocations *
D**********************************************************************************************
D*
D itemKeyValueJ S O CLASS(*JAVA:'java.lang.String')
D notifMessageJ S O CLASS(*JAVA:'java.lang.String')
D notifTypeJ S O CLASS(*JAVA:'java.lang.String')
D tempString S O CLASS(*JAVA:'java.lang.String')
D seqNumberJ S O CLASS(*JAVA:'java.lang.Long')
D*
D NotifMessage S 30
D BusPrcSct S 25
D Oscmd S 512A
D Oscmd2 S 512A
D
D* Array for the ADDENVVAR command that will set the classpath
D ADDENVCMD S 80 DIM(8) CTDATA PERRCD(1)
D ADDENVVAR S 80 DIM(2) CTDATA PERRCD(1)
C*****************************************************************************
C Exsr SetJavaVer
C Exsr SetClassPath
C Eval itemKeyValueJ = StringConstr('')
C Eval NotifMessage = 'Triggered EBI Notification'
C Eval notifMessageJ = StringConstr(NotifMessage)
C
C Eval BusPrcSct = 'notification.api'
C Eval notifTypeJ = StringConstr(BusPrcSct)
c
C Eval tempString = StringConstr('100')
C Eval seqNumberJ = LongConstr(tempString)
C*
c
C CallP sendNotif(notifTypeJ:itemKeyValueJ:
C notifMessageJ:seqNumberJ)
C
C Eval *Inlr = *On
C**********************************************************************************************
C* Set the Java Version Variable, to run the java program(s) with.
C**********************************************************************************************
C SetJavaVer BegSr
C* Call QCMDEXC with the ADDENVVAR command to set the java version
C EVAL CmdLen =170
C Eval Oscmd = *Blanks
C Eval Oscmd = %TrimR(ADDENVVAR(1))+' '+
C %TrimR(ADDENVVAR(2))
C Call 'QCMDEXC'
C Parm Oscmd command line
C Parm CmdLen 15 5 command length
C EndSr
C**********************************************************************************************
C* Set the classpath Envrionment Variable, so we can find the java program(s)
C**********************************************************************************************
C SetClassPath BEGSR
C EVAL CmdLen = 512
C*setup the command
C*
C Eval Oscmd2 = %TrimR(ADDENVCMD(1))+
C %TrimR(ADDENVCMD(2))+
C %TrimR(ADDENVCMD(3))+
C %TrimR(ADDENVCMD(4))+
C %TrimR(ADDENVCMD(5))+
C %TrimR(ADDENVCMD(6))+
C %TrimR(ADDENVCMD(7))+' '+
C %TrimR(ADDENVCMD(8))
C
C* Call QCMDEXC with the ADDENVCMD command to set the classpath
C Call 'QCMDEXC'
C Parm Oscmd2 command line
C Parm CmdLen 15 5 command length
C*
C ENDSR
C**********************************************************************************************
** ClassPath
ADDENVVAR ENVVAR(CLASSPATH) VALUE('.:/ebi_notification/notification
:/ebi_notification/notification/conf
:/ebi_notification/notification/lib/dom4j.jar
:/ebi_notification/notification/lib/jboss-j2ee.jar
:/ebi_notification/notification/lib/jbossall-client.jar
:/ebi_notification/notification/lib/log4j.jar
:/ebi_notification/notification/lib/EBI.jar:')
REPLACE(*YES)
** Version
ADDENVVAR ENVVAR(QIBM_RPG_JAVA_PROPERTIES) VALUE('-Djava.version=1.5;')
REPLACE(*YES)