Publicado el :
Macro CREATION_INTERNE

Conversión de comillas dobles y comas en una cadena

Este código también está disponible en: Deutsch English Français
Esta macro utilitaria, diseñada como una función, tiene como objetivo 'limpiar' una cadena de caracteres. Es particularmente útil para preparar cadenas que se pasarán como parámetro en contextos donde la sintaxis es estricta, como durante el envío de código remoto (`rsubmit`). La macro acepta un único parámetro posicional que contiene la cadena a procesar. Realiza dos operaciones: primero, reemplaza todas las comas por espacios utilizando `%sysfunc(translate)`. Luego, asume que la cadena está rodeada de comillas, las elimina con `%qsubstr`, y pasa el resultado a una macro externa `%dq2sq` que se supone que maneja la conversión de comillas dobles a comillas simples. Por lo tanto, la macro tiene una dependencia de la macro `%dq2sq` que no está definida en este código.
Análisis de datos

Type : CREATION_INTERNE


La macro no opera sobre ninguna tabla de datos. La entrada es una cadena de caracteres proporcionada como parámetro en el momento de la llamada.

1 Bloque de código
Macro
Explicación :
El bloque define la macro `%dq2sqnc`. Primero se escribe un mensaje en el log a través de `%PUT`. La macro utiliza la opción `parmbuff` para capturar todos los parámetros de forma posicional. Luego utiliza la función `%SYSFUNC` para llamar a la función SAS `TRANSLATE` con el fin de reemplazar las comas (`,`) por espacios (` `). La función `%QSUBSTR` se utiliza para eliminar el primer y el último carácter de la cadena (supuestamente comillas). El resultado se pasa entonces como parámetro a otra macro, `%dq2sq`, para un procesamiento posterior.
¡Copiado!
1%put MACRO CALLED: dq2sqnc v1.0;
2 
3%macro dq2sqnc/parmbuff;
4%dq2sq(%qsubstr(%sysfunc(translate(&syspbuff,%str( ),%str(,))),2,%LENGTH(&syspbuff)-2))
5%mend dq2sqnc;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.