0

![]() |
![]() |
Junior |
Hola, alguien me podría ayudar con una rutina de calculo entre dos fechas para RMCOBOL85
Tengo una pero no es exacta.
La que tengo de PawercobolV9 no funciona en Rmcobol
Saludos
![]() |
![]() |
Administrador |
¿Te han ayudado? NO TE OLVIDES de darle al botón
¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
- Haciendo clic en el icono
al lado de su nick
- Haciendo clic en el botón
en el editor y escribiendo su nick.
![]() |
![]() |
Junior |
Kuk, este es el código en rmcobol85, se cae en esta línea, CALL "DIFERMES" USING LNK-DIFER.
error 234 (no object file found) error loading subprogram DIFERMES.
Esta rutina la baje de la pagina y en powercobolv9 funciona sin problemasCOBOL Código:
WORKING-STORAGE SECTION. 01 DIA PIC 99. 01 MES PIC 99. 01 ANO PIC 99. 01 N-FECHA PIC X(100). 01 F-INICIAL PIC X(10). 01 F-FINAL PIC X(10). 01 SV-FECHA PIC X(10). 01 status-code PIC S9(4) COMP-5. 01 LNK-DIFER. COPY "CPY-DIFER.COB". PROCEDURE DIVISION. CALCULO-FECHA-CONTRATO. MOVE 1 TO DIF-OPCION. MOVE REM02-FECCONT TO F-INICIAL. MOVE F-INICIAL TO SV-FECHA. MOVE SV-FECHA(1:2) TO DIF-FECHA-1(1:2). MOVE SV-FECHA(4:2) TO DIF-FECHA-1(3:2). MOVE SV-FECHA(7:4) TO DIF-FECHA-1(5:4). MOVE AC-FECING TO F-FINAL. MOVE F-FINAL TO SV-FECHA. MOVE SV-FECHA(1:2) TO DIF-FECHA-2(1:2). MOVE SV-FECHA(4:2) TO DIF-FECHA-2(3:2). MOVE SV-FECHA(7:4) TO DIF-FECHA-2(5:4). CALL "DIFERMES" USING LNK-DIFER. MOVE DIF-ANIOS TO ANO. MOVE DIF-MESES TO MES. MOVE DIF-DIAS TO DIA. STRING ANO DELIMITED BY SIZE " Años " DELIMITED BY SIZE MES DELIMITED BY SIZE " Meses " DELIMITED BY SIZE DIA DELIMITED BY SIZE " Dias" DELIMITED BY SIZE INTO N-FECHA. DISPLAY N-FECHA LINE 18 POSITION 3.
![]() |
![]() |
Senior |
Es porque no te encuentra el programa "difermes".
Debes de localizarlo e intentar compilarlo para ver si te funciona.
![]() |
![]() |
Administrador |
@JCantero, es una DLL, viene on una LIB pero no sé como se hará en RM para utilizarla.
¿Te han ayudado? NO TE OLVIDES de darle al botón
¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
- Haciendo clic en el icono
al lado de su nick
- Haciendo clic en el botón
en el editor y escribiendo su nick.
![]() |
![]() |
Junior |
![]() |
![]() |
Administrador |
@jmeza, yo tenía una rutina hecha hace muchos años, creo que la publiqué en el antiguo foro, y se llamaba así, DIFERMES
Bueno, al caso, coge este fuente y no necesitas librerías: [Aporte] DLL de cáculo de fecha y hora - COBOL Foro
¿Te han ayudado? NO TE OLVIDES de darle al botón
¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
- Haciendo clic en el icono
al lado de su nick
- Haciendo clic en el botón
en el editor y escribiendo su nick.
![]() |
![]() |
Junior |
Lo resolví de este modo, para lo que necesitaba, saber la cantidad de años entre dos fechas
COBOL Código:
WORKING-STORAGE SECTION. 01 FECHA-INGRESO. 02 AC-FECING PIC 9(08). 02 R-AC-FECING REDEFINES AC-FECING. 03 AA-FECING PIC 9(04). 03 MM-FECING PIC 9(02). 03 DD-FECING PIC 9(02). 01 VARI-ANTIGUEDAD. 02 AC-FECCON PIC 9(08). 02 R-AC-FECCON REDEFINES AC-FECCON. 03 AA-FECCON PIC 9(04). 03 MM-FECCON PIC 9(02). 03 DD-FECCON PIC 9(02). 02 AC-DIATOT PIC 9(05)V999. 02 AC-MESTOT PIC 9(03)V999. 02 AC-ANOTOT PIC 9(02)V999. 02 FECHA1 PIC 9(08). 02 FECHA2 PIC 9(08). PROCEDURE DIVISION. CALCULO-FECHA-CONTRATO. MOVE 0 TO AC-DIATOT AC-MESTOT AC-ANOTOT MOVE REM02-FECCONT TO AC-FECCON COMPUTE FECHA1 = (AA-FECCON * 365.25) + DANO(MM-FECCON) + DD-FECCON COMPUTE FECHA2 = (AA-FECING * 365.25) + DANO(MM-FECING) + DD-FECING IF FECHA1 > FECHA2 MOVE " !! Fecha < a la Primera !! " TO MENSAJE PERFORM EMITE-MENSAJE ELSE COMPUTE AC-DIATOT ROUNDED = FECHA1 - FECHA2 COMPUTE AC-MESTOT ROUNDED = (AC-DIATOT / 30) COMPUTE AC-ANOTOT ROUNDED = (AC-DIATOT / 365.25).
Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)
Marcadores