Cobol - Funciones STRING / UNSTRING con VARCHAR

   
Vista:

Funciones STRING / UNSTRING con VARCHAR

Publicado por Juan Fco (1 intervención) el 09/05/2014 14:25:41
Hola:
Una duda. ¿ Se pueden usar las funciones string / unstring con un dato de tipo varchar, como por ejemplo:
01 W-MENS-TEMP-1.
49 W-MENS-TEMP1-LONG PIC 9(4).
49 W-MENS-TEMP1-TEXT PIC X(500)?

Si es así, ¿se debe añadir algo especial en las sentencias string / unstring?
Saludos y Gracias,
Juan Fco. Ayala
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
Imágen de perfil de Sergio

Funciones STRING / UNSTRING con VARCHAR

Publicado por Sergio (3 intervenciones) el 23/05/2014 19:05:25
Hola Juan,
En principio no debería haber problemas con ese tipo de variables, ya que tanto la sentencia string como su contraparte unstring trabajan con el delimitador que vos elijas, este puede ser "size" (de los campos source u object de cada sentencia), o en su defecto un delimitador establecido (ejemplo ";").

Saludos,

Sergio

Ejemplo:

*Si quieres ir llevando el control de la longitud de tu variable, la inicializas
Move 1 To W-Mens-Temp1-Long
*y le vas agregando los campos que necesites al final de cada campo llevando el control (Pointer) en tu variable
String Campo1 ";" delimited by Size Into W-Mens-Temp1-Text Pointer W-Mens-Temp1-Long
String Campo2 ";" delimited by Size Into W-Mens-Temp1-Text Pointer W-Mens-Temp1-Long
String Campo3 ";" Campo4 ";" Campo5 ";" delimited by Size Into W-Mens-Temp1-Text Pointer W-Mens-Temp1-Long
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

Funciones STRING / UNSTRING con VARCHAR

Publicado por SuperIndio (13 intervenciones) el 10/06/2014 22:27:19
Te corrijo el String no es una funcion es una sentencia, las funciones
en general usan la palabra FUNCTION Ej:

MOVE FUNCTION CURRENT-DATE TO WS-FECHA-SISTEMA

La Sent. STRING Sirve para unir valores de variables (no empaquetadas)
en otra variable. Es Obvio que es deseable que la logitud de la variable destino debe ser
igual o mayor a la sumatoria de las longitudes de la variables origen.

Ej:

01 Wkt-Registro
03 Wkt-Apellido Pic X(20) Value "Chamaco".
03 Wkt-Nombres Pic X(40) Value "Chulengo Chuleta".
03 Wkt-DNI Pic X(16) Value "20200212"
03 Wkt-CBU Pic 9(22) Value 6501295012740100001022.
03 Wkt-Cuenta Pic 9(12) Value 950127401
03 Wkt-TipoCuenta Pic 9(04) Value 0401.


Inspect Wkt-Nombres Replacing All " " By "##"
Display "Nombre: " Wkt-Nombres
Nombre: Chulengo Chuleta########################

Inspect Wkt-Nombres Replacing All " " By "@"
Display "Nombre: " Wkt-Nombres
Nombre: Chulengo@Chuleta########################


Inspect Wkt-Nombres Replacing All "##" By " "
Display "Nombre: " Wkt-Nombres
Nombre: Chulengo@Chuleta

String Wkt-Apellido "@"
Wkt-Nombres "@"
Wkt-DNI "@"
Wkt-CBU "@"
Wkt-Cuenta "@"
Wkt-TipoCuenta
Delimited by Spaces Into Wkt-Linea
End-String

Display "Linea: " Wkt-Linea
Linea: Chamaco@Chulengo@Chuleta@20200212@6501295012740100001022@950127401@0401

Inspect Wkt-Linea Replacing All "@" By " "

Display "Linea: " Wkt-Linea
Linea: Chamaco Chulengo Chuleta 20200212 6501295012740100001022 950127401 0401


Tambien se puede Usar el Unstring cuando quieras separar un String en variables
siempre y cuando tengan algun patron de separador.
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