Welcome to the final part of my primer on creating a production package using SAP Data Services. In part 1 we looked at just how you would configure your data service repositories to suit team development, in part 2 we dived in a little deeper and created our central repositories and in part 3 we looked at how you would interact with these repositories to create ‘Releases’ of software ready for testing and for the production environment.
All being well you should currently be at the stage where you have created a QA central repository where your candidate release code will be helped. You should also have a local production repository from which the production code can be executed (remember central repositories cannot be used to execute code) The previous blog should than have walked you through the process of synchronising your local repository with the candidate release ETL code ready for execution.
So what now…. Well you can of course wake up really really early every morning, go to work and then run this package before your accounts department log onto the system to ensure that their reporting data is up to date before business opens, you may laugh….. Alternatively you may do what the majority of normal people would do and set up a scheduled service too run the ETL on a given schedule. Lets do this instead of the former for the purposes of this blog, maybe I’ll cover the other one in a later blog 😉
We start by logging onto the machine that contains the SAP CMC, generally but not always, this machine also contains a program called ‘Data Service Manager’ like so:-
Once you click on this the following webpage should be invoked, you should log on using the appropriate login for your installation:-
At this point things might start looking a little familiar as we see for the second time at least the following screen…
Again we want to select the administrator option to interact with the service settings for the Data Services service application. Upon invoking this you should be presented with a tree view down the left hand side with a Batch item, this contains all of the batch instructions for each configured LOCAL repository. In this instance we want to set up a schedule against our production repository where our candidate release code is located. We thus open the tree like so and select the ‘Production’ repository.
To the right hand side of this tree view the following detail page should be displayed showing all of the latest package executions that have been invoked:- Yours may well be blank:-
We need to set up a batch job and so we need to select the ‘Batch Job Configuration’ tab as selected which will detail us a list of all of the ETL Packages that are available to run. In this instance we have only the one ‘bjSalesIntegration’. In order to set up a schedule we then select the ‘Add Schedule’ item as indicated.
Nice and simple so far, and indeed it remains so. We merely choose a name for the package and set it to ‘Active’ so that upon saving it is run. When it comes to selecting a scheduler I tend to choose the Data Services scheduler, no reasoning behind that, just why not! Now we come to the scheduling, this is relatively comprehensive in that you can choose:-
- Days of Week to perform the ETL on.
- Days of Month to perform the ETL on.
- Execute once a day at a given time
- Execute from a given time of the day for the duration specified
In this instance we are running the package daily at 8:30.
In addition we can also specify to use a given ‘System Configuration’ which we have detailed in a previous blog.
Once you press apply the scheduled job should appear like so on the ‘Repository Schedules’ meaning that the scheduled batch job has been configured and may/may not be currently active.
And voila, you’re all set and ready to go. If you now look at the top batch job status for my configuration you will see that the last execution was successful (with warnings but I expect that) and started at approx 8:30pm as requested executing for about 6 and a half minutes.
You have now scheduled the awesome, the world is yours…. Get up late, thats an order!