1 PACKAGE BODY GMO_WMS_INTEGRATION_GRP AS
2 /* $Header: GMOGWMSB.pls 120.1 2005/08/05 04:13 rahugupt noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'GMO_WMS_INTEGRATION_GRP';
5
6 --This procedure would process the device response
7
8 -- Start of comments
9 -- API name : PROCESS_DEVICE_RESPONSE
10 -- Type : Group Utility.
11 -- Function : Process device response
12 -- Pre-reqs : None.
13 -- Parameters :
14 -- IN : p_api_version in number,
15 -- p_init_msg_list in varchar2 default fnd_api.g_false,
16 -- p_commit in varchar2 default fnd_api.g_false,
17 -- p_validation_level in number default fnd_api.g_valid_level_full,
18 -- p_request_id in number
19 -- p_device_id in number
20 -- p_param_values_record in wms_wcs_device_grp.msg_component_lookup_type
21 -- OUT : x_return_status out varchar2
22 -- x_msg_count out number
23 -- x_msg_data out varchar2
24 -- End of comments
25
26 PROCEDURE PROCESS_DEVICE_RESPONSE (
27
28 P_API_VERSION IN NUMBER,
29 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
30 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
31 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
32 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
33 X_MSG_COUNT OUT NOCOPY NUMBER,
34 X_MSG_DATA OUT NOCOPY VARCHAR2,
35 P_REQUEST_ID IN NUMBER,
36 P_DEVICE_ID IN NUMBER,
37 P_PARAM_VALUES_RECORD IN WMS_WCS_DEVICE_GRP.MSG_COMPONENT_LOOKUP_TYPE
38 )
39 IS
40 l_api_name CONSTANT VARCHAR2(30) := 'PROCESS_DEVICE_RESPONSE';
41 l_api_version CONSTANT NUMBER := 1.0;
42
43 BEGIN
44
45 -- Standard Start of API savepoint
46 SAVEPOINT PROCESS_DEVICE_RESPONSE_GRP;
47
48 -- Standard call to check for call compatibility.
49 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
50 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
51 END IF;
52
53 -- Initialize message list if p_init_msg_list is set to TRUE.
54 IF FND_API.to_Boolean( p_init_msg_list ) THEN
55 FND_MSG_PUB.initialize;
56 END IF;
57
58 -- Initialize API return status to success
59 x_return_status := FND_API.G_RET_STS_SUCCESS;
60
61 GMO_DVC_INTG_PVT.PROCESS_DEVICE_RESPONSE (
62 P_REQUEST_ID => P_REQUEST_ID ,
63 P_DEVICE_ID => P_DEVICE_ID ,
64 P_PARAM_VALUES_RECORD => P_PARAM_VALUES_RECORD ,
65 X_RETURN_STATUS => X_RETURN_STATUS,
66 X_MSG_COUNT => X_MSG_COUNT,
67 X_MSG_DATA => X_MSG_DATA);
68
69 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
70 IF FND_API.To_Boolean( p_commit ) THEN
71 COMMIT ;
72 END IF;
73 ELSE
74 RAISE FND_API.G_EXC_ERROR;
75 END IF;
76
77 -- Standard call to get message count and if count is 1, get message info.
78 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
79
80 EXCEPTION
81 WHEN FND_API.G_EXC_ERROR THEN
82 ROLLBACK TO PROCESS_DEVICE_RESPONSE_GRP;
83 x_return_status := FND_API.G_RET_STS_ERROR;
84 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
85 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
86 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_wms_integration_grp.process_device_response', FALSE);
87 end if;
88 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
89 ROLLBACK TO PROCESS_DEVICE_RESPONSE_GRP;
90 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
91 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
92 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
93 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_wms_integration_grp.process_device_response', FALSE);
94 end if;
95 WHEN OTHERS THEN
96 ROLLBACK TO PROCESS_DEVICE_RESPONSE_GRP;
97 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
98 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
99 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
100 END IF;
101 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
102 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
103 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_wms_integration_grp.process_device_response', FALSE);
104 end if;
105 END PROCESS_DEVICE_RESPONSE;
106
107 END GMO_WMS_INTEGRATION_GRP;
108