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