Publicado el :
Utilidad CREATION_INTERNE

Validación de Esquemas CDM

Este código también está disponible en: Deutsch English Français
La macro `cdm_validate_schemas` está diseñada para ser utilizada en el contexto de la utilidad de carga CDM. Su función principal es comparar la versión del esquema CDM descargada (`&CDM_Download_SchemaVer`) con la versión DDL del esquema CDM actualmente en vigor (`&CDM_DDL_SchemaVer`). En caso de incompatibilidad, la macro reporta un error definiendo un código de retorno (`rc=1`) y un mensaje de error (`CDM_ErrMsg`), y luego utiliza una instrucción `%goto` para dirigir el flujo de ejecución a una sección de manejo de errores (`ERREXIT`). También utiliza `%CHECK_VERBOSE` y mensajes `%put` con marca de tiempo para el seguimiento.
Análisis de datos

Type : CREATION_INTERNE


Este script no manipula directamente datos SASHELP ni lee datos externos a través de instrucciones `LIBNAME` o `INFILE`/`SET`/`MERGE`. Se basa en la comparación de variables de macro (`CDM_Download_SchemaVer`, `CDM_DDL_SchemaVer`) que se supone deben inicializarse antes del script, potencialmente a partir de metadatos o archivos de configuración.

1 Bloque de código
MACRO
Explicación :
Este bloque define la macro `%cdm_validate_schemas`. Comienza llamando a otra macro `%CHECK_VERBOSE` (cuyo código no se incluye aquí) y muestra un mensaje con marca de tiempo indicando el inicio de la validación. Inicializa una variable de retorno `rc` a 0. El núcleo de la lógica es una instrucción `%if` que compara los valores de dos variables de macro, `&CDM_Download_SchemaVer` y `&CDM_DDL_SchemaVer`. Si estas versiones son diferentes, se muestra un mensaje de error con las versiones incompatibles, la variable `rc` se establece en 1 para indicar un error, y una variable de macro `CDM_ErrMsg` es rellenada. La ejecución se redirige entonces a la etiqueta `%ERREXIT:` a través de un `%goto`, que representa un punto de salida o de manejo de errores en la macro. La macro termina con `%mend`.
¡Copiado!
1%macro cdm_validate_schemas;
2 
3 %CHECK_VERBOSE;
4 
5 %put %sysfunc(datetime(),E8601DT25.) --- Validating UDM and CDM schemas;
6 %let rc = 0;
7 
8 %IF &CDM_Download_SchemaVer ne &CDM_DDL_SchemaVer %THEN %DO;
9 %put %sysfunc(datetime(),E8601DT25.) --- Downloaded CDM Schema version &CDM_Download_SchemaVer is incompatible with current CDM DDL Schema Version &CDM_DDL_SchemaVer;
10 %let rc = 1;
11 %let CDM_ErrMsg = Incompatible Downloaded and DDL Schema Versions;
12 %goto ERREXIT;
13 %END;
14 
15 
16 %ERREXIT:
17 
18%mend cdm_validate_schemas;
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 : Copyright © 2020, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0