[Home] [Help]
PACKAGE BODY: APPS.OKS_AUTH_INT_PUB
Source
1 Package body OKS_AUTH_INT_PUB AS
2 /* $Header: OKSPAITB.pls 120.1 2005/10/13 16:47:32 tweichen noship $*/
3
4 Function Check_For_Active_Process
5 (p_contract_number VARCHAR2
6 ,p_contract_number_modifier VARCHAR2
7 )Return Boolean
8 IS
9 l_wf_name VARCHAR2(150);
10 l_wf_process_name VARCHAR2(150);
11 l_package_name VARCHAR2(150);
12 l_procedure_name VARCHAR2(150);
13 l_usage VARCHAR2(150);
14 l_api_version CONSTANT NUMBER := 1.0;
15 l_init_msg_list CONSTANT VARCHAR2(1) := 'T';
16 l_return_status VARCHAR2(1);
17 l_msg_count NUMBER;
18 l_msg_data VARCHAR2(2000);
19 l_contract_number VARCHAR2 (120);
20 l_contract_number_modifier VARCHAR2 (120);
21
22 Begin
23
24 OKC_CONTRACT_PUB.Get_Active_Process (
25 p_api_version => l_api_version,
26 p_init_msg_list => l_init_msg_list,
27 x_return_status => l_return_status,
28 x_msg_count => l_msg_count,
29 x_msg_data => l_msg_data,
30 p_contract_number => l_contract_number,
31 p_contract_number_modifier => l_contract_number_modifier,
32 x_wf_name => l_wf_name,
33 x_wf_process_name => l_wf_process_name,
34 x_package_name => l_package_name,
35 x_procedure_name => l_procedure_name,
36 x_usage => l_usage);
37
38 If NVL(l_return_status, '*') = 'S' then
39 If l_wf_name IS NOT NULL then
40 Return(TRUE);
41 Else
42 Return(FALSE);
43 End If;
44 Else
45 Raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
46 End if;
47 End Check_For_Active_Process;
48
49
50 FUNCTION ok_to_commit (p_api_version IN NUMBER
51 ,p_init_msg_list IN VARCHAR2
52 ,p_doc_id IN NUMBER
53 ,p_doc_validation_string IN VARCHAR2
54 ,x_return_status OUT NOCOPY VARCHAR2
55 ,x_msg_count OUT NOCOPY NUMBER
56 ,x_msg_data OUT NOCOPY VARCHAR2
57 )RETURN BOOLEAN
58 IS
59
60 --
61 CURSOR hdr_details_cur (p_doc_id IN NUMBER )
62 IS
63 SELECT id,
64 start_date,
65 contract_number,
66 contract_number_modifier,
67 object_version_number,
68 sts_code
69 FROM
70 okc_k_headers_all_b
71 WHERE
72 document_id = p_doc_id;
73 --
74 l_header_details hdr_details_cur%ROWTYPE;
75 l_access_mode VARCHAR2 (40);
76 l_doc_id NUMBER;
77 l_doc_number VARCHAR2 (40);
78 l_doc_version_no NUMBER;
79 l_doc_type VARCHAR2 (3) := 'OKS';
80 l_doc_validation_string VARCHAR2(2000);
81 l_commit BOOLEAN := FALSE;
82
83 l_api_version Number := 1.0;
84 l_init_msg_list Varchar2(1) := 'F';
85 l_msg_count Number;
86 l_msg_data Varchar2(2000);
87 l_return_status Varchar2(1) := 'S';
88 l_sts_code VARCHAR2(30);
89 l_ste_code VARCHAR2(30);
90 l_contract_number_modifier VARCHAR2(120);
91 l_active_process VARCHAR2(1);
92 l_chr_id number;
93
94
95 BEGIN
96 OPEN hdr_details_cur(p_doc_id);
97 FETCH hdr_details_cur INTO l_header_details;
98 If hdr_details_cur%Notfound then
99 Close hdr_details_cur;
100 x_return_status := 'E';
101 RAISE G_EXCEPTION_HALT_VALIDATION;
102 Else
103 CLOSE hdr_details_cur;
104 End If;
105
106 l_chr_id := p_doc_id;
107 l_doc_version_no := l_header_details.object_version_number;
108 l_doc_number := l_header_details.contract_number;
109 l_sts_code := l_header_details.sts_code;
110 l_ste_code := oks_extwar_util_pub.get_ste_code(p_sts_code => l_sts_code);
111 l_contract_number_modifier := l_header_details.contract_number_modifier;
112
113 IF NOT Check_For_Active_Process
114 (p_contract_number => l_doc_number
115 ,p_contract_number_modifier => l_contract_number_modifier
116 ) then
117 l_active_process := 'N';
118 End If;
119
120 --l_doc_validation_string := ('ste code || ':' 'active process?'||':'||'can commit?'');
121 l_doc_validation_string := (l_ste_code || '-' || l_active_process);
122
123 If l_doc_validation_string = p_doc_validation_string then
124 l_commit := TRUE;
125 End If;
126
127 return l_commit;
128 EXCEPTION
129 WHEN G_EXCEPTION_HALT_VALIDATION THEN
130 RETURN(null);
131
132 WHEN OTHERS then
133 RETURN(null);
134 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
135 OKC_API.set_message(G_APP_NAME_OKS, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
136
137 END ok_to_commit;
138
139
140
141
142
143 END OKS_AUTH_INT_PUB;