1 PACKAGE BODY OE_2PC2_ATOCON_RTLAPVD AS
2 PROCEDURE Is_Valid
3 (
4 p_application_id in number,
5 p_entity_short_name in varchar2,
6 p_validation_entity_short_name in varchar2,
7 p_validation_tmplt_short_name in varchar2,
8 p_record_set_short_name in varchar2,
9 p_scope in varchar2,
10 x_result out nocopy number
11 )
12 IS
13 l_valid_count NUMBER := 0;
14 l_set_count NUMBER := 0;
15
16 l_wf_item_type varchar2(8) :='OEOL';
17 l_wf_activity_name varchar2(30) :='ARPROVE_RETURN_LINE_NTF';
18 l_wf_activity_status_code varchar2(8) :='COMPLETE';
19 l_wf_activity_result_code varchar2(30) :='PASS';
20 CURSOR C_VC IS
21 SELECT count(*)
22 FROM wf_item_activity_statuses w, wf_process_activities wpa
23 WHERE w.item_type = l_wf_item_type
24 AND w.process_activity = wpa.instance_id
25 AND wpa.activity_name = l_wf_activity_name
26 AND w.activity_status = l_wf_activity_status_code
27 AND w.activity_result_code = l_wf_activity_result_code
28 AND w.item_key IN
29 ( SELECT b.LINE_ID || ''
30 FROM OE_AK_ORDER_LINES_V b
31 WHERE b.ATO_LINE_ID = OE_LINE_SECURITY.g_record.ATO_LINE_ID
32 AND b.HEADER_ID = OE_LINE_SECURITY.g_record.HEADER_ID
33 );
34
35 CURSOR C_RSC IS
36 SELECT count(*)
37 FROM OE_AK_ORDER_LINES_V b
38 WHERE b.ATO_LINE_ID = OE_LINE_SECURITY.g_record.ATO_LINE_ID
39 AND b.HEADER_ID = OE_LINE_SECURITY.g_record.HEADER_ID
40 ;
41
42 BEGIN
43 x_result := 0;
44 OPEN C_VC;
45 FETCH C_VC into l_valid_count;
46 CLOSE C_VC;
47 If (l_valid_count > 0) then
48 If (p_scope = 'ALL') then
49 OPEN C_RSC;
50 FETCH C_RSC into l_set_count;
51 CLOSE C_RSC;
52 If (l_valid_count = l_set_count) then
53 x_result := 1;
54 End If;
55 Else
56 x_result := 1;
57 End If;
58 End If;
59 Return;
60 END Is_Valid;
61 END OE_2PC2_ATOCON_RTLAPVD;