What is the Difference between Process and Job in clarity.?could you please give few scenarios where Job is preferable and y not Process vice versa.
Processes are executed by the application "process engine" and can be integrated tightly with Clarity-functionality without writing any 'code' at all. We can also embed GEL scripts into a process (this is 'code' though) and it is a convenient way of writing custom functionality that is mostly supported by the application (likley to be upgrade-proof, especially if there is no GEL components)
Jobs are extra 'code' that we might decide we need to run - for example Java code, database code ; external interfaces etc. We could probably run such code externally from the application, but if we create it as part of a job then it is under the control of the application job scheduler (which may be useful to use).
Really they are just different options for "batch processing" - which you would use really depends upon thefunctional use-case required.
And you can also have a Job run a process "Execute a Process"
If you look at the OOTB jobs and processes the processes typically address less data that jobs. Eg. approve and idea or document while the OOTB jobs are there to process data to take it further in project management functionality or to keep the data updated in different areas of CA PPM. Eg. posting of timesheets, transaction posting, investment allocations and time slicing. The jobs are related to java code, SLQ stored procedures and other such like which is then run in the background when the job scheduler launches the job. Typically a new job to do something new cannot be created in the GUI and my understanding is that custom SQL's, jar's, XBL's are not supported. As far as CA PPM goes (BO) reports are also jobs and creating new reports and running them on the other hand is supported.
Processes can mostly be created in the GUI and mostly supported with the exception of direct updates to database with GEL and custom java code. However, people do those.
To me the difference is that when you want to be supported and want to automate something you can do in the GUI and there is no job to do that you can create a process. When you want to process data according to the standard functionality, but at your choice of time and maybe a subset of the data if there are parameters for that you would use a job. Eg an additional timesheet posting for the timesheets that missed the weekly job.
If being supported is not an issue it depends on the personal preferences and skills of the specific developer.
As everyone stated already it depends on the use case.
Adding to above, a Job is incompatible to itself. Hence, at any point of time only one instance of a job can be run. But same is not the case with Process.
Hi JayaSantoshKumar - Did any of the responses help answer your question? If so please mark as Correct Answer. Thanks!