web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

Execute batch jobs with a third party tool

(0) ShareShare
ReportReport
Posted on by

First and foremost, I am a Control-M consultant. Control-M is a job scheduler that has integrations with many different applications (SAP, Peoplesoft etc.) and the ability to define your own integrations to other applications. I have a customer that is using MS Dynamix AX, but would like to integrate their workload from Dynamix with Control-M. 

I am trying to determine feasibility, and if so what is required or what is the best way.

From my understanding, job scheduling is defined at the batch job level in AX. Job dependencies, alerts, and actions are defined in a batch task as well as the actual command or code to execute.  As far as terminology is concerned, a job in AX is like a folder (container) in Control-M, and a task in AX is a job in Control-M.

With this in mind, I have two possible scenarios. In both cases -> in AX there would be NO scheduling defined in the batch job.

1.  The batch job would be launched using some AX API, Webservice, cli or what is the preferred, simplest, most effective way. Batch tasks would be defined in AX as part of these jobs, and the job status in Control-M would depend on the batch job status. We can performing corrective actions on a job (kill, rerun) in Control-M, and can send custom actions to AX if this functionality is possible.

OR

My preferred way:

2. A job in Control-M would correspond to a batch task (since within Control-M we can implement dependencies , schedule and all that fun stuff). I do not know if batch tasks can be defined independent of batch job, or if they are defined as a different entity altogether and linked to a batch task. The idea would be to invoke this task (api, webservice, cli and so on), and treat it's execution as an individual job in Control-M. I prefer this way, since I believe it makes taking corrective action on an individual task much simpler, as opposed to having an operator have to engage in AX within a job construct. I do not 'know' for sure if that is the best approach in reality.

So AX experts, what do you think? 

*This post is locked for comments

I have the same question (0)
  • Martin Dráb Profile Picture
    237,795 Most Valuable Professional on at

    What's the version of AX? You've selected "Don't know", but you should have some idea about which version your customer is using. The answer won't be same for all versions.

  • Martin Dráb Profile Picture
    237,795 Most Valuable Professional on at

    By the way, don't forget that some batch jobs generate tasks at runtime. For example, they can look at data to process, split them to smaller pieces of similar size and run them in several threads at once. Your preferred approach would mean either handling it in Control-M (where you likely won't have enough information to do it) or giving it up completely. Note that it's quite important for some scenarios, such as order invoicing.

  • Community Member Profile Picture
    on at

    Vielen Dank.

    OK, so a defined job does not need a schedule in AX.

    The 2nd option has crossed my mind, as there is several approaches to connect to my app, however it is preferable to control the job launch from Control-M (Jobsteuerungssystemen :) )

    In the first option, is there a generic system web service or connection for batch jobs or batch tasks, or must these be custom developed? I have been searching but am not finding this type of detail.

  • Community Member Profile Picture
    on at

    Yes it is still early discussion with the client, I will find out the exact version in a few days or less. It is my understanding that it is a new implementation, so I would imagine a later version.

  • Community Member Profile Picture
    on at

    Interesting. So the web services are normally developed on an individual basis then (for this type of requirement)?

  • Martin Dráb Profile Picture
    237,795 Most Valuable Professional on at

    Okay, let's assume we're talking about Dynamics 365 for Finance and Operations (AX 7) hosted in cloud.

    The question about how this kind of requirements is usually implmenented isn't a good one, because such a thing isn't normally done and I wouldn't recommend doing it. Your decision to completely disable scheduling in AX doesn't even seem to necessary for your business requirement (to use Control-M for scheduling some tasks). You would break many important features - users should be able to schedule jobs as they need, e.g. if users want to get a report printed every day, set up periodic invoicing, run various recalculations ans so on. Will they have to ask a Control-M administrator to be able to perform common tasks in their expesive ERP system? It sounds like making the system much worse, not better.

    Anyway, AX 7 allows you implement so-called custom services, which you can use to execute any arbitrary logic. You can use SOAP or HTTP/JSON endpoints; authorization is handled by AAD.

  • Vilmos Kintera Profile Picture
    46,149 on at

    It sounds to me like you are trying to control something outside of AX which it already could do, and would need considerable customizations to make it exposed via a service and add custom ways of exception handling to pass it on to the external application.

    I would strongly advise to leave the job to AX, since it is much more complicated than what you tried to summarize above.

    For example AX can have RunBaseBatch or SysOperation Framework based batch jobs. Scheduled SSRS reports are using the latter for example.

    Complicated processes like bundled invoice posting/printing with a late selection, or running a Master Planning batch do spawn additional run-time batch tasks. Also they might come with a big dependency list about which task to run next and how to handle execution failures, etc.

    Another consideration is Security. AX batch jobs are running under the credentials for whoever has started the batch job, so a user who does not have access to finance would not be able to pull the company's income details. Giving System Administrator rights to a single batch account to be able to carry out majority of the tasks which you would need in a batch is possible, but is far away from a secure solution. Doing impersonation for users is the way in this case, but then you would need to maintain a set of domain user logon credentials externally, which is something that would raise red flags for a Chief Security Officer at a large enterprise.

    To summarize, what you are asking for is feasible, depending on what scheduled jobs or processes would you like to kick off from an external application, and AX customization would be required on a case-by-case basis indeed.

    The customization effort in this case most likely outweighs what added value you would get from an external scheduling system, which is already available within the product itself.

    It is also something I would go against as a Technical Architect, since it would make future application upgrades affected.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

#1
Martin Dráb Profile Picture

Martin Dráb 4 Most Valuable Professional

#1
Priya_K Profile Picture

Priya_K 4

#3
MyDynamicsNAV Profile Picture

MyDynamicsNAV 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans