-
Hallo Markus,
vielen Dank für Deine Mühe. Ich habe mich allerdings nun doch mal aufgerafft und habe mich zumindest ein bischen in ILERPG-IV "reingewurstelt".
Es ist mir doch tatsächlich gelungen mein Problem zu lösen.
Nochmals recht herzlichen Dank für Euere Hilfe.
Den Code hab ich mal mit eingeblendet, vielleicht kanns nochwer auch brauchen.
Code:
* * * * BEGINN DER CL-Quelle * * * *
/*********************************************************************/
/* */
/* Prüfen, ob Abschluss-Job noch läuft. */
/* */
/* ================================================================= */
/* */
/* Quelle: RZSRC/QCLSRC */
/* Objekt: RZOBJ/CHKABSCHL *PGM CLP */
/* */
/* ================================================================= */
/* */
/* 03.12.2002 von Stefan Lang. */
/* */
/*********************************************************************/
PGM
DCL &sws *CHAR 8 /* UPSI Byte */
DCL &strdat *CHAR 6 /* Startdatum */
DCL &strdatiso *CHAR 10 /* Startdatum *ISO */
DCL &strtim *CHAR 6 /* Startzeit */
DCL &strtimiso *CHAR 15 /* Startzeit *ISO */
DCL &strstamp *CHAR 26 /* Timestamp *ISO */
DCL &actdat *CHAR 6 /* Aktuelles Datum */
DCL &actdatiso *CHAR 10 /* Aktuelles Dat.*ISO */
DCL &acttim *CHAR 6 /* Aktuelle Zeit */
DCL &acttimiso *CHAR 15 /* Aktuelle Zeit *ISO */
DCL &actstamp *CHAR 26 /* Timestamp *ISO */
DCL &maxtime *DEC (5 0) /* max. erlaubte Zeit */
/* in Minuten */
DCL &duration *DEC (5 0) /* abgelaufene Zeit */
/* in Minuten */
DCL &rc *CHAR 1 /* Return-Code */
/* 0 = OK */
/* 1 = ERROR */
DCL &abschl *CHAR 1 /* ABSCHLUSS (J/N) */
DCL &periode *CHAR 2 /* ABSCHLUSS-Periode */
/* TG = Täglich */
/* WO = Wöchentlich */
/* - - - - - Globale Fehlerfalle - - - - - - - - - - - - - - - - - - */
MONMSG CPF0000
/* - - - - - Vorgeplänkel - - - - - - - - - - - - - - - - - - - - - */
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&strdat)
CVTDAT DATE(&strdat) TOVAR(&strdatiso) +
FROMFMT(*SYSVAL) TOFMT(*ISO) TOSEP(*NONE)
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&strtim)
CHGVAR &strtimiso (%SST(&strtim 1 2) *CAT '.' *CAT +
%SST(&strtim 3 2) *CAT '.' *CAT +
%SST(&strtim 5 2) *CAT '.' *CAT +
'000000')
CHGVAR &strstamp (&strdatiso *CAT '-' *CAT &strtimiso)
RTVDTAARA DTAARA(ABSCHLUSS (46 2)) RTNVAR(&periode)
CHGVAR &maxtime 60 /* Default, falls <> TG/WO */
IF (&periode *EQ 'TG') CHGVAR &maxtime 30
IF (&periode *EQ 'WO') CHGVAR &maxtime 180
/* - - - - - Schleife - - - - - - - - - - - - - - - - - - - - - */
LOOP: DLYJOB DLY(60)
RTVJOBA SWS(&sws) /* EOJ, wenn SWS <> X'00000000' */
IF (&sws *NE '00000000') GOTO EXIT
RTVDTAARA DTAARA(ABSCHLUSS (1 1)) RTNVAR(&abschl)
IF (&abschl *EQ 'N') GOTO EXIT
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&actdat)
CVTDAT DATE(&actdat) TOVAR(&actdatiso) +
FROMFMT(*SYSVAL) TOFMT(*ISO) TOSEP(*NONE)
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&acttim)
CHGVAR &acttimiso (%SST(&acttim 1 2) *CAT '.' *CAT +
%SST(&acttim 3 2) *CAT '.' *CAT +
%SST(&acttim 5 2) *CAT '.' *CAT +
'000000')
CHGVAR &actstamp (&actdatiso *CAT '-' *CAT &acttimiso)
CALL CLCTIMDIF (&strstamp &actstamp &duration &rc)
IF (&rc *NE '0') DO
SNDMSG +
MSG('Achtung: Im Programm CHKABSCHL ist ein +
Fehler aufgetreten. Programm wird +
beendet. Details siehe Joblog.') +
TOUSR(*SYSOPR)
CHGJOB LOG(4 00 *SECLVL) LOGCLPGM(*YES)
DSPJOBLOG OUTPUT(*PRINT)
GOTO EXIT
ENDDO
IF (&maxtime > &duration) GOTO LOOP
EXIT: ENDPGM
* * * * BEGINN DER RPGLE-Quelle * * * *
*********************************************************************
* *
* ----------------------------------------------------------------- *
* *
* Berechnen der Zeitdifferenz (in Minuten) zwischen zwei Timestamps *
* *
* ----------------------------------------------------------------- *
* *
* *
* Programm . . . . . . . . : CLCTIMDIF *
* Bibliothek . . . . . . : RZOBJ *
* *
* Quellendatei . . . . . . : QRPGLESRC *
* Bibliothek . . . . . . : RZSRC *
* Quellenteildatei . . . . : CLCTIMDIF *
* *
* Autor . . . . . . . . . : Stefan Lang *
* Erstelldatum . . . . . . : 04.12.2002 *
* Version . . . . . . . . : V4R5M0 *
* *
* *
* ----------------------------------------------------------------- *
* *
* INPUT *
* *
* FR#TimeStamp 26Z - Von (yyyy-mm-dd-hh.mm.ss.mmmmmm) *ISO *
* TO#TimeStamp 26Z - Nach (yyyy-mm-dd-hh.mm.ss.mmmmmm) *ISO *
* *
* OUTPUT *
* *
* RV#Duration 5P 0 - Dauer in Minuten *
* RV#RetCde 1A - Return-Code (0 = kein Fehler, 1 = Fehler) *
* *
* *
*********************************************************************
*
HDatEdit(*DMY)
HDatFmt(*EUR)
HDebug(*Yes)
HDecEdit('0,')
HExprOpts(*MaxDigits)
HOption(*ShowCpy : *NoDebugIO : *SrcStmt)
HTimFmt(*HMS)
*
DFR#TimeStamp S Z
DTO#TimeStamp S Z
*
DRV#Duration S 5P 0
DRV#RetCde S 1A
*
C *Entry PList
C Parm FR#TimeStamp
C Parm TO#TimeStamp
C Parm RV#Duration
C Parm RV#RetCde
*
C Eval RV#Duration = 0
C Eval RV#RetCde = '0'
*
C Do
*
C Test FR#TimeStamp RT
C Test TO#TimeStamp RT
*
C If *InRT = *On
C Eval RV#RetCde = '1'
C Leave
C EndIf
*
C TO#TimeStamp SubDur FR#TimeStamp #Dur:*MN 5 0
C Z-Add #Dur RV#Duration
*
C EndDo
*
C Eval *InLR = *On
Similar Threads
-
By Dominik_Meyer in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 24-11-06, 07:06
-
By takeoff/400 in forum NEWSboard Server & Hardware Markt
Antworten: 2
Letzter Beitrag: 31-07-06, 18:17
-
By kuempi von stein in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 19-07-06, 14:34
-
By Burkhard in forum IBM i Hauptforum
Antworten: 14
Letzter Beitrag: 19-05-06, 17:06
-
By Peet in forum NEWSboard Server & Hardware Markt
Antworten: 2
Letzter Beitrag: 02-05-06, 08:08
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks