Estimados, como andan !!
Como los Trata el Amigo Covid? Yo me he vacunado con la Sputnic-5 Así que ahora hablo Ruso el perfectamente !!! jajajajaj
.
Tengo un problema con una tabla de SqlServer en la que tengo que grabar dos campos, uno DateTime y otro Date. Y no logro encontrar la compatibilidad con PW9.
Alguien sabe como declararlos?!
Abrazo a todos y disculpas por estar medio perdido pero me time uno tiempo de paz y tranquilidad y en abril he vuelto al COBOL.
Hola HRM
Me alegro muchísimo de poder colaborar.
He aquí la solución:
a) El campo a "estampar" debes PIC X(19).
b) Su composición debe ser llenada con esta estructura:
YYYY '/' MM '/' DD ' ' HOR ':' MIN ':' SEG *> Notar que se usa sólo hasta SEGUNDOS. La milésima de segundo NO SE ESTAMPA.
... entonces, el modelo de registro es:
Código COBOL:
STRING
YYYY '/' MM '/' DD ' ' HOR ':'MIN':' SEG *> Notar que se usa sólo hasta SEGUNDOS. La milésima de segundo NO SE ESTAMPA.
DELIMITEDSIZE
INTO WSS_FECHA_Y_HORA *> Este es el campo SQL definido en la WSS
c) Debes usar el separador de fecha "/". El separador "-" NO FUNCIONA !!
Este programa lo fabriqué para probar. Funciona tanto para Postgres SQL como para SQL Server (los probé en ambos).
Código COBOL:
ENVIRONMENTDIVISION.
DATADIVISION.
WORKING-STORAGESECTION.
01 TODAY PIC X(16).
01 FECHA-Y-HORA REDEFINES TODAY.
05 FECHA-HOY.
10 YYYY PIC X(4).
10 MM PIC X(2).
10 DD PIC X(2).
05 HORA-HOY.
10 HOR PIC99.
10MINPIC99.
10 SEG PIC99.
10 MDS PIC99.
EXECSQLBEGINDECLARESECTIONEND-EXEC.
01 WSS_FECHA_Y_HORA PIC X(19).
EXECSQLENDDECLARESECTIONEND-EXEC.
PROCEDUREDIVISION.
MOVEFUNCTIONCURRENT-DATETO TODAY *> Función para obtener la fecha y la hora deseada
DISPLAY TODAY '<-TODAY luego de ejecutar MOVE FUNCTION CURRENT-DATE TO TODAY'
MOVESPACESTO WSS_FECHA_Y_HORA
STRING
YYYY '/' MM '/' DD ' ' HOR ':'MIN':' SEG *> Notar que se usa sólo hasta SEGUNDOS. La milésima de segundo NO SE ESTAMPA.
DELIMITEDSIZE
INTO WSS_FECHA_Y_HORA
DISPLAY WSS_FECHA_Y_HORA '<- Así queda el campo luego de llenado'