[Home] [Help]
PACKAGE BODY: APPS.JTF_HOOK_DATA_PUB
Source
1 Package Body JTF_HOOK_DATA_PUB AS
2 /* $Header: jtfpihdb.pls 115.6 2000/11/21 09:31:49 pkm ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):='JTF_HOOK_DATA_PUB';
5 G_FILE_NAME CONSTANT VARCHAR2(12):='jtfpihdb.pls';
6
7 G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
8 G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
9
10 PROCEDURE JTF_HOOK_DATA_PUB_INSERT (
11 p_api_version_number IN NUMBER,
12 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
13 p_commit IN VARCHAR := FND_API.G_FALSE,
14
15 p_hook_data IN HOOK_DATA_REC_TYPE,
16
17 x_return_status OUT VARCHAR2,
18 x_msg_count OUT NUMBER,
19 x_msg_data OUT VARCHAR2
20 )
21 AS
22 --******** local variable for standards **********
23 l_api_name CONSTANT VARCHAR2(30) := 'JTF_HOOK_DATA_PUB_INSERT';
24 l_api_version_number NUMBER := p_api_version_number;
25 l_return_status VARCHAR2(240) := FND_API.G_RET_STS_SUCCESS;
26 l_commit VARCHAR2(1) := FND_API.G_FALSE;
27 l_object_version_number NUMBER :=NULL;
28
29 l_hook_id NUMBER :=NULL;
30 l_exe_order NUMBER :=NULL;
31 CURSOR C IS SELECT JTF_USER_HOOKS_S.NEXTVAL FROM sys.dual;
32
33 BEGIN
34 -- ******* Standard Begins ********
35
36 -- Standard Start of API savepoint
37 SAVEPOINT JTF_HOOK_DATA_PUB_INSERT;
38
39 -- -- Standard call to check for call compatibility.
40 -- IF NOT FND_API.Compatible_API_Call ( l_api_version_number, p_api_version_number, l_api_name, G_PKG_NAME)
41 -- THEN
42 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
43 -- END IF;
44
45 -- Initialize message list if p_init_msg_list is set to TRUE.
46 IF FND_API.to_Boolean( p_init_msg_list )
47 THEN
48 FND_MSG_PUB.initialize;
49 END IF;
50
51 -- Initialize API return status to success
52 x_return_status := FND_API.G_RET_STS_SUCCESS;
53
54 --*********************
55
56 -- Check for the constraint of the logical primary key
57 SELECT count(*) into l_hook_id
58 FROM JTF_HOOKS_DATA
59 WHERE product_code = p_hook_data.p_ProductCode
60 AND package_name = p_hook_data.p_PackageName
61 AND api_name = p_hook_data.p_ApiName
62 AND HOOK_TYPE = p_hook_data.p_HookType
63 AND HOOK_PACKAGE = p_hook_data.p_HookPackage
64 AND HOOK_API = p_hook_data.p_HookApi;
65
66 IF (l_hook_id > 0) THEN
67 RAISE FND_API.G_EXC_ERROR;
68 END IF;
69
70 -- Use Sequence as the unique key
71 OPEN C;
72 FETCH C INTO l_hook_id;
73 CLOSE C;
74 l_exe_order := p_hook_data.p_ExecutionOrder;
75 If (p_hook_data.p_ExecutionOrder IS NULL) OR (p_hook_data.p_ExecutionOrder = FND_API.G_MISS_NUM) then
76 l_exe_order := l_hook_id;
77 End If;
78
79 INSERT INTO JTF_HOOKS_DATA ( HOOK_ID,
80 PRODUCT_CODE,
81 PACKAGE_NAME,
82 API_NAME,
83 EXECUTE_FLAG,
84 PROCESSING_TYPE,
85 HOOK_TYPE,
86 HOOK_PACKAGE,
87 HOOK_API,
88 EXECUTION_ORDER,
89 CREATED_BY,
90 CREATION_DATE,
91 LAST_UPDATED_BY,
92 LAST_UPDATE_DATE,
93 LAST_UPDATE_LOGIN )
94
95 VALUES ( l_hook_id,
96 p_hook_data.p_ProductCode,
97 p_hook_data.p_PackageName,
98 p_hook_data.p_ApiName,
99 p_hook_data.p_ExecuteFlag,
100 p_hook_data.p_ProcessingType,
101 p_hook_data.p_HookType,
102 p_hook_data.p_HookPackage,
103 p_hook_data.p_HookApi,
104 l_exe_order,
105 G_USER_ID, SYSDATE, G_USER_ID, SYSDATE, G_LOGIN_ID );
106
107
108 --*********************
109
110 -- ******** Standard Ends ***********
111 --
112 -- End of main API body.
113
114 -- Standard check of p_commit.
115 IF (FND_API.To_Boolean(p_commit)) THEN
116 COMMIT WORK;
117 END IF;
118
119 -- Standard call to get message count and if count is 1, get message info.
120 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
121 p_data => x_msg_data );
122
123 EXCEPTION
124
125 WHEN FND_API.G_EXC_ERROR THEN
126
127 ROLLBACK TO JTF_HOOK_DATA_PUB_INSERT;
128 x_return_status := FND_API.G_RET_STS_ERROR ;
129
130 FND_MSG_PUB.Count_And_Get
131 ( p_count => x_msg_count,
132 p_data => x_msg_data );
133
134 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
135
136 ROLLBACK TO JTF_HOOK_DATA_PUB_INSERT;
137 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
138 FND_MSG_PUB.Count_And_Get
139 ( p_count => x_msg_count,
140 p_data => x_msg_data );
141
142
143 WHEN OTHERS THEN
144
145 ROLLBACK TO JTF_HOOK_DATA_PUB_INSERT;
146 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
147
148 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
149 THEN
150 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
151 END IF;
152
153 FND_MSG_PUB.Count_And_Get
154 ( p_count => x_msg_count,
155 p_data => x_msg_data );
156
157 END JTF_HOOK_DATA_PUB_INSERT;
158
159 END JTF_HOOK_DATA_PUB;