[Home] [Help]
PACKAGE BODY: APPS.GL_BC_EVENT_TSTAMPS_PKG
Source
1 PACKAGE BODY gl_bc_event_tstamps_pkg AS
2 /* $Header: glibcetb.pls 120.2 2005/05/05 00:59:13 kvora ship $ */
3
4 --
5 -- PUBLIC FUNCTIONS
6 --
7
8 PROCEDURE insert_event_timestamp(
9 x_chart_of_accounts_id NUMBER,
10 x_event_code VARCHAR2,
11 x_last_updated_by NUMBER,
12 x_last_update_login NUMBER) IS
13
14 BEGIN
15
16 INSERT INTO GL_BC_EVENT_TIMESTAMPS
17 (chart_of_accounts_id, event_code, date_timestamp,
18 last_update_date, last_updated_by,
19 creation_date, created_by,
20 last_update_login)
21 SELECT x_chart_of_accounts_id, x_event_code, sysdate,
22 sysdate, x_last_updated_by,
23 sysdate, x_last_updated_by,
24 x_last_update_login
25 FROM fnd_dual
26 WHERE rownum = 1
27 AND NOT EXISTS
28 (SELECT 'row already exists'
29 FROM gl_bc_event_timestamps
30 WHERE chart_of_accounts_id = x_chart_of_accounts_id
31 AND event_code = x_event_code);
32
33 EXCEPTION
34 WHEN NO_DATA_FOUND THEN
35 RETURN;
36 WHEN app_exceptions.application_exception THEN
37 RAISE;
38 WHEN OTHERS THEN
39 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
40 fnd_message.set_token(
41 'PROCEDURE',
42 'gl_bc_event_tstamps_pkg.insert_event_timestamp');
43 RAISE;
44 END insert_event_timestamp;
45
46 PROCEDURE set_event_timestamp(
47 x_chart_of_accounts_id NUMBER,
48 x_event_code VARCHAR2,
49 x_last_updated_by NUMBER,
50 x_last_update_login NUMBER) IS
51
52 BEGIN
53
54 UPDATE gl_bc_event_timestamps
55 SET date_timestamp = sysdate,
56 last_update_date = sysdate,
57 last_updated_by = x_last_updated_by,
58 last_update_login = x_last_update_login
59 WHERE chart_of_accounts_id = x_chart_of_accounts_id
60 AND event_code = x_event_code;
61
62 EXCEPTION
63 WHEN app_exceptions.application_exception THEN
64 RAISE;
65 WHEN OTHERS THEN
66 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
67 fnd_message.set_token(
68 'PROCEDURE',
69 'gl_bc_event_tstamps_pkg.set_event_timestamp');
70 RAISE;
71 END set_event_timestamp;
72
73 PROCEDURE lock_event_timestamp(
74 x_chart_of_accounts_id NUMBER,
75 x_event_code VARCHAR2) IS
76 CURSOR lock_stamp is
77 SELECT 'Locked stamp'
78 FROM GL_BC_EVENT_TIMESTAMPS
79 WHERE chart_of_accounts_id = x_chart_of_accounts_id
80 AND event_code = x_event_code
81 FOR UPDATE OF date_timestamp;
82 dummy VARCHAR2(100);
83 BEGIN
84
85 OPEN lock_stamp;
86 FETCH lock_stamp INTO dummy;
87
88 IF NOT lock_stamp%FOUND THEN
89 CLOSE lock_stamp;
90 fnd_message.set_name('SQLGL', 'GL_BC_CANNOT_LOCK_STAMP');
91 app_exception.raise_exception;
92 END IF;
93
94 EXCEPTION
95 WHEN app_exceptions.application_exception THEN
96 RAISE;
97 WHEN OTHERS THEN
98 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
99 fnd_message.set_token(
100 'PROCEDURE',
101 'gl_bc_event_tstamps_pkg.lock_timestamp');
102 RAISE;
103 END lock_event_timestamp;
104
105 END gl_bc_event_tstamps_pkg;