About Programs

To create an Oracle Life Sciences Data Hub Program you write or upload source code in SAS, PL/SQL, or Oracle Reports as you normally would.

In addition, you must create a defined object in Oracle LSH called a Program, and create defined objects for each of the following included in your source code:

  • You must define a Table Descriptor object for each source and target table or data set that your program reads from and writes to. You must then map each Table Descriptor to the actual Table instance the program reads from or writes to.
  • You must define a Source Code object for the primary source code you write and for any separate subroutines, macros, or formats you use.
  • You must define a Parameter object for each input, output, or input/output parameter you declare in your source code.
  • You must define a Planned Output object for each output the Program will produce, including reports, error files, and log files (except SAS log files, which the system creates automatically).
  • As with other Oracle LSH executables, you must define at least one Execution Setup to enable users to run the Program. See Creating, Modifying, and Submitting Execution Setups for further information.

Because these Program components are defined objects, Oracle LSH can keep them and the Program as a whole under version control, and you can validate the Program.

A Program of any technology type (SAS, PL/SQL, or Oracle Reports) can operate on any Oracle LSH data, regardless of the type of external system where the data originated because all Oracle LSH Tables are compatible with both Oracle tables and SAS data sets. Only one Program instance can write to any particular Table instance.

When you run a Program, the system launches the appropriate engine to execute the code, compiles source code files as necessary in that environment, and launches the primary source code file, running in batch mode. You must create an instance of a Program definition and install it and the Table instances to which it is mapped before you can run the Program; see Installing Program Instances.

Program Usage: You can use a Program in several basic ways:

  • Standalone Object. You can use a Program to do one or both of the following:
    • generate one or more reports on data
    • manipulate data and write the transformed data to tables
  • Component of a Workflow. Any data transformation or generation of reports done within a Workflow can only be accomplished by Programs (see Defining Workflows).)
  • Container. Source Code objects must be stored in Programs. You may want to create Programs specifically to store reusable source code files for reference as subroutines in other Programs
  • Data Viewer. After the Program and its source Table instances are installed, you can view data in the database tables in the Integrated Development Environment (IDE). After the Program runs, you can also view data in the target Table instances.

Note:

For information about writing Programs that touch blinded data, see Setting and Modifying Table Attributes and Managing Blinded Data.

Reports on Program Definitions and Instances: From the Actions drop-down list, you can generate reports that provide information on a Program definition or instance; see System Reports for information.