Cómo: |
Idiomas disponibles: informes, Maintain
La función PARAG divide una cadena de caracteres en subcadenas, señalándolas con un delimitador. Examina un número específico de caracteres desde el principio de la cadena, y reemplaza el último espacio del grupo examinado por el delimitador, dando lugar a una primera subcadena, también denominada token. A continuación examina el próximo grupo de caracteres de la línea, empezando por el delimitador, y reemplaza el último espacio por otro delimitador, dando lugar al segundo token. El proceso se repite hasta que se llega al final de la línea.
Cuando el delimitador haya terminado de marcar todos los tokens, puede utilizar la función GETTOK para colocarlos en distintos campos (consulte GETTOK: Cómo extraer una subcadena (Token)). Si PARAG no encuentra espacios en el grupo examinado, reemplaza el primer carácter posterior al grupo del delimitador. Por tanto, asegúrese de que los grupos de caracteres presenten, al menos, un espacio. El número de caracteres examinado está proporcionado como tamaño máximo del token.
Por ejemplo, si tiene un campo llamado 'subtítulo' con una gran cantidad de texto, compuesto por palabras separadas mediante espacios, puede cortar el campo en subcadenas del mismo tamaño (aproximadamente) especificando el tamaño máximo del token, para dividir el campo. Si el campo tiene 350 caracteres de largo, divídalo en tres subcadenas, especificando un tamaño máximo de token de 120 caracteres. Esta técnica le permite imprimir líneas de texto con forma de párrafo.
Sugerencia: Si divide las líneas en partes iguales, puede generar más sublíneas de las deseadas. Por ejemplo, suponga que divide líneas de texto de 120 caracteres en dos líneas con un máximo de 60 caracteres, pero una de ellas está dividida de forma que la primera sublínea tiene 50 caracteres y la segunda, 55. Esto deja espacio para una tercera sublínea de 15 caracteres. Para corregir esta situación, inserte un espacio (mediante concatenación débil) al principio de la sublínea restante y, a continuación, añádala (mediante concatenación fuerte) al final de la línea que la precede. Tenga en cuenta que la sublínea tendrá más de 60 caracteres.
PARAG(length, source_string, 'delimiter', max_token_size, output)
donde:
Número entero
Es el número de caracteres en source_string y output, o un campo que contenga la longitud.
Alfanumérico
Es una cadena que se va a dividir en tokens, entre comillas simples, o un campo o variable que contiene el texto.
Alfanumérico
Es el delimitador, entre comillas simples. Escoja un carácter que no aparezca en el texto.
Número entero
Es el límite superior de tamaño para cada token.
Alfanumérico
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.
PARAG divide ADRRESS_LN2 en líneas más pequeñas, de no más de 10 caracteres, con una coma como delimitador. Después, guarda el resultado en PARA_ADDR:
TABLE FILE EMPLOYEE
PRINT ADDRESS_LN2 AND COMPUTE
PARA_ADDR/A20 = PARAG(20, ADDRESS_LN2, ',', 10, PARA_ADDR);
BY LAST_NAME
WHERE TYPE EQ 'HSM';
END
La salida es:
LAST_NAME ADDRESS_LN2 PARA_ADDR --------- ----------- --------- BANNING APT 4C APT 4C , CROSS 147-15 NORTHERN BLD 147-15,NORTHERN,BLD GREENSPAN 13 LINDEN AVE. 13 LINDEN,AVE. IRVING 123 E 32 ST. 123 E 32,ST. , JONES 235 MURRAY HIL PKWY 235 MURRAY,HIL PKWY MCKNIGHT 117 HARRISON AVE. 117,HARRISON,AVE. ROMANS 271 PRESIDENT ST. 271,PRESIDENT,ST. SMITH 136 E 161 ST. 136 E 161,ST.
WebFOCUS |