DBA Data[Home] [Help]

APPS.IGS_RU_GEN_002 SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 35

	select_item	IGS_RU_DESCRIPTION.rule_description%TYPE,
	description	VARCHAR2(2000),
	selectable	VARCHAR2(1) );
Line: 57

 when delete rule, keep rule numbers to reuse
*/
gt_rule_numbers	t_number;
Line: 62

 when delete rule, keep set numbers to reuse
*/
gt_set_numbers	t_number;
Line: 67

 table of selectable items
*/
gt_rule_LOV	t_LOV;
Line: 82

 selected value in LOV's
*/
gv_prev		VARCHAR2(100);
Line: 86

gv_select_count	NUMBER := 0;
Line: 113

	p_selectable	IN VARCHAR2)
IS
BEGIN DECLARE
	v_rule_length	NUMBER;
Line: 137

		gt_rule_LOV(gv_LOV_index).select_item := REPLACE(p_string,fnd_global.local_chr(10));
Line: 139

		gt_rule_LOV(gv_LOV_index).selectable := p_selectable;
Line: 152

	v_selectable	IGS_RU_LOV.selectable%TYPE;
Line: 154

	SELECT	description,
		selectable
	INTO	v_description,
		v_selectable
	FROM	IGS_RU_LOV
	WHERE	sequence_number = p_LOV_number;
Line: 160

	IF v_selectable = 'Y'
	THEN
		RETURN v_description;
Line: 174

PROCEDURE insert_LOV_tab
IS
X_ROWID  VARCHAR2(25);
Line: 179

	SELECT ROWID, rl.*
	FROM IGS_RU_LOV rl
	WHERE SEQUENCE_NUMBER = p_LOV_number ;
Line: 186

		SELECT	IGS_RU_LOV_SEQ_NUM_S.nextval
		INTO	p_LOV_number
		FROM	DUAL;
Line: 192

		IGS_RU_LOV_PKG.DELETE_ROW (X_ROWID => C_RL_REC.ROWID	);
Line: 199

		IGS_RU_LOV_PKG.INSERT_ROW (
		X_ROWID => X_ROWID,
		X_SEQUENCE_NUMBER => p_LOV_number,
		X_DESCRIPTION     => LTRIM(RTRIM(gt_rule_LOV(v_index).select_item)),
		X_HELP_TEXT       => LTRIM(RTRIM(gt_rule_LOV(v_index).description)),
		X_SELECTABLE      => LTRIM(RTRIM(gt_rule_LOV(v_index).selectable)) );
Line: 212

				UPDATE	igs_ru_lov
				SET	help_text = LTRIM(RTRIM(gt_rule_LOV(v_index).description))
				WHERE	sequence_number = p_LOV_number
				AND	description = LTRIM(RTRIM(gt_rule_LOV(v_index).select_item));
Line: 219

END insert_LOV_tab;
Line: 248

        SELECT igs_ru_rule_seq_num_s.NEXTVAL
	FROM   DUAL;
Line: 252

      SELECT   (sequence_number + 1) sequence_number
      FROM     igs_ru_rule
      WHERE    sequence_number =
        (SELECT   MAX (sequence_number)
         FROM     igs_ru_rule
         WHERE    sequence_number < 499999)
      FOR UPDATE OF sequence_number NOWAIT;
Line: 285

		 use deleted rule number
           */
		v_rule_number := gt_rule_numbers(gv_rn_index);
Line: 291

      IGS_RU_RULE_PKG.INSERT_ROW (
	X_ROWID		 => X_ROWID ,
 	X_SEQUENCE_NUMBER	 => V_RULE_NUMBER );
Line: 300

 insert new set

*/
FUNCTION new_set (
	p_set_type	IN IGS_RU_SET.set_type%TYPE )
RETURN NUMBER IS
BEGIN DECLARE
	v_set_number	NUMBER;
Line: 311

        SELECT igs_ru_set_seq_num_s.NEXTVAL
	FROM   DUAL;
Line: 315

      SELECT   (sequence_number + 1) sequence_number
      FROM     igs_ru_set
      WHERE    sequence_number =
        (SELECT   MAX (sequence_number)
         FROM     igs_ru_set
         WHERE    sequence_number < 499999)
      FOR UPDATE OF sequence_number NOWAIT;
Line: 346

		 use deleted set number
          */
		v_set_number := gt_set_numbers(gv_sn_index);
Line: 352

      IGS_RU_SET_PKG.INSERT_ROW (
	X_ROWID => X_ROWID,
	X_SEQUENCE_NUMBER  => v_set_number,
	X_SET_TYPE         => p_set_type );
Line: 396

	gv_select_count := 0;
Line: 416

				/* count the number of units selected, remember their might be wildcards*/
				SELECT	count(*)
				INTO	v_count
				FROM	IGS_PS_UNIT_VER
				/*WHERE	unit_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1)); --Bug 2395891/2543627 --space not accepted in user defined rules*/
Line: 425

					 check if to many selected units (1000)
*/
					SELECT	count(*)
					INTO	v_max_count
					FROM	IGS_PS_UNIT_VER
					/*WHERE	unit_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1))||'%'; --Bug 2395891/2543627 --space not accepted in user defined rules*/
Line: 435

							'*** To many units selected. ***',
							'Suggest you restrict the select criteria further.',
							'N');
Line: 444

						SELECT	unit_cd,
							version_number,
							unit_status,
							short_title
						FROM	IGS_PS_UNIT_VER
						/*WHERE	unit_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1))||'%' --Bug 2395891/2543627 --space not accepted in user defined rules*/
						WHERE	unit_cd LIKE UPPER(SUBSTR(REPLACE(p_rule,cst_spacemod,' '),1,v_ii - 1))||'%' --nshee
						ORDER BY unit_cd,version_number DESC )
					LOOP
						v_no_units := FALSE;
Line: 480

						gv_select_count := v_ii - 1;
Line: 535

				 count the number of UNIT sets selected, remember their might be wildcards
*/
				SELECT	count(*)
				INTO	v_count
				FROM	IGS_EN_UNIT_SET
/*				WHERE	unit_set_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1)); commented by nshee as part of fix of bug 2381638 and 2395891 and added the next line */
Line: 545

					 check if to many selected set members (1000)
*/
					SELECT	count(*)
					INTO	v_max_count
					FROM	IGS_EN_UNIT_SET
					/*WHERE	unit_set_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1))||'%';--Bug 2395891/2543627 --space not accepted in user defined rules*/
Line: 555

							'*** To many unit sets selected. ***',
							'Suggest you restrict the select criteria further.',
							'N');
Line: 564

						SELECT	unit_set_cd,
							version_number,
							unit_set_status,
							short_title
						FROM	IGS_EN_UNIT_SET
						/*WHERE	unit_set_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1))||'%'--Bug 2395891/2543627 --space not accepted in user defined rules*/
						WHERE	unit_set_cd LIKE UPPER(SUBSTR(REPLACE(p_rule,cst_spacemod,' '),1,v_ii - 1))||'%'--nshee
						ORDER BY unit_set_cd,version_number DESC )
					LOOP
						v_no_units := FALSE;
Line: 652

				 count the number of members selected, remember their might be wildcards
*/
				SELECT	count(*)
				INTO	v_count
				FROM	IGS_PS_VER
				/*WHERE	course_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1));--Bug 2395891/2543627 --space not accepted in user defined rules*/
Line: 662

					 check if to many selected set members (1000)
*/
					SELECT	count(*)
					INTO	v_max_count
					FROM	IGS_PS_VER
					/*WHERE	course_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1))||'%';--Bug 2395891/2543627 --space not accepted in user defined rules*/
Line: 672

							'*** To many courses selected. ***',
							'Suggest you restrict the select criteria further.',
							'N');
Line: 681

						SELECT	course_cd,
							version_number,
							course_status,
							short_title
						FROM	IGS_PS_VER
						/*WHERE	course_cd LIKE UPPER(SUBSTR(p_rule,1,v_ii - 1))||'%'--Bug 2395891/2543627 --space not accepted in user defined rules*/
						WHERE	course_cd LIKE UPPER(SUBSTR(REPLACE(p_rule,cst_spacemod,' '),1,v_ii - 1))||'%'--nshee
						ORDER BY course_cd,version_number DESC )
					LOOP
						v_no_members := FALSE;
Line: 872

 insert set member

*/
PROCEDURE insert_set_member(
	p_set_number	IN IGS_RU_SET.sequence_number%TYPE,
	p_unit		IN VARCHAR2)
IS
	v_unit			VARCHAR2(200);
Line: 888

	SELECT ROWID, rsmbr.*
	FROM   IGS_RU_SET_MEMBER rsmbr
	WHERE	rs_sequence_number = p_set_number
	AND	unit_cd = v_unit_cd;
Line: 919

		IGS_RU_SET_MEMBER_PKG.INSERT_ROW (
		X_ROWID			=>	X_ROWID,
		X_RS_SEQUENCE_NUMBER    =>	p_set_number,
		X_UNIT_CD               =>	v_unit_cd,
		X_VERSIONS              =>	v_versions );
Line: 928

		SELECT	versions
		INTO	v_current_versions
		FROM	IGS_RU_SET_MEMBER
		WHERE	rs_sequence_number = p_set_number
		AND	unit_cd = v_unit_cd;
Line: 940

                   IGS_RU_SET_MEMBER_PKG.UPDATE_ROW (
			X_ROWID 			=> C_RSMBR_REC.ROWID,
			X_RS_SEQUENCE_NUMBER	=> C_RSMBR_REC.RS_SEQUENCE_NUMBER,
			X_UNIT_CD               => C_RSMBR_REC.UNIT_CD ,
			X_VERSIONS              => v_new_versions );
Line: 947

END insert_set_member;
Line: 1141

			SELECT	s_return_type
			FROM	IGS_RU_RET_TYPE
			WHERE	s_return_type LIKE SUBSTR(p_description,v_hash + 1,1)||'%'
			ORDER BY s_return_type DESC )
		LOOP
			IF SUBSTR(p_description,v_hash + 1,LENGTH(return_types.s_return_type))
				= return_types.s_return_type
			THEN
				p_action := return_types.s_return_type;
Line: 1253

 cascade delete RULE items
 save RULE and set numbers

*/
PROCEDURE delete_rule_items(
	p_rule_number	IN IGS_RU_RULE.sequence_number%TYPE,
	p_item		IN IGS_RU_ITEM.item%TYPE)
IS
		CURSOR c_rule_items IS
		SELECT	rowid, ri.*
		FROM	IGS_RU_ITEM  ri
		WHERE	rul_sequence_number = p_rule_number
		AND	item >= p_item ;
Line: 1268

		SELECT	rowid, rule.*
		FROM	IGS_RU_RULE  rule
		WHERE	sequence_number = p_rule_number;
Line: 1274

		SELECT	rowid, rsmbr.*
		FROM	IGS_RU_SET_MEMBER  rsmbr
		WHERE	rs_sequence_number =p_set_number;
Line: 1280

		SELECT	rowid, rs.*
		FROM	IGS_RU_SET  rs
		WHERE	sequence_number = p_set_number;
Line: 1288

		IGS_RU_ITEM_PKG.DELETE_ROW (
		X_ROWID => C_RULE_ITEMS_REC.ROWID );
Line: 1301

			delete_rule_items(c_rule_items_rec.rule_number,0);
Line: 1306

				IGS_RU_RULE_PKG.DELETE_ROW (X_ROWID => C_RULE_REC.ROWID );
Line: 1320

				IGS_RU_SET_MEMBER_PKG.DELETE_ROW (X_ROWID => C_RULE_SET_MBR_REC.ROWID);
Line: 1327

				IGS_RU_SET_PKG.DELETE_ROW (X_ROWID => C_RULE_SET_REC.ROWID );
Line: 1332

END delete_rule_items;
Line: 1335

 build and insert RULE item
 increment item if used

*/
PROCEDURE make_rule_item(
	p_from			IN VARCHAR2,
	p_rule_num		IN NUMBER,
	p_item			IN OUT NOCOPY NUMBER,
	p_turin_function	IN IGS_RU_ITEM.turin_function%TYPE,
	p_rud_seq_num		IN IGS_RU_DESCRIPTION.sequence_number%TYPE,
	p_rule_number		IN IGS_RU_ITEM.rule_number%TYPE,
	p_set_number		IN IGS_RU_ITEM.set_number%TYPE,
	p_value			IN IGS_RU_ITEM.value%TYPE)
IS
BEGIN DECLARE
	v_named_rule		IGS_RU_ITEM.named_rule%TYPE;
Line: 1359

	delete_rule_items(p_rule_num,p_item);
Line: 1370

		SELECT	rul_sequence_number
		INTO	v_named_rule
		FROM	IGS_RU_NAMED_RULE
		WHERE	rud_sequence_number = p_rud_seq_num;
Line: 1377

		SELECT	rule_description
		INTO	v_rule_description
		FROM	IGS_RU_DESCRIPTION
		WHERE	sequence_number = p_rud_seq_num;
Line: 1400

	IGS_RU_ITEM_PKG.INSERT_ROW (
	X_ROWID			=>	X_ROWID,
	X_RUL_SEQUENCE_NUMBER	=>	p_rule_num,
	X_ITEM                  => 	p_item,
	X_TURIN_FUNCTION        => 	p_turin_function,
	X_NAMED_RULE            => 	v_named_rule,
	X_RULE_NUMBER           => 	p_rule_number,
	X_SET_NUMBER            => 	p_set_number,
	X_VALUE                 => 	v_value,
	X_DERIVED_RULE          => 	NULL );
Line: 1419

 from an SQL select string match value or create a list of values

*/
FUNCTION do_LOV (
	p_rule		IN OUT NOCOPY	VARCHAR2,
	p_rule_number	IN	NUMBER,
	p_item		IN OUT NOCOPY	NUMBER,
	p_select_string	IN	VARCHAR2 )
RETURN BOOLEAN IS
	v_select_string	VARCHAR2(2000);
Line: 1436

	 replace previously selected field(s) with their values
*/
	v_select_string := REPLACE(p_select_string,'$PREV',gv_prev);
Line: 1439

	v_select_string := REPLACE(v_select_string,'$PPREV',gv_pprev);
Line: 1441

	DBMS_SQL.PARSE(v_cursor,v_select_string||' ORDER BY 1 DESC',dbms_sql.native);
Line: 1452

			 add selected value
*/
			make_rule_item('do_LOV',p_rule_number,p_item,
				NULL,NULL,NULL,NULL,
				v_value);
Line: 1458

			 set previous selected values
*/
			gv_pprev := gv_prev;
Line: 1472

			'*** No values selected ***',
			'ERROR:No values selected while attempting '||
				'match from a database defined LOV''s.',
			'N');
Line: 1482

 from an SQL select string match value, create set member or
 create a list of values

*/
FUNCTION make_set (
	p_rule		IN OUT NOCOPY	VARCHAR2,
	p_rule_number	IN	NUMBER,
	p_item		IN OUT NOCOPY	NUMBER,
	p_select_string	IN	VARCHAR2 )
RETURN BOOLEAN IS
	v_select_string	VARCHAR2(2000);
Line: 1500

	 replace previously selected field(s) with their values
*/
	v_select_string := REPLACE(p_select_string,'$PREV',gv_prev);
Line: 1503

	v_select_string := REPLACE(v_select_string,'$PPREV',gv_pprev);
Line: 1505

	DBMS_SQL.PARSE(v_cursor,v_select_string||' ORDER BY 1 DESC',dbms_sql.v7);
Line: 1525

			'*** No values selected ***',
			'ERROR:No values selected while attempting '||
				'match from a database defined LOV''s.',
			'N');
Line: 1561

	 select all descriptions where the first description item <> return type
*/
	FOR rule_descriptions IN (
		SELECT	RUD.sequence_number,
			s_turin_function,
			rule_description,
			description
		FROM	IGS_RU_DESCRIPTION	RUD,
			IGS_RU_GROUP_SET		RGS
		WHERE	s_return_type = p_type
		AND	rule_description NOT LIKE '#'||p_type||'%'
		AND	RUD.sequence_number = RGS.rud_sequence_number
		AND	RGS.rug_sequence_number = p_group
		ORDER BY rule_description DESC )
	LOOP
		v_rule_description := rule_descriptions.rule_description;
Line: 1600

			 do list of values select thingo
*/
			IF v_action = '[LOV]'
			THEN
				RETURN do_LOV(p_rule,p_rule_number,
					      p_item,v_rule_description);
Line: 1835

			insert_set_member(gv_set_number,
					SUBSTR(v_rule,1,LENGTH(v_rule) - LENGTH(p_rule)));
Line: 1904

	 select all descriptions where the first description item = return type
*/
	FOR rule_descriptions IN (
		SELECT	RUD.sequence_number,
			s_turin_function,
			rule_description,
			description
		FROM	IGS_RU_DESCRIPTION	RUD,
			IGS_RU_GROUP_SET		RGS
		WHERE	s_return_type = p_type
		AND	rule_description LIKE '#'||p_type||'%'
		AND	RUD.sequence_number = RGS.rud_sequence_number
		AND	RGS.rug_sequence_number = p_group
		ORDER BY rule_description DESC )
	LOOP
		v_rule_description := rule_descriptions.rule_description;
Line: 2020

        v_unit := UPPER(REPLACE(v_unit,cst_spacemod,' '));added this line by nshee as fix for bug 2395891 to insert back the space at the right places to validate with the DB record.
Line: 2030

     1) remove the following line in the procedure unit insert_set_member.
        v_unit := UPPER(REPLACE(v_unit,cst_spacemod,' '));added this line by nshee as fix for bug 2395891 to insert back the space at the right places to validate with the DB record.
Line: 2151

	SELECT ROWID, rnr.*
	FROM   IGS_RU_NAMED_RULE rnr
	WHERE	rul_sequence_number = p_rule_number;
Line: 2171

	 loop until more than 1 item to select
*/
	LOOP
		IF p_generate_rule = TRUE
		THEN
			gv_rn_index := 0;
Line: 2178

			delete_rule_items(p_rule_number,0);
Line: 2213

		 build select from list
*/
		insert_LOV_tab;
Line: 2241

					+ 1 /* + gv_select_count */);
Line: 2248

		 update RULE text if it exists
*/
		v_rule := IGS_RU_GEN_006.rulp_get_rule(p_rule_number);
Line: 2253

		    IGS_RU_NAMED_RULE_PKG.UPDATE_ROW (
			X_ROWID 			=> C_RNR_REC.ROWID,
			X_RUL_SEQUENCE_NUMBER   => C_RNR_REC.RUL_SEQUENCE_NUMBER,
			X_RUD_SEQUENCE_NUMBER   => C_RNR_REC.RUD_SEQUENCE_NUMBER,
			X_MESSAGE_RULE          => C_RNR_REC.MESSAGE_RULE,
			X_RUG_SEQUENCE_NUMBER   => C_RNR_REC.RUG_SEQUENCE_NUMBER,
			X_RULE_TEXT             => v_rule  );