DBA Data[Home] [Help]

PACKAGE BODY: APPS.FII_LOB_ASSIGNMENTS_PKG

Source


1 PACKAGE BODY fii_lob_assignments_pkg AS
2 /*$Header: FIILOBAB.pls 115.2 2003/01/11 00:31:02 ilavenil noship $*/
3    PROCEDURE insert_row(x_rowid IN OUT NOCOPY VARCHAR2,
4                         x_line_of_business IN VARCHAR2,
5                         x_company_cost_center_org_id IN NUMBER,
6                         x_last_update_date IN DATE,
7                         x_last_updated_by IN NUMBER,
8                         x_created_by IN NUMBER,
9                         x_creation_date IN DATE,
10                         x_last_update_login IN NUMBER)
11      IS
12        l_last_update_date date;
13        l_last_updated_by number(15);
14        l_created_by number(15);
15        l_creation_date date;
16        l_last_update_login number(15);
17    BEGIN
18       l_last_update_date := nvl(x_last_update_date, sysdate);
19       l_last_updated_by := nvl(x_last_updated_by, fnd_global.user_id);
20       l_created_by := nvl(x_created_by, fnd_global.user_id);
21       l_creation_date := nvl(x_creation_date, sysdate);
22       l_last_update_login := nvl(x_last_update_login, fnd_global.login_id);
23 
24       INSERT INTO fii_lob_assignments
25         (line_of_business, company_cost_center_org_id,
26          creation_date, created_by, last_update_date, last_updated_by, last_update_login)
27         VALUES
28         (x_line_of_business, x_company_cost_center_org_id,
29          l_creation_date, l_created_by, l_last_update_date, l_last_updated_by, l_last_update_login)
30         RETURN ROWID INTO x_rowid;
31    END insert_row;
32 
33    PROCEDURE update_row(x_rowid IN VARCHAR2,
34                         x_line_of_business IN VARCHAR2,
35                         x_company_cost_center_org_id IN NUMBER,
36                         x_last_update_date IN DATE,
37                         x_last_updated_by IN NUMBER,
38                         x_last_update_login IN NUMBER)
39      IS
40        l_last_update_date date;
41        l_last_updated_by number(15);
42        l_last_update_login number(15);
43    BEGIN
44       l_last_update_date := nvl(x_last_update_date, sysdate);
45       l_last_updated_by := nvl(x_last_updated_by, fnd_global.user_id);
46       l_last_update_login := nvl(x_last_update_login, fnd_global.login_id);
47 
48       IF x_rowid IS NOT NULL THEN
49          UPDATE fii_lob_assignments
50            SET
51            company_cost_center_org_id = x_company_cost_center_org_id,
52            last_update_date = l_last_update_date,
53            last_updated_by = l_last_updated_by,
54            last_update_login = l_last_update_login
55            WHERE ROWID = x_rowid;
56        ELSE
57          UPDATE fii_lob_assignments
58            SET
59            company_cost_center_org_id = x_company_cost_center_org_id,
60            last_update_date = l_last_update_date,
61            last_updated_by = l_last_updated_by,
62            last_update_login = l_last_update_login
63            WHERE line_of_business = x_line_of_business;
64       END IF;
65 
66       IF SQL%notfound THEN
67          RAISE no_data_found;
68       END IF;
69    END update_row;
70 
71 
72    PROCEDURE delete_row(x_rowid IN VARCHAR2,
73                         x_line_of_business IN VARCHAR2)
74      IS
75    BEGIN
76       IF x_rowid  IS NOT NULL THEN
77          DELETE FROM fii_lob_assignments
78            WHERE ROWID = x_rowid;
79        ELSE
80          DELETE FROM fii_lob_assignments
81            WHERE line_of_business = x_line_of_business;
82       END IF;
83 
84       IF SQL%notfound THEN
85          RAISE no_data_found;
86       END IF;
87    END delete_row;
88 
89    PROCEDURE lock_row(x_rowid IN VARCHAR2,
90                       x_line_of_business IN VARCHAR2,
91                       x_company_cost_center_org_id IN NUMBER)
92      IS
93         CURSOR c_lob IS
94            SELECT *
95              FROM fii_lob_assignments
96              WHERE ROWID = x_rowid
97              FOR UPDATE OF company_cost_center_org_id nowait;
98         recinfo c_lob%ROWTYPE;
99    BEGIN
100       OPEN c_lob;
101       FETCH c_lob INTO recinfo;
102       IF c_lob%notfound THEN
103          CLOSE c_lob;
104          fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
105          app_exception.raise_exception;
106       END IF;
107       CLOSE c_lob;
108 
109       IF recinfo.line_of_business = x_line_of_business AND
110         recinfo.company_cost_center_org_id = x_company_cost_center_org_id THEN
111          RETURN;
112        ELSE
113          fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
114          app_exception.raise_exception;
115       END IF;
116    END lock_row;
117 
118 END fii_lob_assignments_pkg;