A program object (program) describes what is to be run by the Scheduler. A program includes:
An action—For example, the name of a stored procedure, the name of an executable found in the operating system file system (an "external executable"), or the text of a PL/SQL anonymous block
A type—For example,
The number of arguments that the stored procedure or external executable accepts
A program is a separate entity from a job. A job runs at a certain time or because a certain event occurred, and invokes a certain program. Jobs can be created that point to existing program objects, which means that different jobs can use the same program and run the program at different times and with different settings. Given the right privileges, different users can thus use the same program without having to redefine it. This enables the creation of program libraries, where users can select from a list of existing programs.
If a stored procedure or external executable referenced by the program accepts arguments, you define these arguments in a separate step after creating the program. You can optionally define a default value for each argument.