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
Leave a Comment