Вы находитесь на странице: 1из 26

3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application

1/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Dibyajyoti Koch:A Blog on Oracle Application
Welcome.This blog is meant for professionals new to Oracle EBS.
Go
Home
Recent Posts
All Posts!
Your Polls
Get Trained!
Contribute a Post
Oracle Apps
AOL
APIs
Apps Tables
Architecture
Interface
Payables
Receivables
General Ledger
Oracle Inventory
Oracle Projects
Script
Oracle Technologies
SQL-PL/SQL
Discoverer
Forms
Reports
OA Framework
SQL*Loader
Xml Publisher
Oracle Workflow
My World
About Me
My Photography
Life
Short Story
Technology
Random Post
Travel
Posts Comments
3; 83 1 -+6%8) 6% 0) 0) 687?
December 1, 2011 Leave a Comment
1] Using FNDLOAD utility:
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
2/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Here first DOWNLOAD the custom alert from the source instance, copy the ldt file to the new instance and then
UPLOAD to the destination instance.
Command to download:
FNDLOAD apps_user_name/apps_password 0 Y DOWNLOAD $ALR_TOP/patch/115/import/alr.lct
my_file.ldt ALR_ALERTS APPLICATION_SHORT_NAME=XXCUST ALERT_NAME=<Alert name
to download>
Here are some additional parameters that can also be passed are:
ALR_DISTRIBUTION_LISTS
ALR_LOOKUPS
ALR_MESSAGE_SYSTEMS
ALR_ORACLE_MAIL_ACCOUNTS
ALR_PROFILE_OPTIONS
ALR_PERIODIC_SETS
Command to upload:
FNDLOAD apps_user_name/apps_password 0 Y UPLOAD $ALR_TOP/patch/115/import/alr.lct
my_file.ldt CUSTOM_MODE=FORCE
2] Using Alert Manager Responsibility:
You can use the Transfer Alert Definitions window to transfer an alert definition to another database, or make a copy of an
existing alert.
1. From the Menu, choose Tools > Transfer Alert.
2. In the Source Alert block of the Transfer Alert Definition window, enter:
* Application name associated with the alert to be transferred
* Alert name to be transferred
* Username and password for the database where the Alert to transfer resides
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
3/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Include any necessary SQL*Net syntax to indicate where your database resides.
SQL*Net syntax may be used. The different databases need to be defined in the
$TNS_ADMIN/tnsnames.ora file.
Example of: username/ password@ SQL*Net_syntax
sysadmin/friday@T:testing:db2
sysadmin/friday@db2
Note: Database Links are not supported in Applications
3. Similarly, in the Destination Alert block, enter:
* Application name for the new Alert.
* Alert name for the new Alert.
* Username and password for the new database location.
4. Click Transfer button to complete the alert transfer.
NOTE: This process works for NEW Alerts that do not exist. If the Alert exists already in the Destination location, you
will receive the error:
APP-ALR-04016: The alert <alert_name> already exists on the destination database account.
Reference:
Oracle Alert Users Guide
How to transfer alert definition from One Instance to another instance using cmdline script [ID 400295.1]
Filed under AOL Tagged with FNDLOAD for Alerts, How to migrate Oracle Alerts, oracle alerts
3; 83 ( ) 7-+2 ) 6-3( - 0) 68 83 7) 2( ) 1 %-07?
December 1, 2011 Leave a Comment
1] Go to Alert Manager responsibility and navigate Alert > Define.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
4/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Enter the name of the application that will own the alert
Enter a suitable Name of the alert (up to 50 characters), and give it a meaningful description (up to 240 characters).
Select a frequency for your periodic alert. You can choose from nine frequency options:
1. On Demand
2. On Day of the Month
3. On Day of the Week
4. Every N Calendar Days
5. Every Day
6. Every Other Day
7. Every N Business Days
8. Every Business Day
9. Every Other Business Day
Choose On Demand frequency when you are developing a periodic alert so that you can test your alert at any time
you want. When you will sure that the alert is working fine, then you can change the frequency as per business need.
Depending on the frequency you choose in the previous step, the Start Time and End Time fields become enabled.
You may also specify the number of times within a 24-hour period that Oracle Alert checks your alert.
Specify a value in the Keep _ Days field to indicate the number of days of exceptions, actions, and response actions
history you want to keep for this alert.
Specify a value in the End Date field if you want to disable your alert by a certain date.
Enter a SQL Select statement that retrieves all the data your alert needs to perform the actions you plan to define.
Note:
Your periodic alert Select statement must include an INTO clause that contains one output for each column selected
by your Select statement.
Identify any inputs with a colon before the name, for example, :INPUT_NAME.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
5/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Identify any outputs with an ampersand (&) before the name, for example, &OUTPUT_NAME.
Do not use set operators in your Select statement.
You can use PL/SQL functions in your Select statement to fetch complex business logic.
Click on the Verify button to check the select statement is correct.
Click on the Run button to execute the Select statement.
Once you are satisfied with the SQL statement, save your work.
2] You can view all the input and output column details in Alert Details Tab. The Alert Details window includes
information such as which Application installations you want the alert to run against, what default values you want your
inputs variables to use, and what additional characteristics you want your output variables to have.
3] After you define your alert you need to create the actions you want your alert to perform. For that click on the Actions
tab.
Enter a name (up to 80 characters) and description (up to 240 characters) for your alert action.
Select a level for your action: Detail, Summary, or No Exception.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
6/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
1. Detail action: performs once for each individual exception found
2. Summary action: performs once for all exceptions found
3. No exception action: performs when no exceptions are found.
4] Click on Action Details tab to display the Action Details window.
Select the Action Type field as Message if you want to send emails. Other action types are: Concurrent Program,
Operating System Script and SQL Script.
Specify the electronic mail IDs of the recipients you want to send your message to in the To field.
If you list more than one recipient in any of these recipient fields, separate each recipient by a space, or a comma, or
a combination of the two.
You can enter as many recipients as you want, up to 240 characters.
You can also enter alert outputs or response variables in any of the alert detail fields. Oracle Alert automatically
substitutes the associated output value when checking the alert or the associated response variable value when
reading the response.
Save your changes.
5] Click on Action Sets tab in the main Alert Window.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
7/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Once you create your alert actions, you must include them in an enabled action set for Oracle Alert to perform
during an alert check. An action set can include an unlimited number of actions and any combination of actions.
Enter a Sequence number that lets you order the execution of action sets during an alert check.
Give any suitable name and description.
Check Suppress Duplicates if you want Oracle Alert to suppress the actions in this action set if the exception found
is a duplicate that occurred during the last alert check.
6] Click on Action Set Details tab.
Go to Members tab.
Find and attach the action that is created in Step 3.
Save the changes.
7] Since it is an On Demand periodic alert, we can run the alert at any time we want. For that go to Request > Check
and enter the alert details. Then click on Submit Request.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
8/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
This will fire one concurrent program which you can view by going through the navigation: Request > View
View the Log and Output files of the concurrent program to find that the alert is fired successfully.
Donecheck your mailbox and you should get emails that are sent from Oracle Alerts.
Filed under AOL Tagged with Alert Manager, oracle alerts, Periodic Alert
8-0-8= 7 *36 32 966) 28 63 ) 77-2+
September 26, 2011 2 Comments
FNDCONCURRENT.GETREQUESTSTATUS
This API Returns the Status of a concurrent request. It also returns the completion text if the request is already completed.
The return type is Boolean (Returns TRUE on successful retrieval of the information, FALSE otherwise).
function get_request_status(request_id IN OUT NOCOPY number,
appl_shortname IN varchar2 default NULL,
program IN varchar2 default NULL,
phase OUT NOCOPY varchar2,
status OUT NOCOPY varchar2,
dev_phase OUT NOCOPY varchar2,
dev_status OUT NOCOPY varchar2,
message OUT NOCOPY varchar2) return boolean;
The parameters are:
REQUEST_ID: Request ID of the program to be checked.
APPL_SHORTNAME: Short name of the application associated with the program. The default is NULL.
PROGRAM: Short name of the concurrent program. The default is NULL.
PHASE: Request phase.
STATUS: Request status.
DEV_PHASE: Request phase as a string constant.
DEV_STATUS: Request status as a string constant.
MESSAGE: Request completion message.
FNDCONCURRENT.WAITFORREQUEST
This API waits for the request completion, then returns the request phase/status and completion message to the caller. It
goes to sleep between checks for the request completion. The return type is Boolean (Returns TRUE on successful
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
9/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
retrieval of the information, FALSE otherwise).
function wait_for_request(request_id IN number default NULL,
interval IN number default 60,
max_wait IN number default 0,
phase OUT NOCOPY varchar2,
status OUT NOCOPY varchar2,
dev_phase OUT NOCOPY varchar2,
dev_status OUT NOCOPY varchar2,
message OUT NOCOPY varchar2) return boolean;
The parameters are:
REQUEST_ID: Request ID of the request to wait on. The default is NULL.
INTERVAL: Number of seconds to wait between checks. The default is 60 seconds.
MAX_WAIT: Maximum number of seconds to wait for the request completion. The default is 00 seconds.
PHASE: User-friendly Request phase.
STATUS: User-friendly Request status.
DEV_PHASE: Request phase as a constant string.
DEV_STATUS: Request status as a constant string.
MESSAGE: Request completion message.
There are few other useful apis too.
FND_CONCURRENT.SET_COMPLETION_STATUS: Called from a concurrent request to set its completion
status and message.
FND_CONCURRENT.GET_REQUEST_PRINT_OPTIONS: Returns the print options for a concurrent request.
FND_CONCURRENT.GET_SUB_REQUESTS: Get all sub-requests for a given request id. For each sub-
request it provides request_id, phase,status, developer phase , developer status and completion text.
FND_CONCURRENT.Cancel_Request: It cancels a given Concurrent Request.
Filed under AOL, APIs Tagged with API, Concurrent Processing, Concurrent Program, FND_CONCURRENT,
FND_CONCURRENT.Cancel_Request, FND_CONCURRENT.GET_REQUEST_PRINT_OPTIONS,
FND_CONCURRENT.GET_REQUEST_STATUS, FND_CONCURRENT.GET_SUB_REQUESTS,
FND_CONCURRENT.SET_COMPLETION_STATUS, FND_CONCURRENT.WAIT_FOR_REQUEST
3; 83 %00 % 32 966) 28 63+6%1 *631 % 4) -%0 ) 29 8) 1?
September 18, 2011 Leave a Comment
Well, we can run our concurrent programs from a Special Menu Item, and if you have a requirement of this sort, you can
use the steps below to use Form Personalization Builtin to achieve this task in couple of minutes.
1] First create the Special Menu Item wherever required through Form Personalization. Here I have added a Special
Menu Item called Assign Item to a Subinventory to the Form-INVIDITM. For that assign the Trigger Event as
WHEN-NEW-FORM-INSTANCE.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
10/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
2] In Actions Tab, choose the type as MENU and select the Menu Entry and give a Proper Menu Label.
3] Create the Concurrent Program which you want to attach to this custom menu item. Once created, assign the program
to the Request Group of the Responsibility. Also it is required to add the Lunch SRS Form Function (Requests: Submit)
to the main menu of that responsibility. If you dont do this step you may get Form Personalization error in later steps.
4] Create one more entry in Form Personalization window with Trigger Event as your custom menu item.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
11/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
5] Here select the Actions Type as Builtin and Builtin Type as Lunch SRS Form. In the program name give the name of
your concurrent program.
6] Validate and Apply Now
Once done, you will be able to view the custom menu item in the Form and when you will click it, it opens the SRS Form
with your concurrent program.
Filed under AOL Tagged with Concurrent Program, Form Personalization, Lunch SRS Form, Special Menu Item
9) 6= 83 *-2( 8, ) ) 59) 78 6394 3* % 32 966) 28 63+6%1
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
12/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
September 15, 2011 1 Comment
Many a times we need to find out the Request Group of a Concurrent Program. In such cases the below query will be a
useful one.
SELECT
RG.APPLICATION_ID "Request Group Application ID",
RG.REQUEST_GROUP_ID "Request Group - Group ID",
RG.REQUEST_GROUP_NAME,
RG.DESCRIPTION,
rgu.unit_application_id,
rgu.request_group_id "Request Group Unit - Group ID",
rgu.request_unit_id,cp.concurrent_program_id,
cp.concurrent_program_name,
cpt.user_concurrent_program_name,
DECODE(rgu.request_unit_type,'P','Program','S','Set',rgu.request_unit_type) "Unit Type"
FROM
fnd_request_groups rg,
fnd_request_group_units rgu,
fnd_concurrent_programs cp,
FND_CONCURRENT_PROGRAMS_TL CPT
WHERE rg.request_group_id = rgu.request_group_id
AND rgu.request_unit_id = cp.concurrent_program_id
AND cp.concurrent_program_id = cpt.concurrent_program_id
AND cpt.user_concurrent_program_name =<Your_Concurrent_Program_Name>;
Filed under AOL, Script Tagged with Concurrent Program, Oracle AOL, Oracle SysAdmin, Request Group, Request
Group of a Concurrent Program, Script
31 1 32 ) &9++-2+ 6%1 ) ; 36/ -2 6% 0) 440- %8-32
August 27, 2011 Leave a Comment
Debugging plays a very crucial rule when you develop something and in oracle application also it
is no different. Prior to Oracle E-Business Suite 11i, each module used in Oracle EBS had its own debugging
methodology. However, with the Common Debugging Framework initiative, Oracle has introduced a common set of
profile options and tables that can be used to debug any application across all technologies used in oracle apps..
Starting in 11.5.10, FND has incorporated a debugging technique to enable debug messages to get stored into the table
FND_LOG_MESSAGES. This method was introduced in 11.5.10 and it is available in subsequent releases.
There are few profile options to enable and retrieve the debug messages. Here are those profile options.
Profile Name Suggested value Comments
FND: Debug Log Enabled YES This turns the debugging feature on
FND: Debug Log Filename NULL Use when you want debug messages to get stored to a file
FND: Debug Log Level STATEMENT Following are options listed from least to most detailed debugging
: Unexpected, Error, Exception, Event, Procedure, Statement
FND: Debug Log Module % Indicate what modules to debug. You can use something like ar%
or even %arp_rounding% to limit modules debugged
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
13/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Sample setting to debug everything:
FND: Debug Log Enabled YES
FND: Debug Log Filename NULL
FND: Debug Log Level STATEMENT
FND: Debug Log Module %
Sample setting to debug ONLY Receivables:
FND: Debug Log Enabled YES
FND: Debug Log Filename NULL
FND: Debug Log Level STATEMENT
FND: Debug Log Module ar%
Sample Program:
Create or replace PACKAGE BODY xx_debug_pkg
AS
g_level_statement CONSTANT NUMBER := fnd_log.level_statement;
g_level_procedure CONSTANT NUMBER := fnd_log.level_procedure;
g_level_event CONSTANT NUMBER := fnd_log.level_event;
g_level_exception CONSTANT NUMBER := fnd_log.level_exception;
g_level_error CONSTANT NUMBER := fnd_log.level_error;
g_level_unexpected CONSTANT NUMBER := fnd_log.level_unexpected;
g_default_module CONSTANT VARCHAR2 (240) := 'Any_Package_Name';
g_level_log_disabled CONSTANT NUMBER := 99;
g_log_level NUMBER;
g_log_enabled BOOLEAN;
PROCEDURE DEBUG (
p_log_level IN NUMBER,
p_module IN VARCHAR2,
p_message IN VARCHAR2,
p_request_id IN NUMBER
)
IS
BEGIN
fnd_profile.put ('AFLOG_MODULE', g_default_module);
IF ((p_module IS NULL) OR (p_message IS NULL))
THEN
fnd_file.put_line
(fnd_file.LOG,
'Error in package:'
|| g_default_module
|| ' , module : debug :Parameters p_module and p_message cant be null'
);
ELSE
BEGIN
IF (NVL ((fnd_profile.VALUE ('AFLOG_ENABLED')), 'N') = 'Y')
THEN
IF (p_message IS NOT NULL AND p_log_level >= g_log_level)
THEN
fnd_log_repository.init;
fnd_log.STRING (p_log_level, g_default_module,
p_message);
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
14/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
fnd_file.put_line (fnd_file.LOG,
'Error in package: '
|| g_default_module
|| ', module : debug, at check point 1 :'
|| SQLERRM
);
END;
END IF;
EXCEPTION
WHEN OTHERS
THEN
fnd_file.put_line (fnd_file.LOG,
'Error in package:'
|| g_default_module
|| ' , module : debug, at check point 2 :'
|| SQLERRM
);
END DEBUG;
END xx_debug_pkg;
Debugging an API from SQL*Plus
You can enable FND logging for just one single PL/SQL API. Here is how we can do it from SQL*Plus:
1. From SQL*Plus, issue the following:
fnd_global.apps_initialize(fnd_user_id, fnd_resp_id, fnd_appl_id);
fnd_profile.put('AFLOG_ENABLED', 'Y');
fnd_profile.put('AFLOG_MODULE', '%');
fnd_profile.put('AFLOG_LEVEL','1'); -- Level 1 is Statement Level
fnd_log_repository.init;
2. Call the desired API.
3. Call step 1 again, but this time set AFLOG_ENABLED to N.
Since the debugging routine will start writing messages to the table, we want to know which messages pertain to our test. If
you are tracking the debug messages for a concurrent request, note down the Concurrent Request id. Otherwise, note
down current max value of log sequence retrieved as follows:
SELECT MAX(LOG_SEQUENCE)
FROM FND_LOG_MESSAGES;
If you are debugging a concurrent process:
SELECT log.module , log.message_text message
FROM fnd_log_messages log,
fnd_log_transaction_context con
WHERE con.transaction_id = < request_id >
AND con.transaction_type = 'REQUEST'
AND con.transaction_context_id = log.transaction_context_id
ORDER BY log.log_sequence;
Otherwise use this:
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
15/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
SELECT module, message_text
FROM fnd_log_messages
WHERE log_sequence > &max_log_from_step2
ORDER BY log_sequence;
Debugging OA pages
a. Enable the profile option: FND: Debug Log Enabled Set to Yes
b. Enable the profile option: FND: Debug Log Level Set to Statement level
c. Add the below piece of code in your OA page
boolean isLoggingEnabled = pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT);
if (isLoggingEnabled)
{
pageContext.writeDiagnostics(this, "your log statement", OAFwkConstants.STATEMENT);
}
To see log stmt on browser append below string to browser URL and click on enter
&aflog_level=statement
Reference MOS Notes:
How to enable and retrieve FND debug log messages [ID 433199.1]
How Can Trace and Debug Be Turned On For A Concurrent Request? [ID 759389.1]
How to Collect an FND Diagnostics Trace (aka FND: Debug) [ID 372209.1]
How to Obtain Debug Log in R12 [ID 787727.1]
Filed under AOL Tagged with Debug profiles in oracle apps, Debugging a concurrent program, Debugging in Oracle
Applications, Debugging OA pages, FND: Debug Log Enabled, FND: Debug Log Level, FND: Debug Log Module,
FND_LOG_MESSAGES, How to enable and retrieve FND debug log messages
8-0-8= 92 =396 32 966) 28 63+6%1 *631 ) : ) 0
August 18, 2011 Leave a Comment
CONCSUB is a utility to submit the concurrent request from operating system level to run concurrent program, without
having to log on to oracle applications.
The Syntax:
CONCSUB <APPS username>/<APPS password> \
<responsibility application short name> \
<responsibility name> \
<username> \
[WAIT=N|Y|<n seconds>] \
CONCURRENT \
<program application short name> \
<program name> \
[PROGRAM_NAME=<description>] \
[ORG_ID=<#>] - R12 onwards only
[REPEAT_TIME=<resubmission time>] \
[REPEAT_INTERVAL= <number>] \
[REPEAT_INTERVAL_UNIT=< resubmission unit>] \
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
16/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
[REPEAT_INTERVAL_TYPE=< resubmission type>] \
[REPEAT_END=<resubmission end date and time>] \
[START=<date>] \
[IMPLICIT=< type of concurrent request> \
[<parameter 1> ... <parameter n>]
The Parameters:
Parameter Name Required? Comment
<username/password> Yes The ORACLE username and password that provides access to
the data that the program uses.
<responsibility application short
name>
Yes The application short name of the responsibility whose
concurrent processing options to be used.
<responsibility name> Yes The name of the responsibility. If the name of the responsibility
includes spaces, enclose that name in double quotes.
<username> Yes The uppercase username of the application user whose
concurrent processing options to use.
<WAIT> No A flag that indicates whether to wait for the submitted request to
complete. If one leaves this parameter out, the default value of
N makes CONCSUB return to the operating system prompt
without waiting for the request to complete. Set WAIT=Y to
have CONCSUB check the request status every 60 seconds
and returns to the operating system prompt when the request is
completed.
<CONCURRENT> Yes A flag that separates the program specific parameters from the
operating system parameters.
<program application short
name>
Yes The application short name of the concurrent program.
<program name> Yes The uppercase name of the program. It must be the short name
that was enter in the Concurrent Programs window when
defining a concurrent program.
<PROGRAM_NAME> No A descriptive name for your program.
<ORG_ID> No Introduced in R12, set to org id required for the report to be
run with.
<REPEAT TIME> No The time of day to resubmit the request. The format for the time
is HH24:MI or HH24:MI:SS
<REPEAT_INTERVAL> No The interval between resubmission (a positive integer or real
number). Use this parameter along with
REPEAT_INTERVAL_UNIT to specify the time between
resubmissions.
<REPEAT_INTERVAL_UNIT>No The unit of time used for the interval between resubmissions.
The available units are MINUTES, HOURS, DAYS or
MONTHS. Use this parameter along with
REPEAT_INTERVAL to specify the time between
resubmissions.
<REPEAT_INTERVAL_TYPE>No Whether to time the resubmission interval from the requested
start time of the request or from its completion. Set this
parameter either to START or END. The default value is
START.
<REPEAT_END> No The date and time to stop resubmitting the concurrent request.
<START> No A start date and time for the program in this format:
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
17/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
DDMONRR HH24:MI:SS (as in 07 APR02 18:32:05 )
Because this date format includes a space, one must enclose the
date in double quotation marks and single quotation marks.
<IMPLICIT> No Whether to show this concurrent request on the View Requests
form. Specify NO, YES, ERROR or WARNING. The value
IMPLICIT=NO allows the request to appear on the View
Request form. The default value is NO.
<REPEAT_DAYS> No The number of days after which to repeat the concurrent
request, calculated from the last requested start date.
<parameter 1> <parameter
n>
No The program specific parameters. If a parameter includes
spaces, enclose that parameter in double quotes, then in single
quotes. If a parameter contains a double quotation mark as part
of the argument, precede that mark with a backslash [\].
Here is an example of the command to run CONCSUB:
$ CONCSUB APPS/APPS \
SYSADMIN \
System Administrator \
SYSADMIN \
WAIT=N \
CONCURRENT \
FND \
FNDFMRTC \
PROGRAM_NAME=Register Custom Tables Weekly \
REPEAT_INTERVAL=7 \
REPEAT_INTERVAL_UNIT=DAYS \
REPEAT_INTERVAL_TYPE=START \
START='"08 JUN96 23:55:00 "'
CGL
APPLSYS
ALL
CGL
Notes:
] For parameters that follow the CONCURRENT parameter and include spaces, enclose the parameter argument in
double quotes, then again in single quotes. Oracle Application Object Library requires this syntax because it parses the
argument string twice.
2] The above example uses the UNIX line continuation character \, not all operating systems support the use of this
character. If the line continuation character is not supported then the CONCSUB command should be submitted as one
continuous line.
3] COCNSUB is also used to shutdown the concurrent managers, however to start the concurrent manager you have to
use startmgr utility.
CONCSUB apps/apps SYSADMIN System Administrator SYSADMIN WAIT=N CONCURRENT FND
SHUTDOWN
CONCSUB apps/apps SYSADMIN System Administrator SYSADMIN WAIT=N CONCURRENT FND ABORT
4] The CONCSUB executable is located at $FND_TOP/bin/CONCSUB.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
18/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Filed under AOL, Unix Tagged with CONCSUB Utility, How to run Concurrent Program from UNIX, Unix
361 ) 6732%0->%8-32 %00 % 92 8-32 2( ) 8962 %09) 3 6) ) 2?
August 6, 2011 2 Comments
In from personalization it is possible to call a database function that retrieves values based on other data entered on the
screen by the user. The function then returns these values to a field on the screen. We can use a SELECT statement to call
the function, put the data entered by user in some fields as required parameters to the function and finally assign the value
returned by the function to a field in the form.
Before doing the exercise, please note the below points:
1] Every property that takes a string can either be processed literally or evaluated at runtime.
2] If you type a string in that does not start with =, then the exact value you type in will be used at runtime.
] If the string you type starts with =, then the text immediately after that character will be evaluated at runtime. This
allows you to write complex logic that can include references such as:
SQL operators, such as ||, TO_CHAR, DECODE, and NVL
Bind variables (:block.field), including: system: global and: parameter values. Use the Add Item button to assist
with item names.
Calls to server-side functions that do not have OUT parameters.
4] To use SELECT statement, you must follow these rules:
The text must start with =SELECT
The column being selected must evaluate to a CHAR, with a length no longer than 2000 bytes.
Your SELECT statement should only return one row, but if more than one is returned only the value of the first row
will be used.
Here is a simple example using a function in the database that queries values, then a personalization that sets the value
queried. This example is defined in the miscellaneous transactions form (INVTTMTX.fmb) and passes the Project
Information (Project Number, Task Number, Expenditure Type and Expenditure Org) to the function.
=select xx_getaccount_pkg.main(''||${item.MTL_TRX_LINE.ITEM.value}||'',
''||${item.MTL_TRX_LINE.SOURCE_PROJECT_NUMBER.value}||'',
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
19/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
''||${item.MTL_TRX_LINE.SOURCE_TASK_NUMBER.value}||'',
''||${item.MTL_TRX_LINE.EXPENDITURE_TYPE.value}||'',
''||${item.MTL_TRX_LINE.EXPENDITURE_ORG.value}||'') from dual
Note that the variable in this case is written as ${item.MTL_TRX_LINE.ITEM.value}. The text
MTL_TRX_LINE.ITEM. is the Block and Field where the item number is written. The syntax around the block and
field name ensures that the callout is made to replace the value of the item before passing the text to the function. You can
use similar naming for your own fields finding the name of the Block and Field using Help > Diagnostics > Examine. Also
dont put semicolon (;) after the statement.
Open the form that you want to personalize, then choose Help > Diagnostics > Custom Code > Personalie. In this
case, the miscellaneous transactions form is opened.
Enter the main information about when this personalization will be active.
Use the Validate button to test if the syntax of your string is valid. If the evaluation fails, the processing engine will return
an ORA error as if the string had been part of a SQL expression. Otherwise, it will display the text exactly as it would
appear at runtime in the current context.
Enter the action information detailing what the personalization will do. Here select the Property Name as VALUE and
then put the above sql statement.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
20/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Save the changes and test the personalization.
In this case, the Project Information (Project Number, Task Number, Expenditure Type and Expenditure Org) is passed
from the screen to the database function. The function then derives the GL Account from the above parameters. The value
is then replaced for the Account field on the screen.
Filed under AOL Tagged with database functions in form personalization, Form Personalization, SELECT statement in
Form Personalization
3: -2+ 361 ) 6732%0->%8-327 ) 8; ) ) 2 278%2 ) 7
August 6, 2011 Leave a Comment
Once you create and test personalizations in your test instance, you can move them to production instances.
Personalizations can be extracted by the loader on a per-function basis or per-form basis (that is, each loader file will
contain all of the personalizations for a single function or form, respectively). Note that upon uploading, all prior
personalizations for that function are first deleted, and then the contents of the loader file are inserted.
The loader syntax is as follows:
To download rules for a particular function:
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
21/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
FNDLOAD / 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct FND_FORM_CUSTOM_RULES
function_name=
Note: this style is not recommended, as the personalizations that affect a particular function can now be a mix of
function- and form-level rules.
To download rules for a particular form:
FNDLOAD/ 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lctFND_FORM_CUSTOM_RULES
form_name=
To download all personalizations (all forms and functions):
FNDLOAD / 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct FND_FORM_CUSTOM_RULES
Upload:
FNDLOAD / 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct
Filed under AOL Tagged with affrmcus.lct, FNDLOAD, FNDLOAD for Form Personalization,
FND_FORM_CUSTOM_RULES, Form Personalization, Moving Form Personalizations between Instances
0) <*-) 0( 7 -2 6% 0) 2: ) 2836=
July 16, 2011 1 Comment
Oracle Inventory provides the following flexfields:
1] Account Aliases
Flexfield Code: MDSP
Table: MTL_GENERIC_DISPOSITIONS
Unique ID Column: DISPOSITION_ID
Comment: This key flexfield supports only one structure.
2] Item Catalogs
Flexfield Code: MICG
Table: MTL_ITEM_CATALOG_GROUPS
Unique ID Column: ITEM_CATALOG_GROUP_ID
Comment: This key flexfield supports only one structure.
3] Item Categories
Flexfield Code: MCAT
Table: MTL_CATEGORIES
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
22/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Unique ID Column: CATEGORY_ID
Comment: You must design and configure your Item Categories Flexfield before you can start defining items since all items
must be assigned to categories. You can define multiple structures for your Item Categories Flexfield, each structure
corresponding to a different category grouping scheme. You can then associate these structures with the categories and
category sets you define.
4] Sales Orders
Flexfield Code: MKTS
Table: MTL_SALES_ORDERS
Unique ID Column: SALES_ORDER_ID
Comment: The Sales Order Flexfield is a key flexfield used by Oracle Inventory to uniquely identify sales order
transactions Oracle Order Entry interfaces to Oracle Inventory. Your Sales Order Flexfield should be defined as Order
Number, Order Type, and Order Source. This combination guarantees each transaction to Inventory is unique. You must
define this flexfield before placing demand or making reservations in Oracle Order Entry. You must set up the OE: Source
Code profile option to determine the source code you will use in for the third segment of this flexfield to guarantee that
each transaction is unique. (Oracle Inventory defaults the value of the OE: Source Code profile option to ORDER
ENTRY.)
5] Stock Locators
Flexfield Code: MTLL
Table: MTL_ITEM_LOCATIONS
Unique ID Column: INVENTORY_LOCATION_ID
Comment: You can use the Stock Locators Flexfield to capture more information about stock locators in inventory. If you
do not have Oracle Inventory installed, or none of your items have locator control, it is not necessary to set up this
flexfield. If you keep track of specific locators such as aisle, row, bin indicators for your items, you need to configure your
Stock Locators Flexfield and implement locator control in your organization. This key flexfield supports only one
structure.
6] Sstem Items
Flexfield Code: MSTK
Table: MTL_SYSTEM_ITEMS
Unique ID Column: INVENTORY_ITEM_ID
Comment: You can use the System Items Flexfield (also called the Item Flexfield) for recording and reporting your item
information. You must design and configure your Item Flexfield before you can start defining items. All Oracle Applications
products that reference items share the Item Flexfield and support multiple-segment implementations. However, this
flexfield supports only one structure. You must set up your OE: Item Flexfield profile option to specify the Item
Flexfield structure that you will use for your Oracle applications. Users can also set up the OE: Item Flexfield Entry
Method profile option to specify your preferred method of entry for this flexfield.
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
23/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Filed under AOL, Oracle Inventory Tagged with key flexfields, KFF, KFF in Oracle Inventory
Older posts
Blog Stats
215,682 visits since May 2010
Live On!
Categories
AOL (39)
APIs (11)
Apps Tables (8)
Architecture (9)
Discoverer (8)
Forms (14)
General Ledger (5)
Interface (8)
Java (1)
Life (7)
OA Framework (9)
Oracle Inventory (8)
Oracle Projects (8)
Oracle Workflow (3)
Payables (13)
Photography (18)
Random Post (10)
Receivables (10)
Reports (9)
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
24/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
Script (17)
Short Story (11)
Simply Oracle (4)
SQL*Loader (4)
SQL-PL/SQL (17)
Technology (2)
Travel (6)
Unix (2)
Xml Publisher (4)
Unique Visitors
Email Subscription
Enter your email address to subscribe to this blog and receive notifications of new posts by email.
Join 92 other followers
Sign me p!
Archives
February 2012 (4)
January 2012 (2)
December 2011 (4)
November 2011 (1)
October 2011 (2)
September 2011 (10)
August 2011 (10)
July 2011 (14)
June 2011 (4)
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
25/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
May 2011 (17)
April 2011 (11)
March 2011 (6)
February 2011 (3)
January 2011 (7)
December 2010 (10)
November 2010 (10)
October 2010 (7)
September 2010 (20)
August 2010 (23)
July 2010 (26)
June 2010 (11)
May 2010 (1)
Recent Comments
Dibyajyoti Koch on Steps to Create Report in Orac
Shobha on Steps to Create Report in Orac
Muzafar on My First Hello World Page in O
sudhakar on SRW Package in Oracle Rep
Query to find Projec on Query to find Project Manager
Dibyajyoti Koch on Alerts in Oracle Applicat
Dibyajyoti Koch on Registering SQL*Loader as a
Dibyajyoti Koch on Build simple search page in OA
Useful Sites
Oracle Documentation
Oracle IR
Oracle Metalink
Blogroll
In Depth Apps
Know Oracle
Share Oracle Apps
Steven Chan
Suresh Vaishya
Tanel Poder
Tom Kyte
Meta
Register
Log in
Entries RSS
Comments RSS
WordPress.com
3/4/12 AOL Dibyajyoti Koch:A Blog on Oracle Application
26/26 imdjkoch.wordpress.com/category/oracle/oracle-apps/aol/
My Recent Posts
Playing with Dates in Oracle!
Understanding the Workflow Definition (Set up) Tables
API to add Classification to an Oracle Project
Query to find Project Manager Info of an Oracle Project
Few Queries for Oracle Projects
Happy New Year & 2011 in blogging!
A Visit to Aga Khan Palace, Pune
Max number in a Varchar column!
Top Posts Today
Triggers in Oracle Forms
Home
Build a Create Page in OAF!
Summary column vs. Formula Column vs. Placeholder Column
Overview of Procure to Pay Cycle in Oracle Apps
HZ tables in Oracle Receivables
Various Canvas Types in Oracle Form
AP invoice interface
Category Cloud
AOL APIs Apps Tables Architecture Discoverer Forms General Ledger
Interface Java Life OA Framework Oracle Inventory Oracle Projects Oracle Workflow
Payables Photography Random Post Receivables Reports Script Short
Story Simply Oracle SQL*Loader SQL-PL/SQL Technology Travel Unix Xml Publisher
Blog at WordPress.com.
Theme: Enterprise by StudioPress. Fonts on this blog.

Вам также может понравиться