DBA Data[Home] [Help]

APPS.FND_LOG dependencies on FND_LOG

Line 1: package body FND_LOG as

1: package body FND_LOG as
2: /* $Header: AFUTLOGB.pls 120.4.12000000.2 2007/09/25 14:21:31 rlandows ship $ */
3: /* Documentation for this package is at */
4: /* http://www-apps.us.oracle.com/logging/ */
5:

Line 72: if (LOG_LEVEL >= FND_LOG.LEVEL_EXCEPTION) THEN

68: l_seq NUMBER;
69:
70: begin
71:
72: if (LOG_LEVEL >= FND_LOG.LEVEL_EXCEPTION) THEN
73: CALL_STACK := DBMS_UTILITY.FORMAT_CALL_STACK;
74: ERR_STACK := DBMS_UTILITY.FORMAT_ERROR_STACK;
75: end if;
76:

Line 77: l_seq := FND_LOG_REPOSITORY.STR_UNCHKED_INT_WITH_CONTEXT(

73: CALL_STACK := DBMS_UTILITY.FORMAT_CALL_STACK;
74: ERR_STACK := DBMS_UTILITY.FORMAT_ERROR_STACK;
75: end if;
76:
77: l_seq := FND_LOG_REPOSITORY.STR_UNCHKED_INT_WITH_CONTEXT(
78: LOG_LEVEL => LOG_LEVEL,
79: MODULE => MODULE,
80: MESSAGE_TEXT => MESSAGE_TEXT,
81: ENCODED => ENCODED,

Line 103: ** FND_LOG.INIT_TRANSACTION

99: ** PUBLIC PROCEDURES
100: */
101:
102: /*
103: ** FND_LOG.INIT_TRANSACTION
104: **
105: ** Description:
106: ** Initializes a log transaction. A log transaction
107: ** corresponds to an instance or invocation of a single

Line 144: FND_LOG_REPOSITORY.INIT_TRANS_INT_WITH_CONTEXT(

140: l_transaction_context_id number;
141: begin
142:
143: l_transaction_context_id :=
144: FND_LOG_REPOSITORY.INIT_TRANS_INT_WITH_CONTEXT(
145: CONC_REQUEST_ID => CONC_REQUEST_ID,
146: FORM_ID => FORM_ID,
147: FORM_APPLICATION_ID => FORM_APPLICATION_ID,
148: CONCURRENT_PROCESS_ID => CONCURRENT_PROCESS_ID,

Line 155: generic_error('FND_LOG.INIT_TRANSACTION', SQLCODE, SQLERRM);

151: return l_transaction_context_id;
152:
153: exception
154: when others then
155: generic_error('FND_LOG.INIT_TRANSACTION', SQLCODE, SQLERRM);
156: return -1;
157:
158:
159: end INIT_TRANSACTION;

Line 162: ** FND_LOG.SET_TRANSACTION

158:
159: end INIT_TRANSACTION;
160:
161: /*
162: ** FND_LOG.SET_TRANSACTION
163: ** Description:
164: ** Sets the log transaction ID for the current DB connection.
165: ** This routine should be used whenever the database connection
166: ** changes within the context of a transaction. For example, this

Line 181: from FND_LOG_TRANSACTION_CONTEXT

177: begin
178:
179: select count(*)
180: into dummy
181: from FND_LOG_TRANSACTION_CONTEXT
182: where TRANSACTION_CONTEXT_ID = TRANS_CONTEXT_ID;
183:
184: if (dummy = 1) then
185: FND_LOG.G_TRANSACTION_CONTEXT_ID := TRANS_CONTEXT_ID;

Line 185: FND_LOG.G_TRANSACTION_CONTEXT_ID := TRANS_CONTEXT_ID;

181: from FND_LOG_TRANSACTION_CONTEXT
182: where TRANSACTION_CONTEXT_ID = TRANS_CONTEXT_ID;
183:
184: if (dummy = 1) then
185: FND_LOG.G_TRANSACTION_CONTEXT_ID := TRANS_CONTEXT_ID;
186: else
187: internal_message('bad TRANSACTION_CONTEXT_ID: '|| TRANS_CONTEXT_ID);
188: internal_message('TRANSACTION_CONTEXT_ID not found in table FND_LOG_TRANSACTION_CONTEXT');
189: raise bad_parameter;

Line 188: internal_message('TRANSACTION_CONTEXT_ID not found in table FND_LOG_TRANSACTION_CONTEXT');

184: if (dummy = 1) then
185: FND_LOG.G_TRANSACTION_CONTEXT_ID := TRANS_CONTEXT_ID;
186: else
187: internal_message('bad TRANSACTION_CONTEXT_ID: '|| TRANS_CONTEXT_ID);
188: internal_message('TRANSACTION_CONTEXT_ID not found in table FND_LOG_TRANSACTION_CONTEXT');
189: raise bad_parameter;
190: end if;
191:
192: end SET_TRANSACTION;

Line 209: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then

205: if (LOG_LEVEL < G_CURRENT_RUNTIME_LEVEL) then
206: return;
207: end if;
208:
209: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then
210:
211: l_seq := STR_UNCHKED_INT_WITH_CONTEXT(
212: LOG_LEVEL => LOG_LEVEL,
213: MODULE => MODULE,

Line 247: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then

243: if (LOG_LEVEL < G_CURRENT_RUNTIME_LEVEL) then
244: return;
245: end if;
246:
247: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then
248:
249: l_seq := STR_UNCHKED_INT_WITH_CONTEXT(
250: LOG_LEVEL => LOG_LEVEL,
251: MODULE => MODULE,

Line 279: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then

275: if (LOG_LEVEL < G_CURRENT_RUNTIME_LEVEL) then
276: return l_sequence;
277: end if;
278:
279: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then
280: msg_buf := FND_MESSAGE.GET_ENCODED(AUTO_LOG);
281: l_sequence := STR_UNCHKED_INT_WITH_CONTEXT(
282: LOG_LEVEL => LOG_LEVEL,
283: MODULE => MODULE,

Line 339: ** if( FND_LOG.LEVEL_UNEXPECTED >=

335: ** The message is popped off the message dictionary stack, if POP_MESSAGE
336: ** is TRUE. Pass FALSE for POP_MESSAGE if the message will also be
337: ** displayed to the user later.
338: ** Code Sample:
339: ** if( FND_LOG.LEVEL_UNEXPECTED >=
340: ** FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
341: ** FND_MESSAGE.SET_NAME(...); -- Set message
342: ** FND_MESSAGE.SET_TOKEN(...); -- Set token in message
343: ** ATTACHMENT_ID := FND_LOG.MESSAGE_WITH_ATTACHMENT(FND_LOG.LEVEL_UNEXPECTED,...,TRUE);

Line 340: ** FND_LOG.G_CURRENT_RUNTIME_LEVEL) then

336: ** is TRUE. Pass FALSE for POP_MESSAGE if the message will also be
337: ** displayed to the user later.
338: ** Code Sample:
339: ** if( FND_LOG.LEVEL_UNEXPECTED >=
340: ** FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
341: ** FND_MESSAGE.SET_NAME(...); -- Set message
342: ** FND_MESSAGE.SET_TOKEN(...); -- Set token in message
343: ** ATTACHMENT_ID := FND_LOG.MESSAGE_WITH_ATTACHMENT(FND_LOG.LEVEL_UNEXPECTED,...,TRUE);
344: ** if ( ATTACHMENT_ID <> -1 ) then

Line 343: ** ATTACHMENT_ID := FND_LOG.MESSAGE_WITH_ATTACHMENT(FND_LOG.LEVEL_UNEXPECTED,...,TRUE);

339: ** if( FND_LOG.LEVEL_UNEXPECTED >=
340: ** FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
341: ** FND_MESSAGE.SET_NAME(...); -- Set message
342: ** FND_MESSAGE.SET_TOKEN(...); -- Set token in message
343: ** ATTACHMENT_ID := FND_LOG.MESSAGE_WITH_ATTACHMENT(FND_LOG.LEVEL_UNEXPECTED,...,TRUE);
344: ** if ( ATTACHMENT_ID <> -1 ) then
345: ** -- For ASCII data use WRITE
346: ** FND_LOG_ATTACHMENT.WRITE(ATTACHMENT_ID, ...);
347: ** -- For Non-ASCII data use WRITE_RAW

Line 346: ** FND_LOG_ATTACHMENT.WRITE(ATTACHMENT_ID, ...);

342: ** FND_MESSAGE.SET_TOKEN(...); -- Set token in message
343: ** ATTACHMENT_ID := FND_LOG.MESSAGE_WITH_ATTACHMENT(FND_LOG.LEVEL_UNEXPECTED,...,TRUE);
344: ** if ( ATTACHMENT_ID <> -1 ) then
345: ** -- For ASCII data use WRITE
346: ** FND_LOG_ATTACHMENT.WRITE(ATTACHMENT_ID, ...);
347: ** -- For Non-ASCII data use WRITE_RAW
348: ** FND_LOG_ATTACHMENT.WRITE_RAW(ATTACHMENT_ID, ...);
349: ** FND_LOG_ATTACHMENT.CLOSE(ATTACHMENT_ID);
350: ** end if;

Line 348: ** FND_LOG_ATTACHMENT.WRITE_RAW(ATTACHMENT_ID, ...);

344: ** if ( ATTACHMENT_ID <> -1 ) then
345: ** -- For ASCII data use WRITE
346: ** FND_LOG_ATTACHMENT.WRITE(ATTACHMENT_ID, ...);
347: ** -- For Non-ASCII data use WRITE_RAW
348: ** FND_LOG_ATTACHMENT.WRITE_RAW(ATTACHMENT_ID, ...);
349: ** FND_LOG_ATTACHMENT.CLOSE(ATTACHMENT_ID);
350: ** end if;
351: ** end if;
352: */

Line 349: ** FND_LOG_ATTACHMENT.CLOSE(ATTACHMENT_ID);

345: ** -- For ASCII data use WRITE
346: ** FND_LOG_ATTACHMENT.WRITE(ATTACHMENT_ID, ...);
347: ** -- For Non-ASCII data use WRITE_RAW
348: ** FND_LOG_ATTACHMENT.WRITE_RAW(ATTACHMENT_ID, ...);
349: ** FND_LOG_ATTACHMENT.CLOSE(ATTACHMENT_ID);
350: ** end if;
351: ** end if;
352: */
353: FUNCTION MESSAGE_WITH_ATTACHMENT(LOG_LEVEL IN NUMBER,

Line 366: FND_LOG_REPOSITORY.INSERT_BLOB(l_sequence, P_CHARSET, P_MIMETYPE,

362: l_sequence number := -1;
363: begin
364: l_sequence := MESSAGE_INTERNAL(LOG_LEVEL, MODULE, POP_MESSAGE, 'N');
365: if ( l_sequence > 0 ) then
366: FND_LOG_REPOSITORY.INSERT_BLOB(l_sequence, P_CHARSET, P_MIMETYPE,
367: P_ENCODING, P_LANG, P_FILE_EXTN, P_DESC);
368: end if;
369: return l_sequence;
370: end;

Line 400: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then

396: if (LOG_LEVEL < G_CURRENT_RUNTIME_LEVEL) then
397: return;
398: end if;
399:
400: if FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL) then
401: msg_buf := FND_MESSAGE.GET_ENCODED;
402:
403: l_seq := STR_UNCHKED_INT_WITH_CONTEXT(
404: LOG_LEVEL => LOG_LEVEL,

Line 424: ** FND_LOG.WORK_METRIC

420: end;
421:
422:
423: /*
424: ** FND_LOG.WORK_METRIC
425: ** Description:
426: ** Writes a metric value out to the FND tables in an
427: ** autonomous transaction. Posting to the Business Event
428: ** system is deferred until WORK_METRICS_EVENT is called.

Line 431: ** Module - Module name (See FND_LOG standards.)

427: ** autonomous transaction. Posting to the Business Event
428: ** system is deferred until WORK_METRICS_EVENT is called.
429: **
430: ** Arguments:
431: ** Module - Module name (See FND_LOG standards.)
432: ** Metric_code - Internal name of metric.
433: ** Metric_value - Value for metric (string, number, or date)
434: **
435: */

Line 442: FND_LOG_REPOSITORY.METRIC_INTERNAL_WITH_CONTEXT(

438: METRIC_CODE IN VARCHAR2,
439: METRIC_VALUE IN VARCHAR2) is
440:
441: begin
442: FND_LOG_REPOSITORY.METRIC_INTERNAL_WITH_CONTEXT(
443: MODULE => MODULE,
444: METRIC_CODE => METRIC_CODE,
445: METRIC_VALUE_STRING => METRIC_VALUE);
446: end WORK_METRIC;

Line 453: FND_LOG_REPOSITORY.METRIC_INTERNAL_WITH_CONTEXT(

449: METRIC_CODE IN VARCHAR2,
450: METRIC_VALUE IN NUMBER) is
451:
452: begin
453: FND_LOG_REPOSITORY.METRIC_INTERNAL_WITH_CONTEXT(
454: MODULE => MODULE,
455: METRIC_CODE => METRIC_CODE,
456: METRIC_VALUE_NUMBER => METRIC_VALUE);
457: end WORK_METRIC;

Line 464: FND_LOG_REPOSITORY.METRIC_INTERNAL_WITH_CONTEXT(

460: METRIC_CODE IN VARCHAR2,
461: METRIC_VALUE IN DATE) is
462:
463: begin
464: FND_LOG_REPOSITORY.METRIC_INTERNAL_WITH_CONTEXT(
465: MODULE => MODULE,
466: METRIC_CODE => METRIC_CODE,
467: METRIC_VALUE_DATE => METRIC_VALUE);
468: end WORK_METRIC;

Line 471: ** FND_LOG.WORK_METRICS_EVENT

467: METRIC_VALUE_DATE => METRIC_VALUE);
468: end WORK_METRIC;
469:
470: /*
471: ** FND_LOG.WORK_METRICS_EVENT
472: ** Description:
473: ** Posts the pending metrics for the current component
474: ** session to the Business Event system and updates the pending
475: ** metrics with the event key. The metrics will be bundled in an

Line 487: FND_LOG_REPOSITORY.METRICS_EVENT_INT_WITH_CONTEXT(CONTEXT_ID);

483:
484: PROCEDURE WORK_METRICS_EVENT(CONTEXT_ID IN NUMBER DEFAULT NULL) IS
485: begin
486:
487: FND_LOG_REPOSITORY.METRICS_EVENT_INT_WITH_CONTEXT(CONTEXT_ID);
488:
489: end WORK_METRICS_EVENT;
490:
491: /*

Line 492: ** FND_LOG.GET_TEXT

488:
489: end WORK_METRICS_EVENT;
490:
491: /*
492: ** FND_LOG.GET_TEXT
493: **
494: ** Description:
495: ** Retrieves the fully translated message text, given a log sequence ID
496: **

Line 498: ** log_sequence_id - FND_LOG message identifier.

494: ** Description:
495: ** Retrieves the fully translated message text, given a log sequence ID
496: **
497: ** Arguments:
498: ** log_sequence_id - FND_LOG message identifier.
499: ** lang - Language code for translation (optional).
500: **
501: ** Returns:
502: ** If an encoded message, the full translated text of the message.

Line 513: msg_text fnd_log_messages.message_text%type;

509: --6434437, the tok_val variable was too small
510: --I also went ahead and modified msg_text and msg just in case
511: --the underlying columns are changed in the future.
512:
513: msg_text fnd_log_messages.message_text%type;
514: msg fnd_new_messages.message_text%type;
515: tok_val fnd_log_messages.message_text%type;
516:
517:

Line 515: tok_val fnd_log_messages.message_text%type;

511: --the underlying columns are changed in the future.
512:
513: msg_text fnd_log_messages.message_text%type;
514: msg fnd_new_messages.message_text%type;
515: tok_val fnd_log_messages.message_text%type;
516:
517:
518: encoded varchar2(1);
519: msg_app_short_name varchar2(50);

Line 534: from FND_LOG_MESSAGES

530:
531: begin
532: select MESSAGE_TEXT, DECODE(ENCODED, 'Y', 'Y', 'N')
533: into msg_text, encoded
534: from FND_LOG_MESSAGES
535: where LOG_SEQUENCE = LOG_SEQUENCE_ID;
536:
537: if (encoded = 'N') then
538: return msg_text;

Line 560: FND_MESSAGE.SET_TOKEN ('ROUTINE', 'FND_LOG.GET_TEXT', FALSE);

556: +--------------------------------------------------------------*/
557: FND_MESSAGE.SET_NAME ('FND', 'SQL-Generic error');
558: FND_MESSAGE.SET_TOKEN ('ERRNO', sqlcode, FALSE);
559: FND_MESSAGE.SET_TOKEN ('REASON', sqlerrm, FALSE);
560: FND_MESSAGE.SET_TOKEN ('ROUTINE', 'FND_LOG.GET_TEXT', FALSE);
561: end;
562: end if;
563:
564: begin

Line 648: return FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL);

644: begin
645: if ( LOG_LEVEL < G_CURRENT_RUNTIME_LEVEL ) then
646: return FALSE;
647: end if;
648: return FND_LOG_REPOSITORY.CHECK_ACCESS_INTERNAL (MODULE, LOG_LEVEL);
649: end;
650:
651:
652: /**

Line 663: FND_LOG_REPOSITORY.SET_BUFFERED_MODE;

659: * buffers messages in PL/SQL Collection for Bulk-Inserting.
660: */
661: PROCEDURE SET_BUFFERED_MODE is
662: begin
663: FND_LOG_REPOSITORY.SET_BUFFERED_MODE;
664: end SET_BUFFERED_MODE;
665:
666: /**
667: * Flushes any buffered messages, and switches back to the

Line 672: FND_LOG_REPOSITORY.RESET_BUFFERED_MODE;

668: * default synchronous (non-buffered) logging.
669: */
670: PROCEDURE RESET_BUFFERED_MODE is
671: begin
672: FND_LOG_REPOSITORY.RESET_BUFFERED_MODE;
673: end RESET_BUFFERED_MODE;
674:
675: /**
676: * API for raising a proxy alert on behalf of the given

Line 683: * 2) Raises the proxy alert by calling fnd_log.message in the normal

679: * captured as a parent context.
680: *
681: * This API does the following:
682: * 1) Sets a child context for the given request ID
683: * 2) Raises the proxy alert by calling fnd_log.message in the normal
684: * fashion
685: * 3) Clears the child context.
686: */
687: PROCEDURE PROXY_ALERT_FOR_CONC_REQ(

Line 692: if (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level) then

688: MODULE IN VARCHAR2,
689: POP_MESSAGE IN BOOLEAN DEFAULT NULL,
690: REQUEST_ID IN NUMBER) is
691: BEGIN
692: if (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level) then
693: fnd_log_repository.set_child_context_for_conc_req(REQUEST_ID);
694: fnd_log.message(
695: log_level => fnd_log.level_unexpected,
696: module => MODULE,

Line 693: fnd_log_repository.set_child_context_for_conc_req(REQUEST_ID);

689: POP_MESSAGE IN BOOLEAN DEFAULT NULL,
690: REQUEST_ID IN NUMBER) is
691: BEGIN
692: if (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level) then
693: fnd_log_repository.set_child_context_for_conc_req(REQUEST_ID);
694: fnd_log.message(
695: log_level => fnd_log.level_unexpected,
696: module => MODULE,
697: pop_message => POP_MESSAGE);

Line 694: fnd_log.message(

690: REQUEST_ID IN NUMBER) is
691: BEGIN
692: if (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level) then
693: fnd_log_repository.set_child_context_for_conc_req(REQUEST_ID);
694: fnd_log.message(
695: log_level => fnd_log.level_unexpected,
696: module => MODULE,
697: pop_message => POP_MESSAGE);
698: fnd_log_repository.clear_child_context;

Line 695: log_level => fnd_log.level_unexpected,

691: BEGIN
692: if (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level) then
693: fnd_log_repository.set_child_context_for_conc_req(REQUEST_ID);
694: fnd_log.message(
695: log_level => fnd_log.level_unexpected,
696: module => MODULE,
697: pop_message => POP_MESSAGE);
698: fnd_log_repository.clear_child_context;
699: end if;

Line 698: fnd_log_repository.clear_child_context;

694: fnd_log.message(
695: log_level => fnd_log.level_unexpected,
696: module => MODULE,
697: pop_message => POP_MESSAGE);
698: fnd_log_repository.clear_child_context;
699: end if;
700: END PROXY_ALERT_FOR_CONC_REQ;
701:
702: end FND_LOG;

Line 702: end FND_LOG;

698: fnd_log_repository.clear_child_context;
699: end if;
700: END PROXY_ALERT_FOR_CONC_REQ;
701:
702: end FND_LOG;