Damit das gequängel ein Ende hat, hier ist der Code.
Rechnung folgt.
![]()
Code:***************************************************************** * * * ------------------------------------------------------------- * * ! Achtung !! Programm muss wegen der verwendeten APIs * * erst mit CRTRPGMOD und dann mit CRTRPGPGM ACTGRP(QILE) * * umgewandelt werden !! * * ------------------------------------------------------------- * * * ***************************************************************** * * * ------------------------------------------------------------- * * P r o g r a m m - B e s c h r e i b u n g * * ------------------------------------------------------------- * * * * Das Programm addiert zu dem im Parameter mitgegebenem Datum * * 10 Tage, ermittelt den Wochentag, addiert bei Samstag oder * * Sonntag nochmals 1 oder 2 Tage dazu. * * * * Eingangsparameter / Rückgabeparameter : * * * * PE#Datum (6S 0) - Datumsfeld Format TTMMJJ * * * * Rückgabeparameter: * * * * PE#Error (1A) - Fehler ('0' = O.K., '1' = Fehler) * * * ***************************************************************** H DatEdit(*DMY.) H DatFmt(*EUR.) H Debug(*Yes) H DecEdit('0,') H ExprOpts(*MaxDigits) H Option(*ShowCpy : *NoDebugIO : *SrcStmt) H TimFmt(*HMS) D PE#Datum S 6S 0 D PE#RtnCode S 1A D P#Datum S 10A D P#DatFmt S 10A Inz('DDMMYY') D P#ApiParm S 9B 0 D P#TagNr S 9B 0 D #DatumD S D *===================================================================== * *ENTRY - Parameter *===================================================================== C *Entry PList C Parm PE#Datum C Parm PE#RtnCode ********************************************************************** ****** H A U P T V E R A R B E I T U N G ****** ********************************************************************** C Eval PE#RtnCode = '0' C Do * Datum auf Gültigkeit prüfen C *DMY Test(D) PE#Datum RT C If *InRT C Eval PE#RtnCode = '1' C Leave C EndIf C *DMY Move PE#Datum #DatumD C AddDur 10:*D #DatumD C *DMY Move #DatumD PE#Datum C Movel PE#Datum P#Datum C CallB(D) 'CEEDAYS' C Parm P#Datum C Parm P#DatFmt C Parm P#ApiParm C Parm *OMIT C CallB(D) 'CEEDYWK' C Parm P#ApiParm C Parm P#TagNr C Parm *OMIT * neuer Tag ist Samstag C If P#TagNr = 7 C AddDur 2:*D #DatumD C EndIf * neuer Tag ist Sonntag C If P#TagNr = 1 C AddDur 1:*D #DatumD C EndIf C *DMY Move #DatumD PE#Datum C EndDo *---------------------------------------------------------------- * Programmende *---------------------------------------------------------------- C Eval *InLR = *On
[Dieser Beitrag wurde von JoergZ am 02. August 2001 editiert.]
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks