65: -- all fetched qa_specs. If the same spec data is required in
66: -- a future call, the cached data will be used.
67: --
68:
69: FUNCTION exists_qa_specs(spec_id IN NUMBER)
70: RETURN BOOLEAN IS
71:
72: BEGIN
73:
75:
76: END exists_qa_specs;
77:
78:
79: PROCEDURE fetch_qa_specs(spec_id IN NUMBER) IS
80: --
81: -- Retrieve a specification header and cached.
82: --
83: CURSOR c1 (p_id NUMBER) IS
85: FROM qa_specs
86: WHERE spec_id = p_id;
87:
88: BEGIN
89: IF NOT exists_qa_specs(spec_id) THEN
90: OPEN c1(spec_id);
91: FETCH c1 INTO g_qa_specs_array(spec_id);
92: CLOSE c1;
93: END IF;
124: RETURN NUMBER IS
125:
126: BEGIN
127:
128: fetch_qa_specs(spec_id);
129: IF NOT exists_qa_specs(spec_id) THEN
130: RETURN NULL;
131: END IF;
132: RETURN g_qa_specs_array(spec_id).item_id;
125:
126: BEGIN
127:
128: fetch_qa_specs(spec_id);
129: IF NOT exists_qa_specs(spec_id) THEN
130: RETURN NULL;
131: END IF;
132: RETURN g_qa_specs_array(spec_id).item_id;
133:
138: RETURN NUMBER IS
139:
140: BEGIN
141:
142: fetch_qa_specs(spec_id);
143: IF NOT exists_qa_specs(spec_id) THEN
144: RETURN NULL;
145: END IF;
146: RETURN g_qa_specs_array(spec_id).organization_id;
139:
140: BEGIN
141:
142: fetch_qa_specs(spec_id);
143: IF NOT exists_qa_specs(spec_id) THEN
144: RETURN NULL;
145: END IF;
146: RETURN g_qa_specs_array(spec_id).organization_id;
147:
152: RETURN VARCHAR2 IS
153:
154: BEGIN
155:
156: fetch_qa_specs(spec_id);
157: IF NOT exists_qa_specs(spec_id) THEN
158: RETURN NULL;
159: END IF;
160: RETURN g_qa_specs_array(spec_id).spec_name;
153:
154: BEGIN
155:
156: fetch_qa_specs(spec_id);
157: IF NOT exists_qa_specs(spec_id) THEN
158: RETURN NULL;
159: END IF;
160: RETURN g_qa_specs_array(spec_id).spec_name;
161:
166: RETURN NUMBER IS
167:
168: BEGIN
169:
170: fetch_qa_specs(spec_id);
171: IF NOT exists_qa_specs(spec_id) THEN
172: RETURN NULL;
173: END IF;
174: RETURN g_qa_specs_array(spec_id).category_set_id;
167:
168: BEGIN
169:
170: fetch_qa_specs(spec_id);
171: IF NOT exists_qa_specs(spec_id) THEN
172: RETURN NULL;
173: END IF;
174: RETURN g_qa_specs_array(spec_id).category_set_id;
175:
180: RETURN NUMBER IS
181:
182: BEGIN
183:
184: fetch_qa_specs(spec_id);
185: IF NOT exists_qa_specs(spec_id) THEN
186: RETURN NULL;
187: END IF;
188: RETURN g_qa_specs_array(spec_id).category_id;
181:
182: BEGIN
183:
184: fetch_qa_specs(spec_id);
185: IF NOT exists_qa_specs(spec_id) THEN
186: RETURN NULL;
187: END IF;
188: RETURN g_qa_specs_array(spec_id).category_id;
189:
194: RETURN VARCHAR2 IS
195:
196: BEGIN
197:
198: fetch_qa_specs(spec_id);
199: IF NOT exists_qa_specs(spec_id) THEN
200: RETURN NULL;
201: END IF;
202: RETURN g_qa_specs_array(spec_id).item_revision;
195:
196: BEGIN
197:
198: fetch_qa_specs(spec_id);
199: IF NOT exists_qa_specs(spec_id) THEN
200: RETURN NULL;
201: END IF;
202: RETURN g_qa_specs_array(spec_id).item_revision;
203:
208: RETURN NUMBER IS
209:
210: BEGIN
211:
212: fetch_qa_specs(spec_id);
213: IF NOT exists_qa_specs(spec_id) THEN
214: RETURN NULL;
215: END IF;
216: RETURN g_qa_specs_array(spec_id).vendor_id;
209:
210: BEGIN
211:
212: fetch_qa_specs(spec_id);
213: IF NOT exists_qa_specs(spec_id) THEN
214: RETURN NULL;
215: END IF;
216: RETURN g_qa_specs_array(spec_id).vendor_id;
217:
222: RETURN NUMBER IS
223:
224: BEGIN
225:
226: fetch_qa_specs(spec_id);
227: IF NOT exists_qa_specs(spec_id) THEN
228: RETURN NULL;
229: END IF;
230: RETURN g_qa_specs_array(spec_id).customer_id;
223:
224: BEGIN
225:
226: fetch_qa_specs(spec_id);
227: IF NOT exists_qa_specs(spec_id) THEN
228: RETURN NULL;
229: END IF;
230: RETURN g_qa_specs_array(spec_id).customer_id;
231:
236: RETURN NUMBER IS
237:
238: BEGIN
239:
240: fetch_qa_specs(spec_id);
241: IF NOT exists_qa_specs(spec_id) THEN
242: RETURN NULL;
243: END IF;
244: RETURN g_qa_specs_array(spec_id).char_id;
237:
238: BEGIN
239:
240: fetch_qa_specs(spec_id);
241: IF NOT exists_qa_specs(spec_id) THEN
242: RETURN NULL;
243: END IF;
244: RETURN g_qa_specs_array(spec_id).char_id;
245:
250: RETURN VARCHAR2 IS
251:
252: BEGIN
253:
254: fetch_qa_specs(spec_id);
255: IF NOT exists_qa_specs(spec_id) THEN
256: RETURN NULL;
257: END IF;
258: RETURN g_qa_specs_array(spec_id).spec_element_value;
251:
252: BEGIN
253:
254: fetch_qa_specs(spec_id);
255: IF NOT exists_qa_specs(spec_id) THEN
256: RETURN NULL;
257: END IF;
258: RETURN g_qa_specs_array(spec_id).spec_element_value;
259:
804: l_item_id NUMBER := -1;
805: l_vendor_id NUMBER := -1;
806: l_customer_id NUMBER := -1;
807: l_char_id NUMBER := -1;
808: l_sub_type_value qa_specs.spec_element_value%TYPE;
809: l_existing_spec_name VARCHAR2(30);
810: l_datatype NUMBER;
811:
812: l_reference_spec_id NUMBER;
992: fnd_msg_pub.add();
993: RAISE fnd_api.g_exc_error;
994: END IF;
995:
996: SELECT qa_specs_s.nextval INTO x_spec_id FROM DUAL;
997:
998: IF p_reference_spec IS NOT NULL THEN
999: OPEN c;
1000: FETCH c INTO l_reference_spec_id;
1779: fnd_msg_pub.add();
1780: RAISE fnd_api.g_exc_error;
1781: END IF;
1782:
1783: SELECT qa_specs_s.nextval INTO x_spec_id FROM DUAL;
1784:
1785: INSERT INTO qa_specs(
1786: spec_id,
1787: last_update_date,