Cobol - como acepto la fecha del sistema

 
Vista:

como acepto la fecha del sistema

Publicado por fede (8 intervenciones) el 12/08/2005 14:12:28
hola chic@s:
Como hago para tomar la fecha del sistema, osea la fecha actual.
Yo primero lo defino asi en la working.

FD PRESTA RECORD CONTAINS 37 CHARACTERS.
01 PRESTA-REG.
02 PRESTA-LLP.
04 PRESTA-NRO PIC 9(3).
02 PRESTA-LLS1.
04 PRESTA-FECHOY PIC 9(8).
04 PRESTA-FECHOY-R REDEFINES PRESTA-FECHOY.
06 PRESTA-D-AA PIC 9(2).
06 PRESTA-D-MM PIC 9(2).
06 PRESTA-D-DD PIC 9(2).
02 PRESTA-LLS2.
04 PRESTA-SOC PIC 9(10).
02 PRESTA-DATA.
04 PRESTA-SUEL PIC 9(5)V99.
04 PRESTA-TOTAL PIC 9(5)99.
04 PRESTA-CUOTA PIC 99.
01 FECHOY PIC 9(8).

Y después lo acepto asi, luego hago u compute a la variable fechoy, pero no me muestra nada
Y si lo muevo a una mascara me muestra algo asi 00/00/0000.
Debajo hago el display.

ACFECHA SECTION.
ACFECHA-I.
MOVE SPACES TO CMTECLA.
ACCEPT WPRESTA-FECHOY FROM DATE.

COMPUTE FECHOY = WPRESTA-D-DD * 1000000 + WPRESTA-D-MM *
10000 + (2000 + WPRESTA-D-AA).

ACFECHA-SALE.
EXIT.


DYDATA SECTION.
DYD-I.
DISPLAY SOC-APYNO LINE 6 COL 36.

* IF OPERACION NOT = "A"
* DISPLAY SOC-PRESTADO LINE 18 COL 40
* END-IF.

* MOVE FECHOY TO ED-FECHA.
* DISPLAY LINE 8 COL 36.
DISPLAY FECHOY LINE 8 COL 36. aca muestro la fecha.
DYD-SALE.
EXIT.

gracias chicos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como acepto la fecha del sistema

Publicado por SuperIndio (161 intervenciones) el 12/08/2005 16:20:50
bueno a ver......
primero no se sabe como esta definida WPRESTA-FECHOY
segundo para descartar que el accept no funciona probaria
hacer un display de lo aceptado despues del Accept y
tambien de los campos redefinidos....y demas uno despues del
COMPUTE
Segundo no se sabe si entre la llamada a la ACFECHA SECTION y
DYDATA SECTION hay un Initialize.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como acepto la fecha del sistema

Publicado por fede (8 intervenciones) el 16/08/2005 02:09:06
WPRESTA-FECHA ES LO MISMO QUE PRESTA-FECHA A ESTE LO DEFINO EN LA FD Y AL PRIMERO (WPRESTA-FECHA ) LO DEFINO EN LA WORKING. COMO ESTA EN EL PRIMER MENSAJE.
04 PRESTA-FECHOY PIC 9(8).
04 PRESTA-FECHOY-R REDEFINES PRESTA-FECHOY.
06 PRESTA-D-AA PIC 9(2).
06 PRESTA-D-MM PIC 9(2).
06 PRESTA-D-DD PIC 9(2).
Y FECHOY TAMBIEN LO PUSE
01 FECHOY PIC 9(8).

Y SI MUESTRO LO Q ACEPTO NO ME APARECE NARANJA( NADA).
GRACIAS POR CONTESTAR
CHAU CHAU CHAUUUUUUUU
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:como acepto la fecha del sistema

Publicado por jose (41 intervenciones) el 24/08/2005 07:09:53
1) presta-fechoy es de 8 numérico y lo redefinis con 3 de 2 = 6

si el date del sistema es de 6 numérico. te traería 050824 AAMMDD para el
dia 24/08/2005
tendrias que definir:
WORKING.
01 FECHA-1 PIC 9(6).
01 FECHA-1R REDEFINES FECHA-1.
03 ANIO-1 PIC 99.
03 MES-1 PIC 99.
03 DIA-1 PIC 99.

01 FECHA-2 PIC 9(8).
01 FECHA-2R REDEFINES FECHA FECHA-2.
03 ANIE-2 PIC 99.
03 ANIO-2 PIC 99.
03 MES-2 PIC 99.
03 DIA-3 PIC 99.

01 FECHA-F.
03 DIA-F PIC Z9.
03 FILLER PIC X VALUE "/".
03 MES-F PIC 99.
03 FILLER PIC X VALUE "/".
03 ANIE-F PIC 99
03 ANIO-F PIC 99.

PROCEDURE DIVISION.
INICIO.

ACCEPT FECHA-1 FROM DATE.

IF ANIO-1 < 20 MOVE 20 ANIE-2 ANIE-F
ELSE
MOVE 19 TO ANIE-2 ANIE-F
MOVE ANIO-1 TO ANIO-2 ANIO-F.
MOVE MES-1 TO MES-2 MES-F
MOVE DIA-1 TO DIA-2 DIA-F
DISPLAY FECHA-F.
STOP RUN.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como acepto la fecha del sistema

Publicado por Roxana (6 intervenciones) el 16/08/2005 17:11:30


Que quieres hacer con el COMPUTE....
Por que multiplicas el dia por 1000000, el mes por 10000 , etc.
porque el dia por 1000000 es mucho mas que 99.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como acepto la fecha del sistema

Publicado por fede (8 intervenciones) el 05/09/2005 02:58:50
roxana ,linda : el compute es para pasar la fecha del sistema al formato dia-mes-año ya que le sistema me devuelve la fecha año-mes-dia
hace la cuenta y veras.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como acepto la fecha del sistema

Publicado por RAUL (22 intervenciones) el 29/09/2005 22:29:41
Me parece que se olvidan que pueden definir la fecha de salida con los mismos nombres de la fecha que capturan del sistemas ambas redefinidas... y luego hacer un :

MOVE CORR

SI LES INTERESA SE LOS EXPLICO MAS EXTENSO...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como acepto la fecha del sistema

Publicado por oscar (37 intervenciones) el 28/08/2005 17:43:59
Pienso que ya debes haber resuelto tu problema. Pero te diré que tienes mal la redefinición del campo de fecha o es de 8 dígitos o es de 6, decídete.

Es muy simple la solución:

01 FECHA PIC 9(6).
01 FE-CHA REDEFINES FECHA.
03 AA PIC 99.
03 MM PIC 99.
03 DD PIC 99.

01 DIAHOY PIC 9(6)
03 DDH PIC 99.
03 MMH PIC 99.
03 DDH PIC 99.

luego en la procedure haces:
ACCEPT FECHA FROM DATE.
y tendrás la fecha del sistema cargada y luego si la deseas mostrar como nosotros lo hacemos en formato ddmmaa haz las transferencias:
MOVE AA TO AAH
MOVE DD TO DDH.
y ¡ESO ES TODO!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:como acepto la fecha del sistema

Publicado por Luis Salinas (83 intervenciones) el 02/09/2005 03:48:22
Estimado colega. Saludos atentos.
De plano tienes mal la redefinicion del canpo de 8 bytes, al redefinir estas declarando solo seis bytes.
Podrias declarar algo asi, eso como ejemplo. :

02 W-FECSYS PIC 9(08).
02 W-FECHSY REDEFINES W-FECSYS.
03 W-MLS PIC 9(004).
03 W-RMS REDEFINES W-MLS.
05 W-SGS PIC 9(002).
05 W-AAS PIC 9(002).
03 W-MMS PIC 9(002).
03 W-DDS PIC 9(002).

02 W-FECHAS PIC 9(008).
02 W-FECHA REDEFINES W-FECHAS.
03 W-ML PIC 9(004).
03 W-RL REDEFINES W-ML.
05 W-SG PIC 9(002).
05 W-AA PIC 9(002).
03 W-MM PIC 9(002).
03 W-DD PIC 9(002).
02 W-FCHINP REDEFINES W-FECHAS.
03 W-SG6 PIC 9(002).
03 W-FCHA06.
05 W-AA6 PIC 9(002).
05 W-MM6 PIC 9(002).
05 W-DD6 PIC 9(002).

02 W-FECHED PIC 99/99/99.

02 W-EDFECH.
03 W-EDDIA PIC 9(002).
03 W-FFIL1 PIC X(001).
03 W-EDMES PIC X(003).
03 W-FFIL2 PIC X(001).
03 W-EDMIL PIC 9(004).

Espero amigo que te sirva de algo.

Att.
Luis.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar