Otros temas que te pueden interesar
|
||||
| Tema | Autor | Foro | Respuestas | Último post |
| [Sintaxis] Máximo valor de una variable | Begoguay | COBOL - General | 6 | 4 de mayo de 2020 19:46 |
| [Sintaxis] Traspasar el valor de una variable | jmeza | PowerCOBOL (ActiveX, v4 - v11) | 2 | 30 de mayo de 2019 01:20 |
| Tablas bidimensionales de longitud variable | Kuk | Cocina MicroFocus | 2 | 23 de mayo de 2018 11:13 |
| [Sintaxis] Informar variable JCL con contenido de fichero. | RaulC | JCL y utilidades | 9 | 4 de abril de 2018 20:47 |
| [Sintaxis] Obtener una ruta en Red | Roger | PowerCOBOL (ActiveX, v4 - v11) | 16 | 1 de mayo de 2015 22:40 |
![]() |
|
Administrador
![]()
|
Amigos, hay una maravilla en Cobol que muchos desconocen. Así que he pensado en compartirla.
En Fujitsu hay una función, que es la STORED-CHAR-LENGTH la que nos dice la longitud del valor de un campo. Pero en otros Cobol esta función no existe. Pero lo que muchos no saben, es que el verbo STRING de Cobol puede decirnoslo si lo usamos con el añadido WITH POINTER! ![]() Ejemplo: Código COBOL:
En IDX-1 vamos a tener el número correspondiente al primer caracter "libre" después de haber realizado el STRING, o sea en el caso del ejemplo, vamos a tener un 9. Con lo cual, la longitud del contenido siempre será IDX-1 - 1. Evidentemente este ejemplo es para una cadena con espacios en medio (por eso en DELIMITED hay 2 espacios) pero se puede adaptar según necesitad. Espero que sirva a alguien. ![]() NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
Forero Activo
![]()
|
Yo hago algo parecido, pero previendo que entre medio de los datos útiles haya mas de un espacio mando cualquier cosa al final de la variable. Ejemplo :
Código COBOL:
Se que en esta variable no puede haber "!", de lo contrario reemplazo por cualquier otro caracter. Y si necesito la variable como estaba al inicio : Código COBOL:
Y todo queda como estaba. Y en el puntero, como bien dice @Kuk, queda el número de caracteres útiles del campo. |
||||||||
|
|
|
|
Administrador
![]()
|
El de Micro Focus no lo tiene (cosa que me parece muy rara porque el Cobol de MF es el más rico normalmente), y el de IBM para Mainframes tampoco.
NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
Acucobol tambien lo lleva. https://www.microfocus.com/documenta...00001S223.html La version rm/cobol 5.35 con la cual yo empece hace 30 años (1990) ya lo llevaba. "string" es un estandard (COBOL-85) y en todos los cobol esa caracteristica debe de llevarla integrada al menos si es compatible COBOL-85 |
|||||||||
|
|
|
|
Administrador
![]()
|
NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
![]() |
| Herramientas | |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||