DBA Data[Home] [Help]

PACKAGE: APPS.GMD_RESULTS_GRP

Source


1 PACKAGE gmd_results_grp AUTHID CURRENT_USER AS
2 --$Header: GMDGRESS.pls 120.3.12020000.2 2012/07/17 10:27:21 mtou ship $
3 
4 -- Start of comments
5 --+==========================================================================+
6 --|                   Copyright (c) 1998 Oracle Corporation                  |
7 --|                          Redwood Shores, CA, USA                         |
8 --|                            All rights reserved.                          |
9 --+==========================================================================+
10 --| File Name          : GMDGRESS.pls                                        |
11 --| Package Name       : GMD_RESULTS_GRP                                     |
12 --| Type               : Group                                               |
13 --|                                                                          |
14 --| Notes                                                                    |
15 --|    This package contains group layer APIs for Results Entity             |
16 --|                                                                          |
17 --|  TYPEs:      result_data                                                 |
18 --|                                                                          |
19 --|  FUNCTIONs:  is_value_numeric                                            |
20 --|  PROCEDUREs: check_experimental_error                                    |
21 --|              validate_result                                             |
22 --|                                                                          |
23 --| HISTORY                                                                  |
24 --|    Chetan Nagar	08-Aug-2002	Created.                             |
25 --|    Ger  Kelly	10-Sep-2002	Added in get_rslt_and_spec_rslt changes |
26 --|  	Ger Kelly	17-Sep-2002	Added in get_composite_rslt procedure|
27 --|   GK		19-Sep-2002     Added test_type to rec, changed the rec to tbl, |
28 --|                                     Added event_spec_disp_id as a parameter |
29 --|   LeAta Jackson     01-Oct-2002     Added migration parameter to         |
30 --|                                     create_rslt_and_spec_result_row      |
31 --|   LeAta Jackson     16-Oct-2002     Added check_disp, check_event and    |
32 --|                                     change_lot_status.  Bug 2628427      |
33 --|  GK			17-Oct-2002	Bug 2621648 - changed min and max char |
34 --|                                      to varchar2(16) in the data records |
35 --|  LeAta Jackson     14-Nov-2002      Added validate_result, is_value_numeric |
36 --|                                     validate_eval_list,                  |
37 --|                                     check_experimental_errror            |
38 --|  P Lowe 22-Nov-2011	Bug 13355408 - added p_called_from_results_form IN   |
39 --|  VARCHAR2  DEFAULT 'N'
40 --|  to PROCEDURE calc_expression
41 --|  used to determine when called from mass results entry  or results form
42 --|  P Lowe 29-May-2012	    Bug 14021970 - CALCULATE EXPRESSION FUNCTION     |
43 --|     WILL FILL IN THE WRONG FIELD - added new procedure in                |
44 --|   calc_expression  -                                                     |
45 --|   populate_result_data_points_r to use replicate to calculate correct    |
46 --| test expressions    based on replicate used.                             |
47 --+==========================================================================+
48 -- End of comments
49 
50 TYPE result_data IS RECORD
51        (test_id            NUMBER,
52         test_code          VARCHAR2(80),
53         test_type          VARCHAR2(1),
54         result_num         NUMBER,
55         result_char        VARCHAR2(80),
56         target_num         NUMBER,
57         target_char        VARCHAR2(16),
58         min_num	           NUMBER,
59         min_char           VARCHAR2(16),
60         max_num            NUMBER,
61         max_char           VARCHAR2(16),
62         in_spec            VARCHAR2(1),
63         spec_target_num    NUMBER,
64         spec_target_char   VARCHAR2(16),
65         spec_min_num       NUMBER,
66         spec_min_char      VARCHAR2(16),
67         spec_max_num       NUMBER,
68         spec_max_char      VARCHAR2(16),
69         spec_in_spec       VARCHAR2(1),
70         spec_test_id       NUMBER,
71         unit               VARCHAR2(25),
72         method             VARCHAR2(80),
73         expression         VARCHAR2(1000),
74         display_label      VARCHAR2(80),
75         spec_id                NUMBER,
76         result                 VARCHAR2(80),
77         result_date            DATE,
78         display_precision      NUMBER,
79         report_precision       NUMBER,
80         additional_test_ind    VARCHAR2(1),
81         exp_error_type         gmd_spec_tests_b.exp_error_type%TYPE,
82         below_spec_min         NUMBER,
83         above_spec_min         NUMBER,
84         below_spec_max         NUMBER,
85         above_spec_max         NUMBER,
86         below_min_action_code  VARCHAR(32),
87         above_min_action_code  VARCHAR(32),
88         below_max_action_code  VARCHAR(32),
89         above_max_action_code  VARCHAR(32),
90         out_action_code        VARCHAR(32),
91         evaluation_ind         VARCHAR2(3),
92         value_in_report_prec   NUMBER,
93         in_fuzzy_zone          VARCHAR2(5),
94         out_of_spec            VARCHAR2(5),
95         result_action_code     VARCHAR2(32),
96         called_from_form       VARCHAR2(1),
97         lab_organization_id    NUMBER,
98         planned_resource       VARCHAR2(30),
99         planned_resource_instance       NUMBER,
100         actual_resource        VARCHAR2(30),
101         actual_resource_instance NUMBER,
102         --BEGIN BUG#2871126 Rameshwar
103         --Display precision for comparision spec.
104         spec_display_precision  NUMBER
105         --END  BUG#2871126
106   );
107 
108 
109 --GK B2621648
110 
111 TYPE gmd_results_rec_tbl IS TABLE OF result_data
112    INDEX BY BINARY_INTEGER;
113 
114 TYPE comres_rec IS RECORD
115     (test_id	NUMBER,
116 	test_code 	VARCHAR2(80),
117 	result_num	NUMBER,
118 	result_char 	VARCHAR2(16),
119 	target_num 	NUMBER,
120 	target_char	VARCHAR2(16),
121 	min_num		NUMBER,
122 	min_char	VARCHAR2(16),
123 	max_num		NUMBER,
124 	max_char	VARCHAR2(16),
125 	in_spec		VARCHAR2(1),
126 	spec_target_num 	NUMBER,
127 	spec_target_char	VARCHAR2(16),
128 	spec_min_num		NUMBER,
129 	spec_min_char	VARCHAR2(16),
130 	spec_max_num		NUMBER,
131 	spec_max_char	VARCHAR2(16),
132 	spec_in_spec		VARCHAR2(1));
133 
134 TYPE gmd_comres_tab IS TABLE OF comres_rec
135    INDEX BY BINARY_INTEGER;
136 
137 
138 -- The following types are used in the Calculate Expression code.
139 TYPE rslt_rec IS RECORD
140 ( test_id       NUMBER
141 , value         NUMBER
142 );
143 
144 TYPE rslt_tbl IS TABLE OF rslt_rec
145     INDEX BY BINARY_INTEGER;
146 
147 PROCEDURE create_rslt_and_spec_rslt_rows
148 (
149   p_sample            IN  GMD_SAMPLES%ROWTYPE
150 , p_migration         IN  VARCHAR2     DEFAULT NULL
151 , x_event_spec_disp   OUT NOCOPY GMD_EVENT_SPEC_DISP%ROWTYPE
152 , x_sample_spec_disp  OUT NOCOPY GMD_SAMPLE_SPEC_DISP%ROWTYPE
153 , x_results_tab       OUT NOCOPY GMD_API_PUB.gmd_results_tab
154 , x_spec_results_tab  OUT NOCOPY GMD_API_PUB.gmd_spec_results_tab
155 , x_return_status     OUT NOCOPY VARCHAR2
156 );
157 
158 
159 PROCEDURE delete_rslt_and_spec_rslt_rows
160 (
161   p_sample_id     IN         NUMBER
162 , x_return_status OUT NOCOPY VARCHAR2
163 );
164 
165 
166 FUNCTION get_current_event_spec_disp_id
167 (
168   p_sampling_event_id     IN  NUMBER
169 ) RETURN NUMBER;
170 
171 
172 PROCEDURE compare_rslt_and_spec
173 (
174   p_sample_id     IN  NUMBER
175 , p_spec_id       IN  NUMBER
176 , x_test_ids      OUT NOCOPY GMD_API_PUB.number_tab
177 , x_return_status OUT NOCOPY VARCHAR2
178 );
179 
180 
181 PROCEDURE compare_cmpst_rslt_and_spec
182 (
183   p_composite_spec_disp_id IN  NUMBER
184 , p_spec_id                IN  NUMBER
185 , x_test_ids               OUT NOCOPY GMD_API_PUB.number_tab
186 , x_return_status          OUT NOCOPY VARCHAR2
187 );
188 
189 
190 FUNCTION rslt_is_in_spec
191 (
192   p_spec_id         IN  NUMBER
193 , p_test_id         IN  NUMBER
194 , p_rslt_value_num  IN  NUMBER   DEFAULT NULL
195 , p_rslt_value_char IN  VARCHAR2 DEFAULT NULL
196 )
197 RETURN VARCHAR2;
198 
199 
200 PROCEDURE add_tests_to_sample
201 (
202   p_sample             IN  GMD_SAMPLES%ROWTYPE
203 , p_test_ids           IN  GMD_API_PUB.number_tab
204 , p_event_spec_disp_id IN  NUMBER
205 , x_results_tab        OUT NOCOPY GMD_API_PUB.gmd_results_tab
206 , x_spec_results_tab   OUT NOCOPY GMD_API_PUB.gmd_spec_results_tab
207 , x_return_status      OUT NOCOPY VARCHAR2
208 , p_test_qty           IN  NUMBER  DEFAULT NULL
209 , p_test_qty_uom       IN  VARCHAR2  DEFAULT NULL
210 );
211 
212 
213 FUNCTION next_seq_in_result
214 (
215   p_sample_id NUMBER
216 , p_test_id   NUMBER
217 )
218 RETURN NUMBER;
219 
220 
221 FUNCTION all_ref_tests_exist_in_sample
222 (
223   p_sample_id IN NUMBER
224 , p_test_id   IN NUMBER
225 ) RETURN BOOLEAN;
226 
227 
228 PROCEDURE add_test_to_samples
229 (
230   p_sample_ids         IN  GMD_API_PUB.number_tab
231 , p_test_id            IN  NUMBER
232 , p_event_spec_disp_id IN  NUMBER
233 , x_results_tab        OUT NOCOPY GMD_API_PUB.gmd_results_tab
234 , x_spec_results_tab   OUT NOCOPY GMD_API_PUB.gmd_spec_results_tab
235 , x_return_status      OUT NOCOPY VARCHAR2
236 , p_test_qty           IN  NUMBER   DEFAULT NULL
237 , p_test_qty_uom       IN  VARCHAR2 DEFAULT NULL
238 );
239 
240 
241 PROCEDURE make_target_spec_the_base_spec
242 (
243   p_sample_id          IN NUMBER
244 , p_target_spec_id     IN NUMBER
245 , p_target_spec_vr_id  IN NUMBER
246 , x_return_status      OUT NOCOPY VARCHAR2
247 );
248 
249 
250 PROCEDURE use_target_spec_for_cmpst_rslt
251 (
252   p_composite_spec_disp_id IN NUMBER
253 , p_target_spec_id         IN NUMBER
254 , p_target_spec_vr_id      IN NUMBER
255 , x_return_status          OUT NOCOPY VARCHAR2
256 );
257 
258 
259 PROCEDURE get_rslt_and_spec_rslt
260   (p_sample_id         IN  NUMBER,
261   p_source_spec_id     IN  NUMBER,
262   p_target_spec_id     IN  NUMBER,
263   p_event_spec_disp_id IN  NUMBER,
264   x_results_rec_tbl    OUT NOCOPY GMD_RESULTS_GRP.gmd_results_rec_tbl,
265   x_return_status      OUT NOCOPY VARCHAR2);
266 
267 
268 PROCEDURE composite_exist
269 (
270   p_sampling_event_id  IN  NUMBER
271 , p_event_spec_disp_id IN  NUMBER DEFAULT NULL
272 , x_composite_exist    OUT NOCOPY VARCHAR2
273 , x_composite_valid    OUT NOCOPY VARCHAR2
274 , x_return_status      OUT NOCOPY VARCHAR2
275 );
276 
277 
278 PROCEDURE se_recomposite_required
279 (
280   p_sampling_event_id  IN  NUMBER
281 , p_event_spec_disp_id IN  NUMBER DEFAULT NULL
282 , x_return_status      OUT NOCOPY VARCHAR2
283 );
284 
285 
286 
287 PROCEDURE result_recomposite_required
288 (
289   p_result_id          IN  NUMBER
290 , p_event_spec_disp_id IN  NUMBER
291 , x_return_status      OUT NOCOPY VARCHAR2
292 );
293 
294 
295 
296 PROCEDURE get_sample_ids_for_se
297 (
298   p_sampling_event_id  IN  NUMBER
299 , x_sample_ids         OUT NOCOPY GMD_API_PUB.number_tab
300 , x_return_status      OUT NOCOPY VARCHAR2
301 );
302 
303 
304 PROCEDURE populate_result_data_points
305 (
306   p_sample_ids         IN GMD_API_PUB.number_tab
307 , p_event_spec_disp_id IN NUMBER
308 , x_return_status      OUT NOCOPY VARCHAR2
309 );
310 
311 
312 PROCEDURE create_composite_rows
313 (
314   p_event_spec_disp_id  IN  NUMBER
315 , x_return_status       OUT NOCOPY VARCHAR2
316 );
317 
318 
319 PROCEDURE qc_mean
323 , x_return_status OUT NOCOPY VARCHAR2
320 (
321   p_test_id       IN  NUMBER
322 , x_mean_num      OUT NOCOPY NUMBER
324 );
325 
326 
327 PROCEDURE qc_median
328 (
329   p_test_id       IN  NUMBER
330 , x_median_num    OUT NOCOPY NUMBER
331 , x_median_char   OUT NOCOPY VARCHAR2
332 , x_return_status OUT NOCOPY VARCHAR2
333 );
334 
335 
336 PROCEDURE qc_mode
337 (
338   p_test_id       IN  NUMBER
339 , x_mode_num      OUT NOCOPY NUMBER
340 , x_mode_char     OUT NOCOPY VARCHAR2
341 , x_return_status OUT NOCOPY VARCHAR2
342 );
343 
344 
345 PROCEDURE qc_high
346 (
347   p_test_id       IN  NUMBER
348 , x_high_num      OUT NOCOPY NUMBER
349 , x_high_char     OUT NOCOPY VARCHAR2
350 , x_return_status OUT NOCOPY VARCHAR2
351 );
352 
353 
354 PROCEDURE qc_low
355 (
356   p_test_id       IN  NUMBER
357 , x_low_num       OUT NOCOPY NUMBER
358 , x_low_char      OUT NOCOPY VARCHAR2
359 , x_return_status OUT NOCOPY VARCHAR2
360 );
361 
362 
363 PROCEDURE qc_standard_deviation
364 (
365   p_test_id       IN  NUMBER
366 , x_stddev        OUT NOCOPY NUMBER
367 , x_return_status OUT NOCOPY VARCHAR2
368 );
369 
370 PROCEDURE get_composite_rslt
371 (
372   p_composite_spec_disp_id        IN  NUMBER,
373   p_source_spec_id		  IN NUMBER,
374   p_target_spec_id		  IN NUMBER,
375   x_comresults_tab        	  OUT NOCOPY GMD_RESULTS_GRP.gmd_comres_tab,
376   x_return_status         	  OUT NOCOPY VARCHAR2);
377 
378 
379 PROCEDURE change_lot_status
380 ( p_sample_id        IN         NUMBER
381 , p_organization_id  IN         NUMBER
382 , p_lot_status       IN         VARCHAR2
383 , x_return_status    OUT NOCOPY VARCHAR2
384 );
385 
386 
387 FUNCTION is_value_numeric (p_char_number VARCHAR2)
388 RETURN BOOLEAN;
389 
390 
391 PROCEDURE check_experimental_error
392 ( p_result_rec     IN OUT NOCOPY  RESULT_DATA
393 , x_return_status     OUT NOCOPY  VARCHAR2
394 );
395 
396 
397 PROCEDURE validate_result
398 ( p_result_rec     IN OUT NOCOPY  result_data
399 , x_return_status     OUT NOCOPY VARCHAR2
400 );
401 
402 
403 PROCEDURE validate_evaluation_ind
404 ( p_evaluation_ind      IN         VARCHAR2
405 , p_in_spec_ind         IN         VARCHAR2
406 , p_result_value        IN         VARCHAR2
407 , x_return_status       OUT NOCOPY VARCHAR2
408 );
409 
410 
411 PROCEDURE calc_expression
412 ( p_sample_id           IN         NUMBER
413 , p_event_spec_disp_id  IN         NUMBER
414 , p_spec_id             IN         NUMBER
415 , p_called_from_results_form IN  VARCHAR2  DEFAULT 'N' --  bug 13355408  used to determine when called from mass results entry  or results form
416 , x_rslt_tbl            OUT NOCOPY rslt_tbl
417 , x_return_status       OUT NOCOPY VARCHAR2
418 );
419 
420 
421 PROCEDURE  change_sample_disposition
422 ( p_sample_id        IN         NUMBER
423 , x_change_disp_to   OUT NOCOPY VARCHAR2
424 , x_return_status    OUT NOCOPY VARCHAR2
425 , x_message_data     OUT NOCOPY VARCHAR2
426 );
427 
428 
429 PROCEDURE change_disp_for_auto_lot
430 ( p_sample_id           IN         NUMBER
431 , x_change_disp_to      OUT NOCOPY VARCHAR2
432 , x_return_status       OUT NOCOPY VARCHAR2
433 );
434 
435 
436 PROCEDURE  composite_and_change_lot
437 ( p_sampling_event_id IN         NUMBER
438 , p_commit            IN         VARCHAR2
439 , x_return_status     OUT NOCOPY VARCHAR2
440 );
441 
442 
443 PROCEDURE dump_data_points;
444 
445 
446 PROCEDURE update_exptest_value_null
447 (p_exp_ref_test_id  IN gmd_qc_tests_b.test_id%TYPE
448 , p_sample_id IN gmd_samples.sample_id%TYPE
449 , p_event_spec_disp_id IN gmd_sample_spec_disp.event_spec_disp_id%TYPE
450 , x_return_status     OUT NOCOPY VARCHAR2
451 );
452 
453 -- 14021970
454 PROCEDURE populate_result_data_points_r
455 (
456   p_sample_ids         IN GMD_API_PUB.number_tab
457 , p_event_spec_disp_id IN NUMBER
458 , p_test_replicate_cnt IN NUMBER
459 , x_return_status      OUT NOCOPY VARCHAR2
460 );
461 
462 END gmd_results_grp;
463