LesezeichenAbonnierenRSS-Feed abonnieren
Gairon
Fluorite | Level 6

hallo zusammen,

 

ich benutze ein "runquit_macro", das ich im netz gefunden habe. das prüft nach jedem befehl ob ein fehler aufgetreten ist. wenn ja, sollen einige sicherungsdateien wieder zurückgespielt werden die in diesem macro stehen. am ende dann wird sas mit "%ABORT CANCEL" abgebrochen.

 

mein problem ist, das nun nach einem fehler alle folgenden data-anweisungen nicht mehr umgesetzt werden,

es kommen immer die meldungen:

 

- NOTE: The data set PK2.KIGGS2_P has 0 observations and 5309 variables.
- WARNING: Datei PK2.KIGGS2_P wurde nicht ersetzt. Grund: da dieser Schritt angehalten wurde.

 

- NOTE: The data set EK2.KIGGS2_E_QS has 0 observations and 783 variables.
- WARNING: Datei EK2.KIGGS2_E_QS wurde nicht ersetzt. Grund: da dieser Schritt angehalten wurde.

- usw.

 

im anhang habe ich das macro und das log-file angehangen, dort habe ich auch alles beschriftet.

 

frage:

wie kann ich SAS sagen, das es wieder "normal" reagieren soll und das es meine data-befehle weiter abarbeitet?

 

ich hoffe, das ich mein anliegen einigermassen erklären konnte.

 

gruss und vielen dank für eure hilfe.

gairon

2 ANTWORTEN 2
mfab
Quartz | Level 8

Hallo @Gairon,

 

meines Wissens gibt es bei SAS keine Möglichkeit mit einem try-catch zu arbeiten. Man kann sich da sicherlich Varianten überlegen, wie man mit gewissen Fehlern umgeht, allerdings würde ich hier anraten stattdessen vor einer weiteren Verarbeitung zu Prüfen, ob alle notwendigen Bedingungen erfüllt sind (Dateien/Tabellen/Variablen/Obs vorhanden, etc.).

 

Zu Deinem Problem habe ich hier eine Anfrage in der englischen Community gefunden. Eventuell kannst Du den Syntaxcheck ausschalten oder nach einem entsprechenden Fehler die Option Obs wieder auf Max setzen:

https://communities.sas.com/t5/Base-SAS-Programming/Continue-after-errors/td-p/43386

http://www.lexjansen.com/pharmasug/2010/CC/CC05.pdf

 

Beste Grüße

Michael

Gairon
Fluorite | Level 6

hallo michael.

 

vielen dank für deine antwort.

 

ich habe jetzt folgendes in mein "runquit macro" hinzugefügt:

 

options obs = max;

options replace;

options nosyntaxcheck;

 

damit wrden nun wieder die data-befehle ausgeführt.

 

gruss

gairon

 

 

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

Diskussionsstatistiken
  • 2 Antworten
  • 1907 Aufrufe
  • 0 Kudos
  • 2 in Unterhaltung