Hola.
He seguido tus instrucciones y he salvado el error, pero no me funciona, no encuentro el fallo.
Quizas no sepa bien como actua.
Mi intencion es que haga la seleccion por fechas , le indico una fecha minima y quisiera que se situara en ella. A partir de ella , me hiciera un avance al siguiente registro que cumpliera el mismo requisito.
Código COBOL:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 wl-codigo pic x(010).
01 wl-condi pic x(050).
01 FECHA.
02 AÑO PIC X(4).
02 MES PIC X(2).
02 DIA PIC X(2).
01 FECHA-2 PIC X(10).
PROCEDURE DIVISION.
move spaces to wl-condi.
* move "Text" OF Cm-FECHA2 TO FECHA.
* STRING AÑO "/" MES "/" DIA DELIMITED BY SIZE
* into FECHA-2.
* MOVE FECHA-2 TO "Text" OF Cm-FECHA3.
* MOVE FECHA-2 TO WL-CODIGO.
* move wl-codigo TO "Text" OF Cm-FECHA3.
* string "FECHA >= '" DELIMITED BY SIZE
* WL-CODIGO DELIMITED BY SIZE
* "'" DELIMITED BY SIZE
* into wl-condi.
* aqui le meto la fecha a la fuerza para ver si chuta
move "FECHA > 2014/08/30" to wl-condi.
* end-string
move SPACES to "Condition" OF CmDb1
move wl-condi to "Condition" OF CmDb1
INVOKE CmDb1 "SelectRecords" RETURNING ReturnValue
if ReturnValue < zeros
INVOKE pow-self "DisplayMessage" USING "Atencion" "Codigo No Existe" 0
exit program.
INVOKE CmDb1 "ReadNextRecord" RETURNING ReturnValue
if ReturnValue = 1
move "FECHA" of CmDb1 to "Text" OF Cm-FECHA
move "CLICODIGO" of CmDb1 to "Text" OF Cm-Clicodigo
move "NOMBRE" of CmDb1 to "Text" OF Cm-Nombre
move "TOTAL_FRA" of CmDb1 to "Text" OF Cm-Total_fra
move "N_FACTURA" of CmDb1 to "Text" OF Cm-n_factura
ELSE DISPLAY RETURNVALUE
end-if
Se posiciona en una fecha erronea :-¿?
Y el avance de registro no funciona.
Código COBOL:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 wl-codigo pic x(010).
01 wl-condi pic x(050).
PROCEDURE DIVISION.
INVOKE CmDb1 "ReadNextRecord" RETURNING ReturnValue
if ReturnValue = 1
move "FECHA" of CmDb1 to "Text" OF Cm-FECHA
move "CLICODIGO" of CmDb1 to "Text" OF Cm-Clicodigo
move "NOMBRE" of CmDb1 to "Text" OF Cm-Nombre
move "TOTAL_FRA" of CmDb1 to "Text" OF Cm-Total_fra
move "N_FACTURA" of CmDb1 to "Text" OF Cm-n_factura
end-if
Citación del post de
Kuk
|
❞
Breew, la propiedad "Text" en un CmText obtiene valor sobre 8 en numérico, no coge los guiones. Si en la tabla, el cahmpo de la fecha lo tienes definido como DATE, no va a funcionar. Porque, que to sepa, el tipo DATE en una tabla siempre lleva separadores, depende del formato. Por ejemplo el formato ISO es AAAA-MM-DD. Si le pones barras "/", va a dar error de formato.
Dicho esto, revisa el formato definido en la tabla. Y sea como sea que muestres las fechas en CmText, con STRING construye el formato de fecha esperado por la BBDD. Así no te dará error. 
|