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

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

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