DBA Data[Home] [Help]

PACKAGE: APPS.FND_LOG_REPOSITORY

Source


1 package FND_LOG_REPOSITORY AUTHID CURRENT_USER as
2 /* $Header: AFUTLGRS.pls 120.3.12010000.2 2010/03/17 18:16:00 pferguso ship $ */
3 
4    /* Converted date from string for Metrics
5    */
6    G_METRIC_DATE    DATE;
7 
8 
9    /*
10    **  Determines whether logging is enabled or disabled for this module
11    **  and level.
12    */
13    function CHECK_ACCESS_INTERNAL(MODULE_IN IN VARCHAR2,
14                                   LEVEL_IN  IN NUMBER) return BOOLEAN;
15 
16    /*
17    **  Writes the message to the log file for the spec'd level and module
18    **  without checking if logging is enabled at this level.  This
19    **  routine is only to be called from the AOL implementations of
20    **  the AFLOG interface, in languages like JAVA or C.
21    **  If the SESSION_ID and/or USER_ID is not passed, it defaults to the
22    **  value that was passed upon INIT.
23    */
24    PROCEDURE STRING_UNCHECKED_INTERNAL(LOG_LEVEL IN NUMBER,
25                     MODULE           IN VARCHAR2,
26                     MESSAGE_TEXT     IN VARCHAR2,
27                     SESSION_ID       IN NUMBER   DEFAULT NULL,
28                     USER_ID          IN NUMBER   DEFAULT NULL,
29                     CALL_STACK       IN VARCHAR2 DEFAULT NULL,
30                     ERR_STACK        IN VARCHAR2 DEFAULT NULL);
31 
32    /*
33    **  Gathers context information within the same session, then
34    **  calls the private, autonmous procedure METRIC_INTERNAL,
35    **  passing context information to be logged in AFLOG tables
36    **
37    **  A wrapper API that calls Metric_Internal using the
38    **  context values from internal cache of the context values.
39    **  This routine is only to be called from the AOL implementations of
40    **  the AFLOG interface, in languages like JAVA or C.
41    **  If the SESSION_ID is not passed, it defaults to the value that
42    **  was passed upon INIT.
43    */
44    PROCEDURE METRIC_INTERNAL_WITH_CONTEXT(MODULE IN VARCHAR2,
45                     METRIC_CODE            IN VARCHAR2,
46                     METRIC_VALUE_STRING    IN VARCHAR2 DEFAULT NULL,
47                     METRIC_VALUE_NUMBER    IN NUMBER   DEFAULT NULL,
48                     METRIC_VALUE_DATE      IN DATE     DEFAULT NULL,
49                     SESSION_ID             IN NUMBER   DEFAULT NULL,
50                     NODE                   IN VARCHAR2 DEFAULT NULL,
51                     NODE_IP_ADDRESS        IN VARCHAR2 DEFAULT NULL,
52                     PROCESS_ID             IN VARCHAR2 DEFAULT NULL,
53                     JVM_ID                 IN VARCHAR2 DEFAULT NULL,
54                     THREAD_ID              IN VARCHAR2 DEFAULT NULL,
55                     AUDSID                 IN NUMBER   DEFAULT NULL,
56                     DB_INSTANCE            IN NUMBER   DEFAULT NULL);
57 
58    /*
59    ** FND_LOG_REPOSITORY.METRICS_EVENT_INT_WITH_CONTEXT
60    ** Description:
61    **  A wrapper API that calls Metrics_Event_Internal using the
62    **  context values from internal cache of the context values.
63    **  This routine is only to be called from the AOL implementations of
64    **  the AFLOG interface, in languages like JAVA or C.
65    **
66    ** Arguments:
67    **     CONTEXT_ID - Context id to post metrics for
68    **                  Pass NULL to use the current context
69    */
70    PROCEDURE METRICS_EVENT_INT_WITH_CONTEXT(CONTEXT_ID IN NUMBER DEFAULT NULL);
71 
72    /*
73    **  Gathers context information within the same session, then
74    **  calls the private, autonmous procedure STRING_UNCHECKED_INTERNAL2,
75    **  passing context information to be logged in AFLOG tables
76    **
77    **  A wrapper API that calls String_Unchecked_Internal2 using the
78    **  context values from internal cache of the context values.
79    **  This routine is only to be called from the AOL implementations of
80    **  the AFLOG interface, in languages like JAVA or C.
81    **  If the SESSION_ID and/or USER_ID is not passed, it defaults to the
82    **  value that was passed upon INIT.
83    **
84    ** Note: Call FUNCTION STR_UNCHKED_INT_WITH_CONTEXT(..) instead
85    */
86    PROCEDURE STR_UNCHKED_INT_WITH_CONTEXT(LOG_LEVEL IN NUMBER,
87                     MODULE          IN VARCHAR2,
88                     MESSAGE_TEXT    IN VARCHAR2,
89                     ENCODED         IN VARCHAR2 DEFAULT 'N',
90                     SESSION_ID      IN NUMBER   DEFAULT NULL,
91                     USER_ID         IN NUMBER   DEFAULT NULL,
92                     NODE            IN VARCHAR2 DEFAULT NULL,
93                     NODE_IP_ADDRESS IN VARCHAR2 DEFAULT NULL,
94                     PROCESS_ID      IN VARCHAR2 DEFAULT NULL,
95                     JVM_ID          IN VARCHAR2 DEFAULT NULL,
96                     THREAD_ID       IN VARCHAR2 DEFAULT NULL,
97                     AUDSID          IN NUMBER   DEFAULT NULL,
98                     DB_INSTANCE     IN NUMBER   DEFAULT NULL,
99                     CALL_STACK      IN VARCHAR2 DEFAULT NULL,
100                     ERR_STACK       IN VARCHAR2 DEFAULT NULL);
101 
102    /*
103    ** Same as STR_UNCHKED_INT_WITH_CONTEXT, but also returns LOG_SEQUENCE
104    */
105    FUNCTION STR_UNCHKED_INT_WITH_CONTEXT(LOG_LEVEL IN NUMBER,
106                     MODULE          IN VARCHAR2,
107                     MESSAGE_TEXT    IN VARCHAR2,
108                     ENCODED         IN VARCHAR2 DEFAULT 'N',
109                     SESSION_ID      IN NUMBER   DEFAULT NULL,
110                     USER_ID         IN NUMBER   DEFAULT NULL,
111                     NODE            IN VARCHAR2 DEFAULT NULL,
112                     NODE_IP_ADDRESS IN VARCHAR2 DEFAULT NULL,
113                     PROCESS_ID      IN VARCHAR2 DEFAULT NULL,
114                     JVM_ID          IN VARCHAR2 DEFAULT NULL,
115                     THREAD_ID       IN VARCHAR2 DEFAULT NULL,
116                     AUDSID          IN NUMBER   DEFAULT NULL,
117                     DB_INSTANCE     IN NUMBER   DEFAULT NULL,
118                     CALL_STACK      IN VARCHAR2 DEFAULT NULL,
119                     ERR_STACK       IN VARCHAR2 DEFAULT NULL) RETURN NUMBER;
120 
121    /*
122    ** For Internal AOL/J Use Only.
123    */
124    PROCEDURE INSERT_BLOB(P_LOG_SEQUENCE IN NUMBER, PCHARSET IN VARCHAR2,
125                 PMIMETYPE IN VARCHAR2, PENCODING IN VARCHAR2, PLANG IN VARCHAR2,
126 		PFILE_EXTN IN VARCHAR2, PDESC IN VARCHAR2);
127 
128    /*
129    ** For Internal AOL/J Use Only.
130    ** Get the BLOB (for Attachments) corresponding to the P_LOG_SEQUENCE
131    */
132    PROCEDURE GET_BLOB_INTERNAL(P_LOG_SEQUENCE IN NUMBER,
133 			LOG_BLOB OUT NOCOPY BLOB,
134 			P_CHARSET IN VARCHAR2 DEFAULT 'ascii',
135 			P_MIMETYPE IN VARCHAR2 DEFAULT 'text/html',
136 			P_ENCODING IN VARCHAR2 DEFAULT NULL,
137 			P_LANG IN VARCHAR2 DEFAULT NULL,
138 			P_FILE_EXTN IN VARCHAR2 DEFAULT 'txt',
139 			P_DESC IN VARCHAR2 DEFAULT NULL);
140 
141    /*
142    ** FND_LOG_REPOSITORY.INIT_TRANS_INT_WITH_CONTEXT
143    ** Description:
144    ** A wrapper API that calls Init_Transaction_Internal using the
145    ** context values from internal cache of the context values.
146    ** This routine is only to be called from the AOL implementations of
147    ** the AFLOG interface, in languages like JAVA or C.
148    ** If the SESSION_ID and/or USER_ID is not passed, it defaults to the
149    ** value that was passed upon INIT.
150    **
151    ** Initializes a log transaction.  A log transaction
152    ** corresponds to an instance or invocation of a single
153    ** component.  (e.g. A concurrent request, service process,
154    ** open form, ICX function)
155    **
156    ** This routine should be called only after
157    ** FND_GLOBAL.INITIALIZE, since some of the context information
158    ** is retrieved from FND_GLOBAL.
159    **
160    ** Arguments:
161    **   CONC_REQUEST_ID       - Concurrent request id
162    **   FORM_ID               - Form id
163    **   FORM_APPLICATION_ID   - Form application id
164    **   CONCURRENT_PROCESS_ID - Service process id
165    **   CONCURRENT_QUEUE_ID   - Service queue id
166    **   QUEUE_APPLICATION_ID  - Service queue application id
167    **   SOA_INSTANCE_ID       - SOA instance id
168    **
169    ** Use only the arguments that apply to the caller.
170    ** Any argument that does not apply should be passed as NULL
171    ** i.e. when calling from a form, pass in FORM_ID and FORM_APPLICATION_ID
172    ** and leave all other parameters NULL.
173    **
174    ** Returns:
175    **   ID of the log transaction context
176    **
177    */
178    FUNCTION INIT_TRANS_INT_WITH_CONTEXT (CONC_REQUEST_ID             IN NUMBER DEFAULT NULL,
179                                          FORM_ID                     IN NUMBER DEFAULT NULL,
180                                          FORM_APPLICATION_ID         IN NUMBER DEFAULT NULL,
181                                          CONCURRENT_PROCESS_ID       IN NUMBER DEFAULT NULL,
182                                          CONCURRENT_QUEUE_ID         IN NUMBER DEFAULT NULL,
183                                          QUEUE_APPLICATION_ID        IN NUMBER DEFAULT NULL,
184                                          SESSION_ID                  IN NUMBER DEFAULT NULL,
185                                          USER_ID                     IN NUMBER DEFAULT NULL,
186                                          RESP_APPL_ID                IN NUMBER DEFAULT NULL,
187                                          RESPONSIBILITY_ID           IN NUMBER DEFAULT NULL,
188                                          SECURITY_GROUP_ID           IN NUMBER DEFAULT NULL,
189 					 SOA_INSTANCE_ID             IN NUMBER DEFAULT NULL)
190                                                           return NUMBER;
191 
192 
193    /*
194    ** Internal- This routine initializes the logging system from the
195    ** profiles.  AOL will normally call this routine to initialize the
196    ** system so the API consumer should not need to call it.
197    ** The SESSION_ID is a unique identifier (like the ICX_SESSION id)
198    ** The USER_ID is the name of the apps user.
199    */
200    PROCEDURE INIT(SESSION_ID   IN NUMBER default NULL,
201                   USER_ID      IN NUMBER default NULL);
202 
203 
204    /*
205    **  Convert the string into date format, store in global variable
206    */
207    PROCEDURE METRIC_STRING_TO_DATE(DATE_VC IN VARCHAR2 DEFAULT NULL);
208 
209    /**
210     *  Private procedure called from AppsLog.java for Bulk logging messages
211     */
212    PROCEDURE GET_BULK_CONTEXT_PVT(
213 				LOG_SEQUENCE_OUT OUT NOCOPY NUMBER,
214 				TIMESTAMP_OUT    OUT NOCOPY DATE,
215 				DBSESSIONID_OUT  OUT NOCOPY NUMBER,
216 				DBINSTANCE_OUT	 OUT NOCOPY NUMBER,
217 				TXN_ID_OUT       OUT NOCOPY NUMBER
218 				);
219 
220    /**
221     *  Private function called from AppsLog.java for Bulk logging messages
222     */
223    FUNCTION BULK_INSERT_PVT(MODULE_IN IN FND_TABLE_OF_VARCHAR2_255,
224                         LOG_LEVEL_IN IN FND_TABLE_OF_NUMBER,
225                         MESSAGE_TEXT_IN IN FND_TABLE_OF_VARCHAR2_4000,
226                         SESSION_ID_IN IN FND_TABLE_OF_NUMBER,
227                         USER_ID_IN IN FND_TABLE_OF_NUMBER,
228                         TIMESTAMP_IN IN FND_TABLE_OF_DATE,
229                         LOG_SEQUENCE_IN IN FND_TABLE_OF_NUMBER,
230                         ENCODED_IN IN FND_TABLE_OF_VARCHAR2_1,
231                         NODE_IN IN varchar2,
232                         NODE_IP_ADDRESS_IN IN varchar2,
233                         PROCESS_ID_IN IN varchar2,
234                         JVM_ID_IN IN varchar2,
235                         THREAD_ID_IN IN FND_TABLE_OF_VARCHAR2_120,
236                         AUDSID_IN IN FND_TABLE_OF_NUMBER,
237                         DB_INSTANCE_IN IN FND_TABLE_OF_NUMBER,
238 			TRANSACTION_CONTEXT_ID_IN IN FND_TABLE_OF_NUMBER,
239 			SIZE_IN IN NUMBER) RETURN NUMBER;
240 
241     /**
242      * Procedure to enable PL/SQL Buffered Logging (for Batch Mode).
243      * Caller is responsible for calling RESET_BUFFERED_MODE
244      * Internally buffers messages in PL/SQL Collection for Bulk-Inserting.
245      */
246     PROCEDURE SET_BUFFERED_MODE;
247 
248     /**
249      * Flushes any buffered messages, and switches back to the
250      * default synchronous (non-buffered) logging.
251      */
252     PROCEDURE RESET_BUFFERED_MODE;
253 
254     /**
255      * Internal Only.
256      *
257      * API for setting a child context (for proxy alerting) for the given
258      * concurrent request ID.
259      *
260      * This API will first initialize the proxy context (i.e. the current
261      * transaction context) if not already initialized. It will then
262      * initialize the child transaction context for the given concurrent
263      * request ID if it has not been initialized already.
264      */
265     PROCEDURE SET_CHILD_CONTEXT_FOR_CONC_REQ (
266 	p_request_id IN NUMBER );
267 
268     /**
269      * Internal Only.
270      *
271      * This API clears the G_CHILD_TRANSACTION_CONTEXT_ID variable
272      * along with any other globals associated with the child
273      * context for proxy alerting.
274      */
275     PROCEDURE CLEAR_CHILD_CONTEXT;
276 
277 
278     /**
279      * Log a message directly without checking if logging is enabled.
280      * Requires a transaction_context_id of a transaction_context that
281      * has already been created. This allows messages to be logged
282      * to multiple contexts within the same session.
283      *
284      * This function should only be called by internal ATG procedures.
285      *
286      */
287     FUNCTION STRING_UNCHECKED_TO_CONTEXT(LOG_LEVEL       IN NUMBER,
288 					 MODULE          IN VARCHAR2,
289 					 MESSAGE_TEXT    IN VARCHAR2,
290 					 TRANSACTION_CONTEXT_ID IN NUMBER,
291 					 ENCODED         IN VARCHAR2 DEFAULT 'N',
292 					 SESSION_ID      IN NUMBER   DEFAULT NULL,
293 					 USER_ID         IN NUMBER   DEFAULT NULL,
294 					 NODE            IN VARCHAR2 DEFAULT NULL,
295 					 NODE_IP_ADDRESS IN VARCHAR2 DEFAULT NULL,
296 					 PROCESS_ID      IN VARCHAR2 DEFAULT NULL,
297 					 JVM_ID          IN VARCHAR2 DEFAULT NULL,
298 					 THREAD_ID       IN VARCHAR2 DEFAULT NULL,
299 					 AUDSID          IN NUMBER   DEFAULT NULL,
300 					 DB_INSTANCE     IN NUMBER   DEFAULT NULL,
301 					 CALL_STACK      IN VARCHAR2 DEFAULT NULL,
302 					 ERR_STACK       IN VARCHAR2 DEFAULT NULL) return NUMBER;
303 
304 
305 end FND_LOG_REPOSITORY;