*===================================================================== * PROGRAMA...: DIASHABR * DESCRIPCION: Calcular cantidad de días hábiles entre 2 fechas. * AUTOR......: Diego M. ACEVEDO -Buenos Aires, Argentina- * FECHA......: 05/03/2004 * * Atención!!: Compilar con el comando CRTBNDRPG con los siguientes * parámetros DFTACTGRP(*NO) BNDDIR(QUSAPIBD) *===================================================================== * ILE-CEE Api's *---------------------------------------------------------- d ceedays pr ExtProc('CEEDAYS') OpDesc d 10a d 10a d 10i 0 d d Like(fc) *---------------------------------------------------------- d ceedywk pr ExtProc('CEEDYWK') OpDesc d 10i 0 d 10i 0 d z Like(fc) *---------------------------------------------------------- * Feedback . *-------------------------------------------------- d fc Ds d sev 5U 0 d msgno 5U 0 d flags 1 d facid 3 d isi 10U 0 *-------------------------------------------------- d Fecha s 10a Inz d Formato s 10a Inz('YYYYMMDD') d Lilian s 10I 0 Inz d DayOfWeek s Like(Lilian) d DiasHabiles s Like(Lilian) *-------------------------------------------------- * Input parameters. *-------------------------------------------------- d FechaDes ds d From_Date d d f_AÑo 4s 0 overlay(From_Date) d f_Mes 2s 0 overlay(From_Date:6) d f_Dia 2s 0 overlay(From_Date:9) *-------------------------------------------------- d FechaHas ds d To_Date d d c_Aœo 4s 0 overlay(To_Date) d c_Mes 2s 0 overlay(To_Date:6) d c_Dia 2s 0 overlay(To_Date:9) *-------------------------------------------------- c *Entry Plist c Parm FechaDes c Parm FechaHas c Parm Resultado 10 *================================================== * * M A I N P R O G R A M * *================================================== c DoU From_Date > To_Date c *Iso0 Move From_Date Fecha c CallP ceedays(Fecha:Formato:Lilian:fc) c CallP ceedywk(Lilian:DayOfWeek:fc) c If DayOfWeek <> 1 and DayOfWeek <> 7 c Eval DiasHabiles = DiasHabiles+1 c EndIf c From_Date AddDur 1:*d From_Date c EndDo c Eval Resultado = %Char(DiasHabiles) c SetOn LR