DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_GEO_STRUCT_MAP_PVT

Source


1 PACKAGE BODY HZ_GEO_STRUCT_MAP_PVT AS
2 /*$Header: ARHGEMMB.pls 115.1 2003/02/11 19:46:49 sachandr noship $ */
3 
4 PROCEDURE Insert_Row (
5     x_rowid                                 IN OUT NOCOPY VARCHAR2,
6     x_map_id                                IN            NUMBER,
7     x_country_code                          IN            VARCHAR2,
8     x_loc_tbl_name                          IN            VARCHAR2,
9     x_address_style                         IN            VARCHAR2
10 ) IS
11 
12 
13 BEGIN
14 
15       INSERT INTO HZ_GEO_STRUCT_MAP (
16         map_id,
17         country_code,
18         loc_tbl_name,
19         address_style,
20         last_updated_by,
21         creation_date,
22         created_by,
23         last_update_date,
24         last_update_login
25       )
26       VALUES (
27         DECODE(x_map_id,
28                FND_API.G_MISS_NUM, NULL,
29                x_map_id),
30         DECODE(x_country_code,
31                FND_API.G_MISS_CHAR, NULL,
32                x_country_code),
33         DECODE(x_loc_tbl_name,
34                FND_API.G_MISS_CHAR, NULL,
35                x_loc_tbl_name),
36         DECODE(x_address_style,
37                FND_API.G_MISS_CHAR, NULL,
38                x_address_style),
39         hz_utility_v2pub.last_updated_by,
40         hz_utility_v2pub.creation_date,
41         hz_utility_v2pub.created_by,
42         hz_utility_v2pub.last_update_date,
43         hz_utility_v2pub.last_update_login
44       ) RETURNING
45         rowid
46       INTO
47         x_rowid;
48 
49 END Insert_Row;
50 
51 PROCEDURE Lock_Row (
52     x_rowid                                 IN OUT NOCOPY VARCHAR2,
53     x_map_id                                IN            NUMBER,
54     x_country_code                          IN            VARCHAR2,
55     x_loc_tbl_name                          IN            VARCHAR2,
56     x_address_style                         IN            VARCHAR2
57 ) IS
58 
59     CURSOR c IS
60       SELECT * FROM hz_geo_struct_map
61       WHERE rowid = x_rowid
62       FOR UPDATE NOWAIT;
63     Recinfo c%ROWTYPE;
64 
65 BEGIN
66 
67     OPEN c;
68     FETCH c INTO Recinfo;
69     IF ( c%NOTFOUND ) THEN
70       CLOSE c;
71       FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
72       APP_EXCEPTION.RAISE_EXCEPTION;
73     END IF;
74     CLOSE C;
75 
76     IF (
77         ( ( Recinfo.map_id = x_map_id )
78         OR ( ( Recinfo.map_id IS NULL )
79           AND (  x_map_id IS NULL ) ) )
80     AND ( ( Recinfo.country_code = x_country_code)
81         OR ( ( Recinfo.country_code IS NULL )
82           AND (  x_country_code IS NULL ) ) )
83     AND ( ( Recinfo.loc_tbl_name = x_loc_tbl_name )
84         OR ( ( Recinfo.loc_tbl_name IS NULL )
85           AND (  x_loc_tbl_name IS NULL ) ) )
86     AND ( ( Recinfo.address_style = x_address_style )
87         OR ( ( Recinfo.address_style IS NULL )
88           AND (  x_address_style IS NULL ) ) )
89     ) THEN
90       RETURN;
91     ELSE
92       FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
93       APP_EXCEPTION.RAISE_EXCEPTION;
94     END IF;
95 
96   return;
97 
98 END Lock_Row;
99 
100 PROCEDURE Select_Row (
101     x_map_id                                IN OUT NOCOPY NUMBER,
102     x_country_code                          OUT    NOCOPY VARCHAR2,
103     x_loc_tbl_name                          OUT    NOCOPY VARCHAR2,
104     x_address_style                         OUT    NOCOPY VARCHAR2
105 ) IS
106 BEGIN
107 
108     SELECT
109       NVL(map_id, FND_API.G_MISS_NUM),
110       NVL(country_code, FND_API.G_MISS_CHAR),
111       NVL(loc_tbl_name, FND_API.G_MISS_CHAR),
112       NVL(address_style, FND_API.G_MISS_CHAR)
113     INTO
114       x_map_id,
115       x_country_code,
116       x_loc_tbl_name,
117       x_address_style
118     FROM HZ_GEO_STRUCT_MAP
119     WHERE map_id =  x_map_id;
120 
121 EXCEPTION
122     WHEN NO_DATA_FOUND THEN
123       FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
124       FND_MESSAGE.SET_TOKEN('RECORD', 'geo structure map');
125       FND_MESSAGE.SET_TOKEN('VALUE', x_map_id);
126       FND_MSG_PUB.ADD;
127       RAISE FND_API.G_EXC_ERROR;
128 
129 END Select_Row;
130 
131 PROCEDURE Delete_Row (
132     x_map_id                        IN     NUMBER
133 ) IS
134 BEGIN
135 
136   DELETE FROM hz_geo_struct_map
137   WHERE map_id = x_map_id;
138 
139   IF (SQL%NOTFOUND) THEN
140     RAISE NO_DATA_FOUND;
141   END IF;
142 
143 END Delete_Row;
144 
145 END HZ_GEO_STRUCT_MAP_PVT;