Create a Program

Use this API to create a new Program definition, a new instance of an existing Program definition, or a new definition and an instance of it.

Name

CDR_PUB_DF_PROGRAM.CreateProgram

Signature

PROCEDURE CREATEPROGRAM( 
  P_API_VERSION  IN    NUMBER, 
  P_INIT_MSG_LIST  IN    VARCHAR2 := CDR_PUB_DEF_CONSTANTS.G_FALSE, 
  P_COMMIT  IN    VARCHAR2 := CDR_PUB_DEF_CONSTANTS.G_FALSE, 
  P_VALIDATION_LEVEL  IN    NUMBER := CDR_PUB_DEF_CONSTANTS.G_VALID_LEVEL_FULL, 
  X_RETURN_STATUS  OUT    VARCHAR2, 
  X_MSG_COUNT  OUT    NUMBER, 
  X_MSG_DATA  OUT    VARCHAR2, 
  PIO_SOURCECDRNAMING  IN OUT    CDR_NAMING_VERSION_OBJ_TYPE, 
  PI_CDRPRGOBJTYPE  IN    CDR_PROGRAM_OBJ_TYPE, 
  PI_CREATEOBJECT  IN    VARCHAR2, 
  PI_INSTANCE_SUBTYPE_ID  IN    CDR_NAMINGS.OBJECT_SUBTYPE_ID%TYPE, 
  PI_DEFCLASSIFICATIONCOLL  IN    CDR_CLASSIFICATIONS_COLL, 
  PI_INSTCLASSIFICATIONCOLL  IN    CDR_CLASSIFICATIONS_COLL 
);

Parameters

This API has standard parameters (see Standard Parameters) and the following parameters:

  • PIO_SOURCECDRNAMING (Mandatory) This is a parameter of table type CDR_NAMING_VERSIONS_OBJ_TYPE that contains CDR Naming Version attributes.

    If you are creating a new definition only or a new definition and an instance of it, enter values for the new definition.

    If you are creating an instance of an existing definition, enter values to identify the definition.

    The required attributes are: OBJECT_TYPE_RC,NAME,NAMESPACE_OBJ_ID,NAMESPACE_OBJ_VER,NAMESPACE_START_OBJ_VER,NAMESPACE_END_OBJ_VER,OWNING_LOCATION_RC,OBJECT_SUBTYPE_ID.

    For OBJECT_TYPE_RC enter $OBJTYPES$PROGRAM if you are creating a definition only; $OBJTYPES$PROGRAMINST if you are creating an instance of an existing definition; and NULL if you are creating a new definition and an instance of it.

  • PI_CDRPRGOBJTYPE (Optional) This is a parameter of table type CDR_DATA_MART_OBJ_TYPE that contains object attributes specific to Programs.

    If you are creating a new definition, enter values for the new Program. The following attributes are required: CDR_PROGRAM_OBJ_TYPE,TECH_TYPE_ID.

    If you are creating an instance of an existing Program, do not enter any values here.

  • PI_CREATEOBJECT (Mandatory) Enter DEFN to create a definition only; INST to create a instance of an existing definition; or BOTH to create a new definition and an instance of it.
  • PI_INSTANCE_SUBTYPE_ID (Optional) If you are creating a new instance, enter the ID for the subtype you want to give the instance.

    If you are creating a definition only, do not enter a value for this parameter. Definition and Instance are to be created in the same call.

  • PI_DEFCLASSIFICATIONCOLL (Optional) By default the new definition is classified according to the subtype you assigned it in the CDR_NAMING_VERSION_OBJ_TYPE.

    If you want to override the default classifications for one or more classification levels, use this parameter. This is a collection of CDR_CLA_OBJ_TYPEs, which have five attributes, including CLA_LEVEL_ID and CLASSIFICATION_ID.

    If you want the definition to inherit its classifications for a particular level from its parent, enter the classification level ID and, for the CLASSIFICATION_ID, enter 0 (zero).

    If you want to explicitly assign one or more terms for a particular level, initialize a CDR_CLA_OBJ_TYPE for each term, entering the classification level ID and, for the CLASSIFICATION_ID, the term ID. Do not enter any values for them.

    If you are not creating a new definition, do not enter values here.

  • PI_INSTCLASSIFICATIONCOLL (Optional) By default the new instance is classified according to the subtype you assigned it in the CDR_NAMING_VERSION_OBJ_TYPE.

    If you want to override the default classifications for one or more classification levels, use this parameter. This is a collection of CDR_CLA_OBJ_TYPEs, which have 5 attributes, including CLA_LEVEL_ID and CLASSIFICATION_ID.

    If you want the instance to inherit its classifications for a particular level from its parent Work Area, enter the classification level ID and, for the CLASSIFICATION_ID, enter 0 (zero).

    If you want to explicitly assign one or more terms for a particular level, initialize a CDR_CLA_OBJ_TYPE for each term, entering the classification level ID and, for the CLASSIFICATION_ID, the term ID. The PAR_ attributes are not relevant to Programs. Do not enter any values for them.

    If you are not creating a new instance, do not enter values here.