Jobafvikling i batch under Windows



Relaterede dokumenter
Schedulering af SAS job i MS Task Scheduler, som sender med log og statuskode ved fejl

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik

Hvad er en terminalserver?

Peter Kellberg. Det vidste du ikke om et EG projekt!

Anvendelse af Model- View koncept i SAS Stored Processer

Mænd, Mus og Metadata

PID2000 Archive Service

Introduktion til SAS macro language

Malwarebytes en guide. Hanne B. Stegemüller 9. juni 2015

PUT og INPUT funktionerne

Programmering C RTG

Autoload i Visual Analytics. Torben Skov, Chefkonsulent, SAS Institute

Opgaveplanlægger. Opgaveplanlægger

Moderne SAS-programmering på webben med SAS Studio. Georg Morsing SAS Institute

Dan dine egne SAS - funktioner med PROC FCMP

SWC eksamens-spørgsmål. Oversigt

Vejledning til Teknisk opsætning

DPR lokal persondatabase. Checkliste for CPR migrering

Hvor langt vil Kamstrup gå med automation

Giv andre medarbejdere adgang til den digitale postkasse. Vejledning til Digital Post for virksomheder

Afstande, skæringer og vinkler i rummet

10 informationer som gør din fejlrapport selvforklarende for både forretningen og programmørerne

SAS Forum 2012 Den virtuelle operatør

Fang Prikkerne. Introduktion. Scratch

Daglig brug af JitBesked 2.0

Web Admin 5.5. Brugsvejledning for User admin. Copyright 2003 Gullestrup.net

Principper for Samtidighed og Styresystemer

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

FairSSL Fair priser fair support

Installation Aesiras 2009

FairSSL Fair priser fair support

Nintex Workflow UK/DK

IT Support Guide. Opsætning af netværksinformationer i printere

Klog på SAS seminar, december 2013 Hvordan skjules password i loggen ved brug af macro, Svend Bang, Københavns Universitet

2017 Recordit.nu version 2. Call Recorder Kvikguide for Apresa Client

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows.

poedit og oversættelse af sprogfiler

Nets - Medarbejder Signatur

Afstande, skæringer og vinkler i rummet

JTA-DynamicsPDF. til. Microsoft Dynamics C5 vers. 3 SP3 eller højere. JTA-Data Jylland Vinkelvej 108a 8800 Viborg Tlf

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Håndbog Til CPR services. Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper

Database "opbygning"

Application Note: AN-Z05

Indhold. Hvordan skaffes programmet. 1 af 13. AVG Antivirus

Kom i gang med SAS STPbaserede

Installation og Drift. Aplanner for Windows Systemer Version

Bogholderioprydning (finans debitor kreditor)

Jobs der skal køre i.f.b overførsler mellem A og P Opdateret februar 2006

Konflikthåndtering mødepakke. konflikthåndtering. Velkommen! B3_1_Dias side 1/14

Web Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net

Installation og afvikling

Installation og opsætning af Outlook klient til Dynamics CRM

Admin i SkoleIntra. Fif til administratorer. Version: August 2012

Brug af Archive-funktion i SportIdent (baseret på version 10.3 af SI-programmerne)

Projekt DATA step view

Document Capture til Microsoft Dynamics NAV. Quick Guide til RTC version 3.50

Introduktion til OPC Access

FSFIs lynguide til DFRs elektronisk bevissystem

Notat. Introdansk beskrivelse af fastlagte krav til indberetning af statistikoplysninger fra udbydere JL

Vejledning Installation af SonWin Server CustomerService Flows

Skriftlig opgave. Designtanker i database-nære systemer

Brugervejledning for Microstation til OpenSceneGraph konverter

Opsætning af Ikketilstedeassistent, Opbevaringspolitik og omdirigering af post fra Windows Live til alternativ konto.

1. Du bliver mødt af denne boks. Klik på Gem, og gem filen et sted hvor du kan finde den igen.

NR. 76 LUDUS OG LUDUS WEB VERSION 2

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN

Processer og tråde. dopsys 1

En miniguide til. nyhedsbreve. skab intern afklaring af behov, setup og mål. Af Rasmus Thau Riddersholm, rådgiver

Man indlæser en såkaldt frequency-table i SAS ved følgende kommandoer:

Hurtig Start Guide 1

Turneringsinformation. Hvad gør programmet? Hvilke oplysninger sendes? Hvilke oplysninger hentes?

ViKoSys. Virksomheds Kontakt System

Indholdsfortegnelse resultat- & kritikprogrammet.

Transkript:

Jobafvikling i batch under Windows Lars L. Andersson Chefkonsulent SAS Institute A/S Pharma & Communications

Hvad vil jeg fortælle om? Og hvorfor? Jobafvikling i batch under Windows Relevante aspekter af SAS (statements, options m.v.) Relevante Windows-aspekter (Command Line kommandoer, scheduler m.v.) Smarte ting, som man kan bruge SAS interface til operativsystemet til Det er ikke nyt men svært at læse sig til i hjælpen og svært at finde et kursus om

Hvem tror jeg egentlig, I er? SAS -programmører uden viden om og erfaring med batch-kørsel af SAS-programmer SAS -programmører med (varierende grad af) erfaring med batch-kørsel af SAS-programmer Nuværende eller kommende administratorer af SAS - baserede systemer, som gerne vil vide noget om SAS i batch-sammenhæng Andre er naturligvis også velkomne!

Hvad vil det sige at køre et SAS -program som et batch-job? SAS Systemet starter som en ny, ikke-interaktiv session Evt. uden menneskelig indgriben (f.eks. blot fordi klokken nu er 3 om natten) Og afvikler SAS-programmet Hvorpå SAS Systemet lukkes ned igen

Hvorfor kan det være interessant at køre SAS - programmer i batch? Langvarige/ tunge transformationer m.v. kan foretages uden for normal arbejdstid og være klar til, at vi møder på arbejde Opdaterede data lagt til rette for dagens ad hoc-analyser Opdaterede data lagt til rette for rapporter og opslag (f.eks. SAS Web Report Studio, SAS Stored Processes, OLAP-kuber m.v.) Opdaterede statiske rapporter (.html,.pdf m.v.) er dannet og klar til brug Job kan indgå i samlede job flows, således at vores program ikke afvikles før, f.eks. en opdateret udgave af input-data er på plads

Hvordan gør man? (Endelig en agenda punkt for punkt!) Start af ikke-interaktiv SAS samt scheduleret kørsel.bat-filer Windows Scheduler Lad os kigge loggen igennem for fejl m.v.! Environment variables Fornuftig organisering af filer Burde vi ikke have logfiler for de sidste N kørsler? Afvikling af flere forskellige job Udstedelse af OS-direktiver fra SAS Afsluttende bemærkninger

Start af ikke-interaktiv SAS samt scheduleret kørsel Trin for trin Trin 1: Start SAS fra command line

Start af ikke-interaktiv SAS samt scheduleret kørsel Trin for trin Trin 1: Start SAS fra command line Trin 2: Start ikke-interaktiv SAS fra command line og få den til at afvikle et SAS-program

Hov! -sysin og -log hvor kender du dem fra? Udvalgte opstartsmuligheder: sysin log altlog autoexec config print sysparm

Start af ikke-interaktiv SAS samt scheduleret kørsel Trin for trin Trin 1: Start SAS fra command line Trin 2: Start ikke-interaktiv SAS fra command line og få den til at afvikle et SAS-program Trin 3: Pak opstartsdirektiver ind i en.bat- eller.cmd-fil og få denne scheduleret

Hvordan gør man? (Endelig en agenda punkt for punkt!) Start af ikke-interaktiv SAS samt scheduleret kørsel.bat-filer Windows Scheduler Lad os kigge loggen igennem for fejl m.v.! Environment variables Fornuftig organisering af filer Burde vi ikke have logfiler for de sidste N kørsler? Afvikling af flere forskellige job Udstedelse af OS-direktiver fra SAS Afsluttende bemærkninger

Lad os kigge loggen igennem for fejl (automatisk) Hvorfor? Der har ikke siddet nogen foran skærmen, som har anmodet om den enkelte jobkørsel dvs. der er ingen for hvem det er naturligt at inspicere loggen umiddelbart efter kørsel I en typisk opsætning er der mange job. De fleste af dem kører forhåbentlig OK, så det er uoverskueligt af skulle åbne N logfiler, hvoraf der i de fleste intet er at komme efter Fejl vil opstå om ikke af andre grunde, så pga. udefrakommende påvirkninger

Lad os kigge loggen igennem for fejl (automatisk) Hvorfor? Vi kan sagtens skrive et SAS -program, som kigger en bestemt tekst-fil (f.eks. en SAS.log fil) igennem og leder efter forekomster af ERROR:, WARNING: o.a. Dette program bør eksekveres i en separat SAS-session Dermed undgås det, at fejl i det primære program forhindrer korrekt søgning efter fejl Dette vil (i nogle tilfælde) endda kunne fange uafsluttede logfiler Scanning af et hvilket som helst (SAS-)job logfil Flere mulige kanaler: E-mail Tabel (som input til dynamisk rapport) Statisk rapport

Lad os kigge loggen igennem for fejl (automatisk) Struktur og navnekonventioner

Lad os kigge loggen igennem for fejl (automatisk) En.bat-fil hejverden.bat :: ------------------------------------------------- :: Kald af primært program. :: ------------------------------------------------- "%sasexe%" -sysin "..\SASPGM\hejVerden.sas" -log "..\Logs\hejVerden.log" -autoexec "..\Utility\autoexec.sas" :: ------------------------------------------------- :: Kald af SAS-program til scanning af log fra :: kørsel af det primære program. :: ------------------------------------------------- "%sasexe%" -sysin "..\Utility\_scanlog.sas" -log "..\Utility\_scanlog.log" -noautoexec -sysparm "hejverden 0" -emailsys SMTP -emailhost smtpsrv03.yourcompany.com -emailport 25 Bemærk: Linjeskift kun vist af hensyn til læselighed!

Lad os kigge loggen igennem for fejl (automatisk) En.bat-fil hejverden.bat :: ------------------------------------------------- :: Kald af primært program. :: ------------------------------------------------- "%sasexe%" -sysin "..\SASPGM\hejVerden.sas" -log "..\Logs\hejVerden.log" -autoexec "..\Utility\autoexec.sas" :: ------------------------------------------------- :: Kald af SAS-program til scanning af log fra :: kørsel af det primære program. :: ------------------------------------------------- "%sasexe%" -sysin "..\Utility\_scanlog.sas" -log "..\Utility\_scanlog.log" -noautoexec -sysparm "hejverden 0" -emailsys SMTP -emailhost smtpsrv03.yourcompany.com -emailport 25 Environment variables

Environment variables Hvad er det? Symbolske referencer til tekst, lidt a la SAS-makrovariable, men oprettet i operativsystemet (her i Windows) Refereres til i en Windows/DOS-kommandoprompt med forog efterstillet procenttegn, f.eks. %lars% Kan anvendes til at generalisere.bat-filer m.v., således at mange hard-coded gentagelser undgås Praktisk til maskin- og miljøspecifikke ting (ofte stier, servernavne og lignende), som sjældent ændres Kan lettest tilgås inde fra SAS ved hjælp af funktionen SYSGET

Environment variables Hvordan læser vi dem fra SAS? Det er oftest mest praktisk at oprette makrovariable i AUTOEXEC.SAS og tildele disse værdier på basis af SYSGET

Hvad med ting, der skal gentages i.bat-filen men som er forskellige fra.bat-fil til.bat-fil!? :: ------------------------------------------------- :: Kald af primært program. :: ------------------------------------------------- "%sasexe%" -sysin "..\SASPGM\hejVerden.sas" -log "..\Logs\hejVerden.log" -autoexec "..\Utility\autoexec.sas" :: ------------------------------------------------- :: Kald af SAS-program til scanning af log fra :: kørsel af det primære program. :: ------------------------------------------------- "%sasexe%" -sysin "..\Utility\_scanlog.sas" -log "..\Utility\_scanlog.log" -noautoexec -sysparm "hejverden 0" -emailsys SMTP -emailhost smtpsrv03.yourcompany.com -emailport 25 Bemærk: Linjeskift kun vist af hensyn til læselighed!

Hvad med ting, der skal gentages i.bat-filen men som er forskellige fra.bat-fil til.bat-fil!? set thisjob=hejverden Lokal environment - variable Kun ét sted i selve.bat-filen Men også.bat-filens navn skal vedligeholdes :: ------------------------------------------------- :: Kald af primært program. :: ------------------------------------------------- "%sasexe%" -sysin "..\SASPGM\%thisjob%.sas" -log "..\Logs\%thisjob%.log" -autoexec "..\Utility\autoexec.sas" :: ------------------------------------------------- :: Kald af SAS-program til scanning af log fra :: kørsel af det primære program. :: ------------------------------------------------- "%sasexe%" -sysin "..\Utility\_scanlog.sas" -log "..\Utility\_scanlog.log" -noautoexec -sysparm "%thisjob% 0" -emailsys SMTP -emailhost smtpsrv03.yourcompany.com -emailport 25 Bemærk: Linjeskift kun vist af hensyn til læselighed!

Hvad med ting, der skal gentages i.bat-filen men som er forskellige fra.bat-fil til.bat-fil!? set thisjob=%~n0 %~n0 hejverden %~x0.bat %~p0 \en\elleranden\sti\ %~d0 C: %~f0 (alt) :: ------------------------------------------------- :: Kald af primært program. :: ------------------------------------------------- "%sasexe%" -sysin "..\SASPGM\%thisjob%.sas" -log "..\Logs\%thisjob%.log" -autoexec "..\Utility\autoexec.sas" :: ------------------------------------------------- :: Kald af SAS-program til scanning af log fra :: kørsel af det primære program. :: ------------------------------------------------- "%sasexe%" -sysin "..\Utility\_scanlog.sas" -log "..\Utility\_scanlog.log" -noautoexec -sysparm "%thisjob% 0" -emailsys SMTP -emailhost smtpsrv03.yourcompany.com -emailport 25 Nu har alle.bat-filerne samme indhold!

Centralisering af jobkaldlogikken I én template.bat-fil _runsasjob.bat BridgeTables.bat, hejverden.bat, UpdateFacts.bat etc. _runsasjob.bat "%~f0" set thisjob=%~n1 :: ------------------------------------------------- :: Kald af primært program. :: ------------------------------------------------- "%sasexe%" -sysin "..\SASPGM\%thisjob%.sas" -log "..\Logs\%thisjob%.log" -autoexec "..\Utility\autoexec.sas" :: ------------------------------------------------- :: Kald af SAS-program til scanning af log fra :: kørsel af det primære program. :: ------------------------------------------------- "%sasexe%" -sysin "..\Utility\_scanlog.sas" -log "..\Utility\_scanlog.log" -noautoexec -sysparm "%thisjob% 0" -emailsys SMTP -emailhost smtpsrv03.yourcompany.com -emailport 25 Bemærk: Linjeskift kun vist af hensyn til læselighed!

_scanlog.sas-programmet Inspiration til hvordan det kan skrues sammen (1/2) Program der med datastep læser en.log-fil igennem, hvis navn er specificeret via -sysparm Leder efter spor af værste tilstand i loggen: 1. NOTE: [&_environment.] 2. WARNING: 3. Stderr 4. ERROR: 5. ikke-afsluttet logfil (mangler: NOTE: The SAS System used: ) Forsøger at sende e-mail med loggen, såfremt det værste konstaterede problem er værre end, hvad der er erklæret OK for det pågældende job

_scanlog.sas-programmet Inspiration til hvordan det kan skrues sammen (2/2) Hvis e-mails fra systemet er reglen snarere end udtagelsen, bliver administrator blind over for, hvornår der skal handles Det er vigtigt, at job er robuste, således at fejl kun opstår undtagelsesvist _SCANLOG skal kunne ignorere uundgåelige (forventede) advarsler og fejlbeskeder Se (i de fleste logs) bort fra lejlighedsvise advarsler om f.eks. forestående licensudløb Der er ofte nogle projektspecifikke ting, som det er relevant at kode ind Der er ikke erfaring for, at one size fits all.

Hvordan gør man? (Endelig en agenda punkt for punkt!) Start af ikke-interaktiv SAS samt scheduleret kørsel.bat-filer Windows Scheduler Lad os kigge loggen igennem for fejl m.v.! Environment variables Fornuftig organisering af filer Burde vi ikke have logfiler for de sidste N kørsler? Afvikling af flere forskellige job Udstedelse af OS-direktiver fra SAS Afsluttende bemærkninger

Styr på log-filerne Ikke alle fejl opdages samme dag, de er indtruffet! Tidsstemplede udgaver af logs fra jobkørsler de seneste N dage Automatisk sletning af ældre logfiler Seneste udgave af logfilen for hvert enkelt job Bliver liggende forever indtil næste kørsel af samme job

Styr på logfilerne Hvordan? Samtidig brug af -LOG og -ALTLOG options ved opstart af SAS Systemet Den ene til den ikke-tidsstemplede logfil Den anden til den tidsstemplede logfil Konstruktion af passende tidsstempel på basis af %date% og %time% inde i.bat-filen

Styr på logfilerne Sådan! _runsasjob.bat set timestamp=%date%:%time% set timestamp=%timestamp:-=% set timestamp=%timestamp:/=% set timestamp=%timestamp::=% set timestamp=%timestamp:~4,4%%timestamp:~2,2%%timestamp:~0,2% %timestamp:~8,2%%timestamp:~10,2%%timestamp:~12,2% set thisjob=%~n1 :: ------------------------------------------------- :: Kald af primært program. :: ------------------------------------------------- "%sasexe%" -sysin "..\SASPGM\%thisjob%.sas" -log "..\Logs\Recent\%thisjob%.log -altlog "..\Logs\History\%thisjob%_%timestamp%.log -autoexec "..\Utility\autoexec.sas" :: ------------------------------------------------- :: Kald af SAS -program til scanning af log fra :: kørsel af det primære program. :: ------------------------------------------------- (...) Bemærk: Linjeskift kun vist af hensyn til læselighed!

Hvordan gør man? (Endelig en agenda punkt for punkt!) Start af ikke-interaktiv SAS samt scheduleret kørsel.bat-filer Windows Scheduler Lad os kigge loggen igennem for fejl m.v.! Environment variables Fornuftig organisering af filer Burde vi ikke have logfiler for de sidste N kørsler? Afvikling af flere forskellige job Udstedelse af OS-direktiver fra SAS Afsluttende bemærkninger

Scheduleret afvikling af flere job Hvad skal man være opmærksom på? job udgør typisk en form for netværk: Nogle job kan/må/bør ikke startes, førend et eller flere forudgående job er afsluttet Andre job kan godt få lov at køre parallelt men det giver ikke nødvendigvis bedre performance Forskellige typer forudsætninger, der måske skal være på plads, førend et SAS -job kan køres: Tidspunkt ( Det skal være weekend, Det skal være kl. 2 om natten ) Data fra eksterne datakilder skal være opdateret Andre job, der opdaterer de data, jeg læser, skal være fejlfrit afsluttet

Scheduleret afvikling af flere job Hvad er mulighederne? En avanceret scheduler, som kan det hele Se eksempler på http://en.wikipedia.org/wiki/job_scheduler Task Scheduler under Windows Er altid lige ved hånden men understøtter kun tidspunkt som start-trigger Man kan lægge hvert job ind enkeltvist med fast starttidspunkt For at undgå samtidig kørsel af conflicting jobs må der generelt lægges rigeligt med luft ind mellem job. I det totale jobflow spildes en masse tid på at vente Heldigvis er SAS Systemet jo også lige ved hånden og det er alsidigt nok til, at vi kan lave vores egen avancerede jobstyringslogik

Simpel scheduler og SAS Forskellige strategier Én.bat-fil pr. job Hver.bat-fil individuelt scheduleret til fast (typisk dagligt) starttidspunkt. Én eneste (statisk).bat-fil, som indeholder kald til opstart af de enkelte job. Denne ene.bat-fil scheduleret til fast (typisk dagligt) starttidspunkt. Én statisk.bat-fil, som starter SAS-program, der dynamisk danner en temporær.bat-fil. Denne kaldes efterfølgende, og slettes efter kørsel. 1 2 3 Spildtid i flow Risiko for utilsigtede joboverlap ikke robust nok Parallelitet er i en vis forstand lettere, hvis spildtiden er acceptabel Forudsætningstjek kan bygges ind i jobkoden eller autoexec Adgangstjek vigtigt i alle tilfælde! Behov for speciel mekanisme til ad hoc-opstart af et enkeltjob 4 Én statisk.bat-fil, som starter SAS-program, der starter de enkelte job ét ad gangen, med mellemliggende tjek af forudsætninger.

Simpel scheduler og SAS Det smarte samspil ( strategierne 2-4) Vi kan nøjes med at schedulere ét job til at starte på et fast tidspunkt hver dag Det bagvedliggende SAS -program kan så skrues sammen til at Tjekke om eksterne datakilder synes opdaterede evt. SLEEP() og gentjekke, indtil alt er OK Starte de primære job i den rigtige rækkefølge Tage hensyn til dato/tid, andre job, eget jobs seneste exitkode m.v.

Brug af returkoder Fra SAS til Windows I en.bat- eller.cmd- fil kan vi henvise til %ERRORLEVEL% Denne kan påvirkes inde fra SAS ved brug af ABORT statement eller ved at overskrive makrovariablen syscc Se Return Codes and Completion Status i appendiks til SAS Companion for Windows Accept af ABORT statements og/eller SAS-kode, som ændrer SYSCC (ved at komme med fejl/advarsler), kan kompromittere muligheden for at anvende en fast, obligatorisk afslutning på alle job

Start af sekventielle job inde fra SAS Brug af CALL SYSTEM (masser af logik til oprettelse af work.jobs2runnow mv) %let primarypath=%sysfunc(sysget(primarypath)); options noxwait xsync; * XSYNC sikrer sekventiel kørsel!; data _null_; set work.jobs2runnow_allinonerow; if (run_extractfromdb) then call system('"'!!"&primarypath.\_runsasjob.bat "!! '" "extractfromdb"' ); if (run_builddimensiontables) then call system('"'!!"&primarypath.\_runsasjob.bat "!! '" "builddimensiontables"' ); (etc.) run;

Start af sekventielle job inde fra SAS Brug af dynamisk.bat-fil og X statement data _null_; set work.jobs2runnow end=enddata; file "&primarypath.\ jobcontrol_&sysdate9..bat"; run; length str $400; str= call "'!!"&primarypath.\_runsasjob.bat "!! '" "'!!trim(job2run)!!'"'; put str; if (enddata) then call symput('xcmd', "x '"!!'"'!! "&primarypath.\ jobcontrol_&sysdate9..bat"!! '"'!!"'" ); &xcmd.; Den midlertidige.bat-fils navn gøres unikt for at undgå forveksling med tidligere dannede Evt. sekundært X statement til at slette.bat-fil efter kald/kørsel

Parallelle job er sværere! Hvad kan man overhovedet gøre? Start parallelle processer fra.bat-fil ved brug af direktiv a la start cmd /C hejverden.bat Efter at have startet et passende antal parallelle SAS -job, startes et særligt program call afvent_klar.bat (evt. parametre) AFVENT_KLAR skal afvente, at én eller flere af de startede, parallelle SAS-job er afsluttet og først da returnere kontrol til den kaldende.bat-fil, som så kan kalde flere job filename tasks pipe "tasklist /V /FO LIST"; er en mulighed evt. i kombination med &sysjobid

Hvordan gør man? (Endelig en agenda punkt for punkt!) Start af ikke-interaktiv SAS samt scheduleret kørsel.bat-filer Windows Scheduler Lad os kigge loggen igennem for fejl m.v.! Environment variables Fornuftig organisering af filer Burde vi ikke have logfiler for de sidste N kørsler? Afvikling af flere forskellige job Udstedelse af OS-direktiver fra SAS Afsluttende bemærkninger

Pas på! Faldgruber i forbindelse med batch-job Bare fordi job køres om natten eller i weekenden, er det ingen undskyldning for poorly performing code Maskinressourcer (diskplads, CPU cycles, hukommelse ) er også begrænsede om natten Dine job kan være i konkurrence med andres job alle skal gerne kunne nås Centralisering uden centralt overblik Rettighedsproblemer batch-brugers rettigheder vs. udviklerens rettigheder Problemer, hvis conflicting jobs køres samtidig (inkl. adskillige instanser af samme job)

Tjekliste Hvis du opbygger et miljø til batch-afvikling af SAS Generelle.bat-filer til opstart af primært job/program Automatisk scanning af logfil for fejl Arkivering af logfiler fra flere tidligere kørsler af hvert job Udviklingsstandarder og tilhørende mekanismer til at hindre, at konfliktende job-instanser kører samtidig Evt. et konfigurerbart job til oprydning af gamle filer, bl.a. historiske logfiler

Lars L. Andersson Lars.L.Andersson@sdk.sas.com