Veröffentlicht am :
Dienstprogramm CREATION_INTERNE

Validierung von CDM-Schemata

Dieser Code ist auch verfügbar auf: English Español Français
Das Makro `cdm_validate_schemas` wurde für die Verwendung im Rahmen des CDM-Lade-Dienstprogramms entwickelt. Seine Hauptfunktion besteht darin, die heruntergeladene CDM-Schemaversion (`&CDM_Download_SchemaVer`) mit der aktuell gültigen DDL-Version des CDM-Schemas (`&CDM_DDL_SchemaVer`) zu vergleichen. Im Falle einer Inkompatibilität meldet das Makro einen Fehler, indem es einen Rückgabecode (`rc=1`) und eine Fehlermeldung (`CDM_ErrMsg`) definiert, und leitet dann den Ausführungsfluss mithilfe einer `%goto`-Anweisung zu einem Fehlerbehandlungsbereich (`ERREXIT`). Es verwendet auch `%CHECK_VERBOSE` und zeitgestempelte `%put`-Nachrichten zur Nachverfolgung.
Datenanalyse

Type : CREATION_INTERNE


Dieses Skript manipuliert keine SASHELP-Daten direkt und liest keine externen Daten über `LIBNAME`- oder `INFILE`/`SET`/`MERGE`-Anweisungen. Es basiert auf dem Vergleich von Makrovariablen (`CDM_Download_SchemaVer`, `CDM_DDL_SchemaVer`), die vor dem Skript, möglicherweise aus Metadaten oder Konfigurationsdateien, initialisiert werden sollen.

1 Codeblock
MACRO
Erklärung :
Dieser Block definiert das Makro `%cdm_validate_schemas`. Er beginnt mit dem Aufruf eines weiteren Makros `%CHECK_VERBOSE` (dessen Code hier nicht enthalten ist) und zeigt eine zeitgestempelte Meldung an, die den Beginn der Validierung signalisiert. Eine Rückgabevariable `rc` wird auf 0 initialisiert. Der Kern der Logik ist eine `%if`-Anweisung, die die Werte zweier Makrovariablen, `&CDM_Download_SchemaVer` und `&CDM_DDL_SchemaVer`, vergleicht. Wenn diese Versionen unterschiedlich sind, wird eine Fehlermeldung mit den inkompatiblen Versionen angezeigt, die Variable `rc` wird auf 1 gesetzt, um einen Fehler anzuzeigen, und eine Makrovariable `CDM_ErrMsg` wird befüllt. Die Ausführung wird dann über ein `%goto` zu dem Label `%ERREXIT:` umgeleitet, das einen Exit- oder Fehlerbehandlungspunkt im Makro darstellt. Das Makro endet mit `%mend`.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright © 2020, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0