2013-08-16 8 views
9

त्वरित सवालबंद करो एसएएस निष्पादन

वहाँ एक एक लाइनर (या कुछ और नहीं बल्कि कम) विंडोइंग environement के भीतर से आगे एसएएस बयान के निष्पादन को रद्द करने की विधि है।

ये methods हैं, मुझे पता है लेकिन वे बहुत सारी टिप्पणियों के साथ बड़े कार्यक्रमों में थकाऊ, espeacially मिलता है। मैंने ABORT और STOP कथनों की कोशिश की लेकिन वे खिड़की के वातावरण को बंद कर दें, फिर भी मैं चाहता हूं कि एक निश्चित बिंदु पर निष्पादन को रोकें और मेरे मजेदार तरीके से जाएं।

धन्यवाद

उत्तर

7

यह कुछ ऐसा है हर बार एसएएस-एल पर आता है। जवाब यह है कि यह आपके द्वारा किए जा रहे कार्यों पर निर्भर करता है।

run cancel विधि शायद सबसे अच्छा है यदि आप किसी त्रुटि के कारण निष्पादन को रोकने की उम्मीद कर रहे हैं। अपने कार्यक्रम के शीर्ष पर आपको कार्य करें:

%let cancel =; *or any macro variable name, but cancel is most logical; 

तो हर चलाने के चरण में आपको मिलने:

data whatever; 
... do stuff ...; 
run &cancel; 

और हर बार जब आप कुछ संभावित त्रुटि है, तो आपको त्रुटि स्थिति की जांच और उसके बाद ही यह हिट , %let cancel=cancel; और आप अच्छे हैं।

यदि आप मैक्रोज़ का उपयोग कर रहे हैं, तो आप %abort के साथ आसानी से मैक्रो से बाहर निकल सकते हैं जब तक आप या तो कोई विकल्प नहीं उपयोग करते हैं या केवल cancel का उपयोग करते हैं। आप जो कर रहे हैं उसके आधार पर, आप मैक्रो (या मैक्रोज़) में चलाने के लिए अपना कोड सेट अप कर सकते हैं और इस विकल्प का उपयोग कर सकते हैं (हालांकि कुछ लॉग स्पष्टता खोने के नुकसान के साथ)।

अंत में, यदि आप अपने कोड का एक सबसेट को चलाने के लिए सक्षम किया जा रहा सिर्फ दिलचस्प हैं, मैं बिट्स के लिए कई एसएएस कार्यक्रमों में कोड लिखने की सलाह देते हैं तो आप अलग से चलाने के लिए, करने के लिए एक मास्टर कार्यक्रम से %include का उपयोग कर चाहते हो सकता है उन सभी मैक्रो चर के साथ उन सभी को एक साथ समूहित करें जिन्हें आप साझा करना चाहते हैं। यह इसी तरह है कि ईजी में आप कई छोटे प्रोग्राम कैसे बनाएंगे और फिर प्रक्रिया प्रवाह आरेख का उपयोग करके उन्हें समूहित करेंगे।

+2

FYI करें 'proc sql' भी' noexec' कहा जाता है एक ऐसी ही विकल्प है है। पूर्ण वाक्यविन्यास 'proc sql noexec'; .... कार्य करना.... ; quit'। Proc की सामग्री निष्पादित नहीं की जाएगी। आप उसी तकनीक का उपयोग कर सकते हैं जो इसके लिए ऊपर वर्णित है। –

1

मैं इस्तेमाल किया निम्नलिखित

%abort cancel; 
+0

यह मेरे लिए काम किया। डेटा _ शून्य _; और sitrouv> 0 तो अमल फोन करता है, तो ( \t "proc एसक्यूएल noprint; \t \t ... sqlQuery ...; \t" \t); \t अन्य रद्द रद्द करें; रन; –

संबंधित मुद्दे