[Home] [Help]
PACKAGE BODY: APPS.OKS_REPROC_PUB
Source
1 PACKAGE BODY OKS_REPROC_PUB As
2 /* $Header: OKSOREPB.pls 120.0 2005/05/25 17:46:51 appldev noship $ */
3
4
5 Procedure submit_request(x_request_id OUT NOCOPY NUMBER)
6 Is
7 l_request_id NUMBER;
8
9 Begin
10 l_request_id := FND_REQUEST.SUBMIT_REQUEST('OKS','OKSREPROC','','',FALSE,'SEL','FORM');
11 if (l_request_id > 0) then
12 COMMIT WORK;
13 end if;
14
15 x_request_id := l_request_id;
16
17 End;
18
19 Procedure insert_order_line(
20 p_ordline_id IN NUMBER,
21 p_processed IN VARCHAR2,
22 p_reprocess IN VARCHAR2,
23 p_hdr_id IN NUMBER,
24 p_ordnum IN NUMBER,
25 x_id OUT NOCOPY VARCHAR2,
26 x_rowid OUT NOCOPY VARCHAR2,
27 x_return_status OUT NOCOPY VARCHAR2
28 )
29 Is
30 l_init_msg_list VARCHAR2(1) := OKC_API.G_FALSE;
31 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
32 l_msg_count NUMBER := 0;
33 l_msg_data VARCHAR2(2000);
34 l_repv_rec OKS_REP_PVT.repv_rec_type;
35 l_out_repv_rec OKS_REP_PVT.repv_rec_type;
36
37 Begin
38
39 l_repv_rec.order_line_id := p_ordline_id;
40 l_repv_rec.order_id := p_hdr_id;
41 l_repv_rec.order_number := p_ordnum;
42 l_repv_rec.source_flag := 'MANUAL';
43 l_repv_rec.success_flag:= p_processed;
44 l_repv_rec.reprocess_yn := p_reprocess;
45
46 SAVEPOINT BEFORE_INSERT;
47 oks_rep_pub.insert_row(p_api_version => 1.0,
48 p_init_msg_list => l_init_msg_list,
49 x_return_status => l_return_status,
50 x_msg_count => l_msg_count,
51 x_msg_data => l_msg_data,
52 p_repv_rec => l_repv_rec ,
53 x_repv_rec => l_out_repv_rec);
54
55 x_id := l_out_repv_rec.id;
56
57 select rowid into x_rowid
58 from oks_reprocessing
59 where id = x_id;
60
61 x_return_status := l_return_status;
62
63 EXCEPTION
64 WHEN DUP_VAL_ON_INDEX THEN
65 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Dup val exp raised');
66 ROLLBACK to BEFORE_INSERT;
67 x_return_status := 'S';
68
69 End;
70
71 Procedure Update_Order_Lines(p_item IN VARCHAR2,
72 x_return_status OUT NOCOPY VARCHAR2)
73 Is
74
75 Cursor Get_Order_lines Is
76 Select id,object_version_number
77 From oks_reprocessing
78 Where reprocess_yn = 'Y'
79 And Conc_request_id is null;
80
81 l_obj_vers_num NUMBER;
82 l_id NUMBER;
83 l_new_repv_rec OKS_REP_PVT.repv_rec_type;
84 l_repv_rec OKS_REP_PVT.repv_rec_type;
85 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
86 l_msg_count NUMBER;
87 l_msg_data VARCHAR2(2000);
88
89 Begin
90 x_return_status := l_return_status;
91 If(p_item = 'Submit') Then
92 Open Get_Order_lines;
93 Loop
94 Fetch Get_Order_lines into l_id,l_obj_vers_num;
95 Exit when Get_Order_lines%NOTFOUND;
96 l_repv_rec.id := l_id;
97 l_repv_rec.object_version_number := l_obj_vers_num;
98 l_repv_rec.reprocess_yn := 'N';
99 l_repv_rec.success_flag := 'R';
100
101 oks_rep_pub.update_row(p_api_version => 1.0,
102 p_init_msg_list => 'T',
103 x_return_status => l_return_status,
104 x_msg_count => l_msg_count,
105 x_msg_data => l_msg_data,
106 p_repv_rec => l_repv_rec ,
107 x_repv_rec => l_new_repv_rec);
108
109 X_return_status := l_return_status;
110 If(l_return_status <> FND_API.G_RET_STS_SUCCESS) then
111 Exit;
112 End If;
113 End Loop;
114 Close Get_Order_lines;
115 End If;
116
117 End Update_Order_Lines;
118
119
120 Procedure translate_msg(p_id IN NUMBER , x_msg OUT NOCOPY VARCHAR2)
121 Is
122
123 Cursor get_message_csr(p_id IN NUMBER)
124 Is
125 Select error_text
126 from oks_reprocessing
127 where id = p_id;
128
129 l_ind1 Number;
130 l_ind2 Number;
131 l_msg Varchar2(2000);
132 i Number;
133 l_message_txt Varchar2(2000);
134 l_id NUMBER;
135 l_error_text VARCHAR2(2000);
136
137 Begin
138
139 Open get_message_csr(p_id);
140 Fetch get_message_csr into l_error_text;
141 Close get_message_csr;
142
143
144
145 l_ind1 := instr(l_error_text,'#',1,1);
146 l_ind2 := instr(l_error_text,'#',1,2);
147
148
149 If(l_ind2 = 0) Then
150
151 x_msg := null;
152 Else
153
154 l_msg := substr(l_error_text,l_ind1+1, l_ind2-l_ind1-1);
155 fnd_message.set_encoded(l_msg);
156 l_message_txt := fnd_message.get || '; ' ;
157
158 i := 3;
159
160 Loop
161
162 l_ind1 := l_ind2;
163 l_ind2 := instr(l_error_text,'#',1,i);
164
165 If(l_ind2 = 0) Then
166 exit;
167 Else
168 l_msg := substr(l_error_text,l_ind1+1, l_ind2-l_ind1-1);
169 fnd_message.set_encoded(l_msg);
170 l_message_txt := l_message_txt || fnd_message.get || '; ' ;
171 i := i + 1;
172 End If;
173 End Loop;
174
175
176 x_msg := l_message_txt;
177 End If;
178
179
180
181 End translate_msg;
182
183 End OKS_REPROC_PUB;
184