• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
http://iseriesvenezuela.blogspot.com.Calcula la diferencia entre dos horas expresada en HH.MM.SS, en un arco de tiempode 24 horas.http://iseriesvenezuela.blogspot.com
Algunos procesos particularmente largos en tiempo de ejecución,requieren ser auditados y registrados para someterlos a un proceso deanálisis, evaluación y en ocasiones proceder a un procedimiento dereingeniería para optimizar los tiempo de respuesta. Podemos grabar lahora de inicio en un archivo, justo antes de comenzar y al finalizar,grabamos la hora de culminación. Para obtener la duración del procesoen HH:MM:SS (horas, minutos, segundos) tenemos la siguiente rutina.Esta utilidad funciona en un período de 24 horas mas allá de ese arcode tiempo es necesario programar otra utilidad. (Útil para procesosque no tardan más de 24 horas ejecutándose).La utilidad devuelve en una variable alfabética de seis posiciones ladiferencia de horas HHMMSS. Los parámetros de entrada deben enviarsetambién en sendas variables alfabéticas de 6 posiciones para las horasde Inicio y de finalización cuya diferencia se desea calcular.
Autora: Liliana Suárez. E-mail: rpg.iseries@gmail.com
 
http://iseriesvenezuela.blogspot.com.Calcula la diferencia entre dos horas expresada en HH.MM.SS, en un arco de tiempode 24 horas.
Enlace a la descarga del código fuente:
 
 
Email: rpg.iseries@gmail.com*|ß*|ß Programa : UTIME*|ß : Calcula tiempo de Duracion de Proceso.*|¼ Fecha Creaci¢n: Julio 2.011*|¼ Creado por : Liliana Suarez*|¼ Iseries Venezuela*| __________________________________________________________________|*/if defined(*crtbndrpg)h dftactgrp(*no)h bnddir('QSYS/QC2LE')h actgrp(*new)/endif h option(*noexpdds: *showskp: *noxref: *noext)hdebug(*yes)hdftname(CONVERDATE)htimfmt(*HMS)haut(*all)hfixnbr(*zoned)htext(*srcmbrtxt)**´Variables de trabajodHay_error S nd dsdpduracion 1 6dphoras 1 2dpminutos 3 4dpsegundos 5 6d dsdHoraIH 1 6S 0dHoraI 1 2S 0dMinutosI 3 4S 0dSegundosI 5 6S 0d dsdHoraFH 1 6S 0dHoraF 1 2S 0dMinutosF 3 4S 0dSegundosF 5 6S 0
Autora: Liliana Suárez. E-mail: rpg.iseries@gmail.com
 
http://iseriesvenezuela.blogspot.com.Calcula la diferencia entre dos horas expresada en HH.MM.SS, en un arco de tiempode 24 horas.
D Horasd S 15 8D Horas S 6 0D Minutosd S 15 8D Minutos S 6 0D Segundos S 6 0D Ajuste S nD Durseg S 15 8D*D Main pr EXTPGM('UTIME')d p_horaIh 6ad p_horaFh 6ad p_duracion 6aD Main pid p_horaIh 6ad p_horaFh 6ad p_duracion 6a/Free//»//» Restar Horas//»horaIh = %int(p_horaIh);horaFh = %int(p_horafh);Ajuste = *Off;If HoraFh < HoraIH;Select;when HoraI <= 12;HoraF = HoraF + 12;when HoraI > 12;HoraF = HoraF + 12;Ajuste = *On;EndSl;Endif;Durseg =(%DEc(%Diff(%Time(HoraFh:*Hms):%Time(HoraIH:*Hms):*s)));If ajuste;Durseg = Durseg + 12*60*60;Endif;Horasd= Durseg/60/60;Horas = Durseg/60/60;Minutosd= Horasd-Horas;Eval(h) Segundos= Minutosd*60*60; //redondear segundosMinutosd= Segundos/60;Minutos = Segundos/60;Eval(h) Segundos= (Minutosd-minutos)*60;//Horasif Horas = 0;phoras = '00';
Autora: Liliana Suárez. E-mail: rpg.iseries@gmail.com
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...