Build_IDE_Cfg_Function

(For Visualization and Program adapters only.) This function is called when a user launches an integrated development environment (IDE) either from inside Oracle LSH or directly through the URL. Use it to do whatever is required for your system at that point; for example, create the URL for the IDE to be launched, download a file, or give the user the security access he or she needs in the external system.

You can use the input parameter pi_launchPref of the Build_IDE_Cfg_Function to launch one tool or mode of an IDE from the Oracle LSH Applications UI tab (the Business Area or Program properties page) and a different one from the Reports tab (for visualizations).

See "Planning Integrated Development Environment Adapters" for related information.

The build_ide_cfg_function must have the following signature:

Procedure proc_name(pi_nCompanyId   IN NUMBER,
  pi_nObjectId    IN NUMBER,
  pi_nObjectVer IN NUMBER,
	  pi_nWorkAreaId    IN NUMBER,
  pi_nConfigId     IN NUMBER,
  pi_nConfigVer     IN NUMBER,
  pi_nPrrefId     IN NUMBER,
  pi_nPrrefVer     IN NUMBER,
  pi_launchPref   IN varchar2,
  po_allocateServiceInstance OUT VARCHAR2, 
  po_launchData   OUT CDR_IDE_LAUNCH_DATA, 
  po_isDBAccountAvailable OUT VARCHAR2);
  pi_vCdrUser     IN VARCHAR2,
  pi_vScemaName     IN VARCHAR2,
  pi_vPath     IN VARCHAR2,

The function's parameters take the following values:

  • pi_nCompanyID see "Getting Your Company ID"

  • pi_nObjectId takes the Object ID of the Business Area or Program instance.

  • pi_nObjectVer takes the object version of the Business Area or Program instance.

  • pi_nWorkAreaId takes the Object ID of the Work Area that contains the Business Area or Program instance.

  • pi_nConfigId takes the Object ID of the Business Area or Program definition.

  • pi_nConfigVer takes the object version of the Business Area or Program definition.

  • pi_nPrrefId takes the PrrefID of the Business Area or Program instance; see "Getting an Object's Prref_Id and Prref_Ver". This parameter is not required but you can use the value to gain access to the Table Descriptors more quickly and improve performance.

  • pi_nPrrefVer takes the PrrefID of the Business Area or Program instance; see "Getting an Object's Prref_Id and Prref_Ver". This parameter is not required but you can use the value to gain access to the Table Descriptors more quickly and improve performance.

  • pi_launchPref Use this parameter if you need to open two different applications, each for a different modeā€”for example, if you need to launch a development environment and a visualization environment for the same adapter. For example, the OBIEE adapter launches the OBIEE Administrator's tool, which is on the Definer's PC, from the Business Area UI and OBIEE Presentation Services, which is on the OBIEE Server, from the Visualizations subtab of the Reports tab.

    The system passes one of the following values:

    • LAUNCHFILE The system passes this value (in uppercase) to the function if the user launches the IDE from the Applications tab.

    • LAUNCHURL The system passes this value (in uppercase) to the function if the user launches the IDE from the Reports tab.

    Your code can either handle these values differently or not.

  • po_allocateServiceInstance must output T if a service instance is required for the adapter or F if it is not; see "Planning Services".

  • po_launchData is a collection that outputs attribute values as follows:

    • launch_mode can have a value of either URL or FILE, depending on whether the adapter needs to launch a URL or open a file. The value of this attribute determines which of the other attributes are required. You must write the code to make the function return the value that is appropriate for your adapter.

      If launch_mode is set to FILE, the system launches the IDE on the Definer's PC by pushing a file with extension .cdz.

      Note:

      Oracle LSH supports only IDEs that are installed on the Definer's PC.

      If launch_mode is set to URL, the system forwards the IDE launch request to the URL, which is another attribute of the CDR_IDE_LAUNCH_DATA collection.

    • url is required if the launch_mode value is URL. It must provide the actual URL the adapter is to launch.

      Note:

      If you are creating this adapter for use in other companies or locations, you can use the Execution Command field of the service type definition for the purpose of collecting the URL. The field is available because IDE technology types do not require an execution command. This value is stored in the EXECUTION_COMMAND column of the CDR_SERVICES table (varchar2(200) BYTE).

    • blob_elements is a collection of BLOBs. It is required if the launch_mode value is FILE and the file is binary. It outputs the actual file(s) that must be downloaded to the client.

    • blob_filenames is a collection that is required if the launch_mode value is FILE and the file is binary. It outputs the name of the file(s) that must be downloaded to the client. There must be a blob_filename value for each blob_element.

    • clob_elements is a collection of CLOBs. It is required if the launch_mode value is FILE and the file is character-based. It outputs the actual file(s) that must be downloaded to the client.

    • clob_filenames is a collection that is required if the launch_mode value is FILE and the file is character-based. It outputs the name of the file(s) that must be downloaded to the client. There must be a clob_filename value for each clob_element.

    • col_comp_list is a collection that is required if you need to download a file to the IDE or pass any other values to the IDE when a user launches the IDE. Specify one or more argument/value pairs; for example, "_comp002_", "<filename>" where the filename is the file to be downloaded. The argument name and value must match the those in the cdrconfig.xml file; see "Planning Integrated Development Environment Adapters".

    • col_sub_dirs is a collection that is required for users to view outputs generated by the Program they are defining in the IDE. This attribute must name the directories into which the system should put these outputs; see "Creating Subdirectories on IDE Computers".

  • po_isDBAccountAvailable outputs T if a database account is required by the adapter or F if it is not. For example, the SAS adapter requires a database account to reconnect to the Oracle LSH database during IDE launch.

  • pi_vCdrUser takes the Oracle LSH user ID of the person launching the visualization tool.

  • pi_vSchemaName takes the Oracle LSH database account user ID of the person launching the visualization tool.

  • pi_vPath takes the full path of the object:

    user_db_account/domain_name/app_areaname/wa_name/object_name/vversion_number
    

    for example:

    John_Smith_DB/SmokeTestDomain/SmokeTestAA/ SmokeTestWA/Study55698_BA/v3