|
I'm not the most Java saavy person but in essence, your assumption is correct. Service programs are simliar to jar files. Below is the code for a simple service program. h nomain h option(*nodebugio) * Files Used FCkEmpLMs IF E K Disk UsrOpn FCkClassF IF E K Disk UsrOpn * Copybooks /copy qcopysrc,KR0056PR * Internal Non-Exported Procedures DInitialize PR * Global Variables D Files_Opened S n Inz(*Off) D CompanyNumber c Const(01) * Get Pay Period Procedure PGetPayPeriod B Export DGetPayPeriod PI D StartDate D D EndDate D D Success n * Local Variables D Find_EmpNo S 9s 0 D SQL$ S 3000a Varying /copy qcopysrc,sqloptions * Procedure Code * Find An Employee With Unposted Time c/exec sql c+ Select Max(TiEmpN) Into :Find_EmpNo From CkTimeFl Where TiPHst<>'P' c/end-exec /free //Open Files If Not Open... Initialize(); //Find The Employee's Record Chain (CompanyNumber:Find_EmpNo) CkEmpLMs; If Not %Found; Success=*Off; Return; EndIf; //Get The Current Pay Period Date From The Employee's Pay Period Rule Chain (EETCod) CkClassF; If Not %Found; Success=*Off; Return; EndIf; //Return The Pay Period Dates StartDate=%Date(CFFDt1:*ISO); EndDate=%Date(CFTDt1:*ISO); Success=*On; Return; /end-free PGetPayPeriod E * Procedure To Open Files & Initialize Variables PInitialize B DInitialize PI /free If (Files_Opened); Return; EndIf; Open CkEmpLMs; Open CkClassF; Files_Opened=*On; /end-free PInitialize E * Procedure To Return Employee Record Data PGetEmployeeData B Export DGetEmployeeData PI D GetEmpNumber 9s 0 Const D Name 30a D Branch 10a D Dept 10a D CoID 10a D Success n * Procedure Code /free //Ensure That The Files Are Open Initialize(); Chain (CompanyNumber:GetEmpNumber) CkEmpLMs; If Not %Found; Success=*Off; Else; Name=EEName; Branch=EESec3; Dept=EESec4; CoID=EESec7; Success=*On; EndIf; /end-free PGetEmployeeData E * Check For Other Productive PCheckForOT B Export DCheckForOT PI 10i 0 D PayCodes 5a Dim(10) Const D Element s 10i 0 /free Element=%LookUp('OTHPR':PayCodes); Return Element; /end-free PCheckForOT E * Check For Productive PCheckForPROD B Export DCheckForPROD PI 10i 0 D PayCodes 5a Dim(10) Const D Element s 10i 0 /free Element=%LookUp('PROD':PayCodes); Return Element; /end-free PCheckForPROD E * Get OT Hours PGetOTHours B Export DGetOTHours PI 5s 2 D HoursArray 5s 2 Dim(10) Const D Element 10i 0 Const /free Return HoursArray(Element); /end-free PGetOTHours E * Get PROD Hours PGetPrHours B Export DGetPrHours PI 5s 2 D HoursArray 5s 2 Dim(10) Const D Element 10i 0 Const /free Return HoursArray(Element); /end-free PGetPrHours E * Total Other Productive Hours PTotalOTHours B Export DTotalOTHours PI 6s 2 D PayPeriodOT 5s 2 Dim(14) Const /free Return %XFoot(PayPeriodOT); /end-free PTotalOTHours E * Total Productive Hours PTotalPrHours B Export DTotalPrHours PI 6s 2 D PayPeriodOT 5s 2 Dim(14) Const /free Return %XFoot(PayPeriodOT); /end-free PTotalPrHours E * Close Application Procedure PClose_App B Export DClose_App PI /free If %Open(CkEmpLMs); Close CkEmpLMs; EndIf; If %Open(CkClassF); Close CkClassF; EndIf; Files_Opened=*Off; /end-free PClose_App E Basically a service program consists of a module or modules(similar to the java class). There is one source member per module. A module can consist of a single procedure or many procedures (similar to java functions). To create the service program you compile your source code as type *MODULE, then you execute the CRTSRVPGM command listing the modules (class if you prefer) to put into the service program(jar). Additionally you can use binding directories & binding source to function similar to a manifest. Hope this is clear as mud & that I haven't misrepresented anything...if so...blame it on Thursday...which is typically all meetings for me LOL Thanks, Tommy Holden -----Original Message----- From: rpg400-l-bounces+tommy.holden=hcahealthcare.com@xxxxxxxxxxxx [mailto:rpg400-l-bounces+tommy.holden=hcahealthcare.com@xxxxxxxxxxxx] On Behalf Of Jake M Sent: Thursday, March 30, 2006 9:07 AM To: rpg400-l@xxxxxxxxxxxx Subject: Service Program Vs Jar File. I am a RPG newbie. So, here is a naive question. Are Service Programs same as Jar Files in Java, Or am I totally wrong? I create my .jar files as a conglomeration of several .class files and then just that in all my .java code. I am looking for a simple example to create a service program and use that service program in RPGLE source member. Thanks in advance, Jake.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.