[Home] [Help]
PACKAGE BODY: APPS.ISG_BPEL_CTX_PKG
Source
1 PACKAGE body ISG_BPEL_CTX_PKG AS
2 /* $Header: ISGBPELCTXB.pls 120.0.12020000.5 2013/05/21 09:55:27 smunnalu noship $ */
3 pAppsBaseLang fnd_languages.nls_language%type;
4
5
6 function getAppsBaseLang
7 return varchar2
8 is
9 begin
10
11 IF ISG_BPEL_CTX_PKG.pAppsBaseLang IS NULL THEN
12 SELECT language_code
13 INTO ISG_BPEL_CTX_PKG.pAppsBaseLang
14 FROM fnd_languages
15 WHERE Installed_flag = 'B';
16 END IF;
17 return ISG_BPEL_CTX_PKG.pAppsBaseLang;
18
19 end;
20
21
22
23 procedure getUserLang( userId Number,
24 lang_code OUT NOCOPY varchar2)
25 is
26 pTemp fnd_languages.nls_language%type;
27 begin
28 pTemp:=fnd_profile.value_specific('ICX_LANGUAGE',user_id=>userId);
29 SELECT language_code
30 INTO lang_code
31 FROM fnd_languages
32 WHERE nls_language = pTemp
33 and Installed_flag in ('B','I');
34 exception
35 WHEN No_Data_found THEN
36 lang_code :=ISG_BPEL_CTX_PKG.getAppsBaseLang;
37 end;
38
39
40 PROCEDURE GET_MESSAGE( pUserName VARCHAR2,
41 pLang VARCHAR2,
42 pAdapterErrorCode VARCHAR2,
43 pISGErrorDetail VARCHAR2,
44 PApiName VARCHAR2,
45 pOperationName VARCHAR2,
46 pinstanceId VARCHAR2,
47 pconversationId VARCHAR2,
48 pISGErrorMsg OUT NOCOPY VARCHAR2,
49 pISGErrorCode OUT NOCOPY VARCHAR2,
50 pResolution OUT NOCOPY VARCHAR2
51 )
52 IS
53 pUserID NUMBER;
54 pLangCode VARCHAR2(10);
55
56 BEGIN
57 pLangCode:='US';
58
59 SELECT isg_code
60 INTO pISGErrorCode
61 FROM error_codes_map
62 WHERE adapter_code = pAdapterErrorCode;
63
64 IF (pISGErrorCode IS NULL) THEN
65 pISGErrorCode := 'ISG_SYSTEM_ERROR';
66 pResolution := 'System error, please see service log trace for details';
67 ELSE
68 SELECT description
69 INTO pResolution
70 FROM error_codes_map
71 WHERE adapter_code = pAdapterErrorCode;
72 END IF;
73
74
75 SELECT user_id
76 INTO pUserID
77 FROM fnd_user
78 WHERE user_name = upper(pUserName);
79 IF ( pLang IS NULL OR pISGErrorCode = 'ISG_INVALID_LANGUAGE_CODE') THEN
80 --No language specified get the details from profile, else default to US
81 ISG_BPEL_CTX_PKG.getUserLang( pUserID, pLangCode);
82 ELSE
83 SELECT language_code
84 INTO pLangCode
85 FROM fnd_languages
86 WHERE nls_language = upper(pLang)
87 and Installed_flag in ('B','I');
88 END IF;
89 SELECT message_text
90 INTO pISGErrorMsg
91 FROM fnd_new_messages
92 WHERE message_name = pISGErrorCode
93 AND language_code = pLangCode;
94 ISG_RAISE_EVENT(PApiName, pOperationName, pinstanceId, pconversationId, pISGErrorCode, pISGErrorMsg, pISGErrorDetail);
95 END GET_MESSAGE;
96
97
98
99 PROCEDURE ISG_RAISE_EVENT( PApiName VARCHAR2,
100 pOperationName VARCHAR2,
101 pinstanceId VARCHAR2,
102 pconversationId VARCHAR2,
103 pISGErrorCode VARCHAR2,
104 pISGErrorMsg VARCHAR2,
105 pISGErrorDetail VARCHAR2
106 )
107 IS
108 l_parameterlist wf_parameter_list_t := wf_parameter_list_t();
109 l_eventKey varchar2(50);
110 BEGIN
111 wf_event.AddParameterToList('API_NAME', PApiName, l_parameterlist);
112 wf_event.AddParameterToList('OPERATION_NAME', pOperationName, l_parameterlist);
113 wf_event.AddParameterToList('BPEL_INSTANCE_ID', pinstanceId, l_parameterlist);
114 wf_event.AddParameterToList('BPEL_CONVERSATION_ID', pconversationId, l_parameterlist);
115 wf_event.AddParameterToList('ERROR_CODE', pISGErrorCode, l_parameterlist);
116 wf_event.AddParameterToList('ERROR_MESSAGE', pISGErrorMsg, l_parameterlist);
117 wf_event.AddParameterToList('ERROR_DETAIL', pISGErrorDetail, l_parameterlist);
118 l_eventKey := to_char(sysdate,'DD/MM/YYYY HH24:MI:SS');
119 wf_event.raise(p_event_name => 'oracle.apps.fnd.isg.error.handle',
120 p_event_key => l_eventKey,
121 p_parameters => l_parameterlist );
122
123
124
125 END ISG_RAISE_EVENT;
126
127
128
129
130 END ISG_BPEL_CTX_PKG;