DBA Data[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;