In SAP BusinessObjects Data Services is het mogelijk om jobs te schedulen. Hiermee kunnen opdrachten (met een terugkerend patroon) op gezette tijden automatisch worden uitgevoerd.

Op zich prima functionaliteit, maar afhankelijkheden tussen jobs kunnen niet worden aangegeven. Stel dat job B pas mag starten nadat job A volledig is afgerond, dan kan de gebruiker dit niet zo instellen. In plaats daarvan zullen de jobs A en B afzonderlijk, op verschillende tijden ingepland moeten worden, met voldoende tijd ertussen (de gebruikelijke tijdsduur van job A plus een marge).

Problemen

Brondatasets kunnen echter groeien, of in grootte fluctueren, waardoor overlap tussen jobs ontstaat. Dit kan fouten of inconsistente data veroorzaken, bijvoorbeeld als job B data gaat verwerken waar job A nog niet klaar mee is. Dan zullen jobs opnieuw moeten worden gepland, met meer tijd ertussen. In dat geval moeten ook alle jobs met afhankelijkheden van een nieuwe starttijd worden voorzien, hetgeen bewerkelijk is.

Daarnaast is er per definitie een verlies van tijd als job A wél ruim op tijd klaar is, maar job B nog niet starten mag. De (kostbare) tijd tussen het eindigen van job A en het starten van job B wordt dus niet benut.

Mogelijke oplossingen

Genoeg redenen dus om op zoek te gaan naar een oplossing om jobs achter elkaar te kunnen laten uitvoeren. Er bestaan 3rd party software leveranciers die schedulers leveren voor SAP BusinessObjects Data Services. Helaas brengt het gebruik van dergelijke tools extra (licentie)kosten met zich mee en is dat niet altijd wenselijk.

Een oplossing binnen de mogelijkheden van Data Services zelf, is om alle jobs als aparte work flows in één nieuwe job onder te brengen. Deze ‘oplossing’ levert echter veel extra onderhoud op, staat niet toe om flexibel jobs te (de)activeren en is voor grote hoeveelheden jobs erg onoverzichtelijk en dus niet werkbaar.

De Ensior-oplossing

Toch bestaat binnen Data Services een oplossing, welke door Ensior is geïmplementeerd: het maken van één hoofdjob, welke op zijn beurt batch files maakt om alle jobs een-voor-een af te handelen. Hiervoor is een beheertabel nodig, met daarin de namen van de jobs, de prioriteit per job en een actief/inactief veld.

De hoofdjob is de enige die hoeft te worden ingepland, en regelt het uitvoeren van alle jobs, achter elkaar, volgens prioriteit. Jobs zullen nu nooit meer te vroeg of onnodig laat starten, maar precies op het moment dat de voorgaande job klaar is!

Related items:

Ensior B.V. 2024 All rights reserved