Cómo: |
Lenguajes disponibles: informes
La función OVRLAY recubre una cadena de caracteres base con una subcadena. La función permite modificar una parte del campo alfanumérico sin reemplazarlo en su totalidad.
Existe una versión de la función OVRLAY que sólo está disponible en el lenguaje Maintain. Para más información acerca de esta función, consulte OVRLAY: Cómo superponer una cadena de caracteres (Maintain).
OVRLAY(source_string, length, substring, sublen, position, output)
donde:
Alfanumérico
Es la cadena de caracteres base.
Número entero
Es el número de caracteres en source_string y output, o un campo que contenga la longitud. Si el argumento es menor o igual que 0, puede obtener resultados impredecibles.
Alfanumérico
Es la subcadena que se va a superponer sobre source_string.
Número entero
Es el número de caracteres en substring o un campo que contenga la longitud. Si este argumento es menor o igual que 0, la función devuelve espacios.
Número entero
Es la posición de source_string en que comienza la superposición. Si este argumento es menor o igual que 0, la función devuelve espacios. Si el argumento es más largo que stringlen, la función devuelve la cadena de origen.
Alfanumérico
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas. Si la cadena recubierta es más larga que el campo de salida, la cadena queda truncada para que encaje en el campo.
Tenga en cuenta que si la cadena superpuesta es más larga que el campo de salida, la cadena queda truncada para que encaje con el campo.
OVRLAY reemplaza los tres últimos caracteres de EMP_ID con CURR_JOB para crear un nuevo código de identificación de seguridad y guarda los resultados en NEW_ID:
TABLE FILE EMPLOYEE
PRINT EMP_ID AND CURR_JOBCODE AND COMPUTE
NEW_ID/A9 = OVRLAY(EMP_ID, 9, CURR_JOBCODE, 3, 7, NEW_ID);
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'MIS';
END
La salida es:
LAST_NAME FIRST_NAME EMP_ID CURR_JOBCODE NEW_ID --------- ---------- ------ ------------ ------ BLACKWOOD ROSEMARIE 326179357 B04 326179B04 CROSS BARBARA 818692173 A17 818692A17 GREENSPAN MARY 543729165 A07 543729A07 JONES DIANE 117593129 B03 117593B03 MCCOY JOHN 219984371 B02 219984B02 SMITH MARY 112847612 B14 112847B14
WebFOCUS |