Main Tables Views Materialized Views Indexes Constraints Triggers Procedures Functions Packages Sequences Java Sources Sanity Check Index DDL scrips
Arguments Source

LOOKUP_TRANSACTION_PACKAGE

DDL script

Arguments:

NameData TypeDefault ValueIn/Out
O_INVARCHAR2 IN
N_INVARCHAR2 IN
E_INVARCHAR2 IN
V_INVARCHAR2 IN
R_INVARCHAR2 IN
A_INVARCHAR2 IN

Returns:

NUMBER(38)

Source

Legend: comment string keyword reserved word operator
     1: FUNCTION
     2: LOOKUP_TRANSACTION_PACKAGE(o_in IN VARCHAR2, n_in IN VARCHAR2,
     3:     e_in IN VARCHAR2, v_in IN VARCHAR2, r_in IN VARCHAR2, a_in IN VARCHAR2)
     4: RETURN NUMBER
     5: DETERMINISTIC
     6: IS
     7: 	PRAGMA AUTONOMOUS_TRANSACTION;
     8:         o_id        NUMBER;
     9:         n_id        NUMBER;
    10: 	e_id	    NUMBER;
    11:         p_arch_id   NUMBER;
    12:         tp_id       NUMBER;
    13: BEGIN
    14: 	BEGIN
    15: 	    SELECT id
    16: 	      INTO o_id
    17: 	      FROM rhnTransactionOperation
    18: 	     WHERE label = o_in;
    19: 	EXCEPTION
    20: 	    WHEN NO_DATA_FOUND THEN
    21: 		rhn_exception.raise_exception('invalid_transaction_operation');
    22: 	END;
    23: 	SELECT LOOKUP_PACKAGE_NAME(n_in)
    24: 	  INTO n_id
    25: 	  FROM dual;
    26: 	SELECT LOOKUP_EVR(e_in, v_in, r_in)
    27: 	  INTO e_id
    28: 	  FROM dual;
    29: 	p_arch_id := NULL;
    30: 	IF a_in IS NOT NULL
    31: 	THEN
    32: 		SELECT LOOKUP_PACKAGE_ARCH(a_in)
    33: 		  INTO p_arch_id
    34: 		  FROM dual;
    35: 	END IF;
    36: 	SELECT id
    37: 	  INTO tp_id
    38: 	  FROM rhnTransactionPackage
    39: 	 WHERE operation = o_id
    40: 	   AND name_id = n_id
    41: 	   AND evr_id = e_id
    42: 	   AND (package_arch_id = p_arch_id OR (p_arch_id IS NULL AND package_arch_id IS NULL));
    43: 	RETURN tp_id;
    44: EXCEPTION
    45:         WHEN NO_DATA_FOUND THEN
    46: 	    INSERT INTO rhnTransactionPackage
    47: 		(id, operation, name_id, evr_id, package_arch_id)
    48: 	    VALUES (rhn_transpack_id_seq.nextval, o_id, n_id, e_id, p_arch_id)
    49: 	    RETURNING id INTO tp_id;
    50: 	    COMMIT;
    51: 	    RETURN tp_id;
    52: END;