La macro no procesa datos en sí, sino que interactúa con el sistema de archivos de SAS Drive (metadatos de existencia de carpeta). No se leen ni se crean datos externos dentro de la propia macro para su procesamiento analítico.
1 Bloque de código
MACRO (mf_abort)
Explicación : Este bloque verifica el valor de la variable de sistema `&syscc`. Si `&syscc` no es cero (indicando un error previo), se llama a la macro `mf_abort` para detener la ejecución y mostrar un mensaje de error. Esto garantiza que la macro `mfv_existfolder` no se ejecute si el entorno ya está en un estado de error.
¡Copiado!
%mf_abort(
iftrue=(&syscc ne 0),
msg=Cannot enter mfv_existfolder.sas with syscc=&syscc
)
1
%mf_abort(
2
iftrue=(&syscc ne 0),
3
msg=Cannot enter mfv_existfolder.sas with syscc=&syscc
4
)
2 Bloque de código
MACRO
Explicación : Declara las variables macro locales `fref`, `rc` y `var`. La variable `fref` se asigna luego a una referencia de archivo única a través de la macro `mf_getuniquefileref` para evitar conflictos y asegurar la unicidad de la referencia de archivo temporal.
Explicación : Este bloque es el núcleo de la macro. Intenta asignar una referencia de archivo (`fref`) a una ruta de carpeta (`&path`) en SAS Drive utilizando el motor `filesrvc`. La función `filename` devuelve 0 si la asignación tiene éxito (lo que indica que la carpeta existe). Si la carpeta existe, la macro devuelve el valor '1'. Si la carpeta no existe, la función `filename` establece `&syscc` en un valor distinto de cero; la macro luego restablece `&syscc` a 0 en el bloque `%else` para evitar que este fallo afecte futuras operaciones. La variable `var` y la referencia de archivo se limpian después de su uso.
Explicación : Este bloque verifica nuevamente el valor de `&syscc` antes de salir de la macro. Si `&syscc` no es nulo, se llama a la macro `mf_abort` para señalar un error, indicando un problema ocurrido durante la ejecución del cuerpo de la macro `mfv_existfolder`.
¡Copiado!
%mf_abort(
iftrue=(&syscc ne 0),
msg=Cannot leave mfv_existfolder.sas with syscc=&syscc
)
1
%mf_abort(
2
iftrue=(&syscc ne 0),
3
msg=Cannot leave mfv_existfolder.sas with syscc=&syscc
4
)
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.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.