1 PACKAGE BODY OE_2PC2_SHIPSET_RCVED 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 CURSOR C_VC IS
17 SELECT count(*)
18 FROM OE_AK_ORDER_LINES_V a
19 WHERE a.SHIPPED_QUANTITY <> 0
20 AND a.LINE_CATEGORY_CODE = 'RETURN'
21 AND a.SHIPPED_QUANTITY IS NOT NULL
22 AND ( a.LINE_ID ) IN
23 ( SELECT b.LINE_ID
24 FROM OE_AK_ORDER_LINES_V b
25 WHERE b.HEADER_ID = OE_LINE_SECURITY.g_record.HEADER_ID
26 AND b.SHIP_SET_ID = OE_LINE_SECURITY.g_record.SHIP_SET_ID
27 );
28
29 CURSOR C_RSC IS
30 SELECT count(*)
31 FROM OE_AK_ORDER_LINES_V b
32 WHERE b.HEADER_ID = OE_LINE_SECURITY.g_record.HEADER_ID
33 AND b.SHIP_SET_ID = OE_LINE_SECURITY.g_record.SHIP_SET_ID
34 ;
35
36 BEGIN
37 x_result := 0;
38 OPEN C_VC;
39 FETCH C_VC into l_valid_count;
40 CLOSE C_VC;
41 If (l_valid_count > 0) then
42 If (p_scope = 'ALL') then
43 OPEN C_RSC;
44 FETCH C_RSC into l_set_count;
45 CLOSE C_RSC;
46 If (l_valid_count = l_set_count) then
47 x_result := 1;
48 End If;
49 Else
50 x_result := 1;
51 End If;
52 End If;
53 Return;
54 END Is_Valid;
55 END OE_2PC2_SHIPSET_RCVED;