Mar 29, 2005

List all request launched via a request set

This query shows all request related to a master request with timing and dependecies.

select
level,
status_code,
(
select nvl( description, concurrent_program_name)
from fnd_concurrent_programs p
where p.concurrent_program_id = r.concurrent_program_id
and p.application_id = r.program_application_id
) prog,
trunc( ( actual_completion_date - actual_start_date) * 24 * 60, 2) minuten,
request_id,
argument_text,
priority
from fnd_concurrent_requests r
where 1 = 1
start with r.request_id = :p_top_request_id
connect by prior request_id = parent_request_id
order siblings by request_id;

Feb 22, 2005

See more concurrent output.

It is possible to see someone other's concurrent output, when you are linked to the same responsibility the user submitted the concurrent.

You do that by setting the profile option Concurrent:Report Access Level to Responsibility instead of the default or implicit value User.

This feature can become very handy for operational people to share each others output.

Feb 21, 2005

the organizational payment methods api

The update api for organizational payment methods (pay_org_payment_method_api / update_org_payment_method) shows some unpredictable effects.

In order to overcome that, i had
  • to pass a null value for the p_sets_of_book_id, instead of the default value.
  • to pass a value for a random pmeth_information column, instead of defaulting them all (and leave them out of the api call).

Dec 14, 2004

How to access concurrent output via a browser, outside apps?

The example included returns an url, which will give you the log file of request 194790. Oracle apps manages this via the fndwrr executable. The temp_id is an encrypted number, generated by the apps software.


declare
l_request_id number := 194790;
l_two_task varchar2(256);
l_gwyuid varchar2(256);
l_url varchar2(1024);
begin
select profile_option_value
into l_gwyuid
from fnd_profile_options o, fnd_profile_option_values ov
where profile_option_name = 'GWYUID'
and o.application_id = ov.application_id
and o.profile_option_id = ov.profile_option_id;
--
select profile_option_value
into l_two_task
from fnd_profile_options o, fnd_profile_option_values ov
where profile_option_name = 'TWO_TASK'
and o.application_id = ov.application_id
and o.profile_option_id = ov.profile_option_id;
--
l_url := fnd_webfile.get_url
(
file_type => fnd_webfile.request_log,
id => l_request_id,
gwyuid => l_gwyuid,
two_task => l_two_task,
expire_time => 100 -- minutes, security!.
);
dbms_output.put_line( l_url);
end;


Nov 8, 2004

Fast Formula Wrappers

It was only when we ran into the APP-FF-33186 error (kindly inviting us to regenerate the wrapper package) that I realized that the compiler technology behind fast formulas was changed slightly.

In order to minimize dynamic sql calls, oracle generates for each fast formula package (FFP_) now also a wrapper package, starting with FFW.

This can be seen into the code behind the ff_exec package, from familypack H on.

I cannot come up with a good reason why this wrapper packages saw the light. Performance comes in my mind, or the ability to run fast formulas directly through sql?

Run the ffgenwrap.sql script to overcome the error messages, located in $FF_TOP/patch/115/sql.

Oct 15, 2004

Change the employee name format in Self Service

By default, the employee's name is shown as last name, first name. You can overrule that to the full name format by setting the profile option 'HR:Display Person Name' .

Oct 13, 2004

Saving the output of a concurrent request on your desktop.

Often Apps is configured that way that the output of a concurrent request is opened within your browser. You can save that file from the browser, but it is possible the browser changes the content of your file.

Some steps to change that behaviour.
  1. Navigate via System Administrator, Install to the Viewer Options screen.
  2. Add an additional entry for TEXT, and associate a non existing mime type to it.
  3. Change the profile option for 'Viewer Application for Text' for your user or responibility to the newly created option. From now on, all the concurrent programs with TEXT as output format for you or all users of the responsibility, will see the impact of your changes.
  4. Open the output of a request of a TEXT concurrent program.
  5. Since no mime type is associated with this extention, Windows asks you to save the file, or to open it with a specific desktop application.

Aug 25, 2004

The employee API fills in the background also the CRM parties table, and as a consequence generates also a lot of workflow business events.

When you do NOT use CRM, you can stop these side-actions of the employee API by setting the profile option "HZ: Execute API Callouts" to No (defaulted on Yes)

Aug 11, 2004

this query gives you all the Tier I loclaizations/legislations supported by Oracle core dev team:

select
nvl( territory_short_name, 'ZZ International') legislation,
(
Select 'Y'
from hr_legislation_installations li2
where li2.application_short_name = 'PAY'
and li2.legislation_code = li.legislation_code
) payroll
from hr_legislation_installations li, fnd_territories_tl t
where application_short_name = 'PER'
and legislation_code = territory_code (+)
and language (+)= 'US'
order by 2, 1

Jul 16, 2004

To enable full scale concurrency for inserts and updates on tables, one has to change the settings of initrans. In previous versions of Oracle this was only possible by recreating the table. In 9iR2 this can be done dynamically. Included an example:

alter table hr.hr_comments initrans 12
 
 

Jun 23, 2004

To find all components and version of the pro*C payroll executable (PYUGEN), run the following command on your unix flavor from the $PAY_TOP/bin directory:

strings -a PYUGEN | grep '$Header'

Jun 16, 2004

The seeded Retronotification Report (both normal and advanced) end up with a REP-1212 report error. The seeded print style is not wide enough.

Changing the style to US Landwide overcomes this. Note that you cannot update that field through forms, even if you copy that concurrent program.

By the way, the concurrent executes the Pro*C payroll PYUGEN, which starts the Oracle Report PAYRPRNP.rdf.
What are the database items used by a particular fast formula?

Query the ff_fdi_usages_f table to answer that question.

May 28, 2004

To start a concurrent program via the Self Service interface, add the function 'Schedule Requests' (FNDCPSRSSSWA) to your menu.

This function can be added in a pure Self Service menu, but also in a forms menu.

This function can be used as a template to start specific concurrent programs, by adding the parameters 'programApplName' and 'programName' to the html call.

May 26, 2004

Run balances are a new implemention of balance value retrieval, optimized for performance. The old style implementation is also known as run result balances.

To check if your legislation uses the run balances architecture, check the pay_legislation_rules table for the keys 'SAVE_ASG_RUN_BAL' and 'SAVE_RUN_BAL'.

May 25, 2004

Update recurring and reversal are not compatible. The reversal process inverses only run results, and does not modify the element entries (values, and the column updating_action_id).

A very old enhancement request exists on metalink...
Appraisals within the manager self service model work fine. But now I had to give the HR department read-only access to all published appraisals, excluding the appraisals of HR people.

This can be done through the creation of a security profile, that shows all employees, except the HR emps.

Next, create a new responsibility, based on the manager self service, that is linked to the security profile above. Set the profile option HR_DISPLAY_PERSON_SEARCH to Yes for the responsibility.

As such, Hr people can enter the application with the responsibility above, and they have now the possibility to search for people (and to create an individual people list) within their security profile. Once they found the employee needed, they can view the published appraisals.

May 24, 2004

The concurrent manager is working fine now. I had to recreate the network 8.0.6 environment (make -f ins_network.mk install), since the lsnrctl executable (amongst others) did not exist.

This recreation of executables gave a terrible list of link errors (undefined reference to `__ctype_b'). After a long search, I found out (www.puschitz.com) that I had to downgrade the glibc libraries to glibc-2.3.2-5.i686.rpm. Once this was done, the make finished well, and up was the concurrent manager.

May 19, 2004

I really need to control the execution order of concurrent requests. Incompatibility rules work fine, but I need further control. This could be realized through the priority of the request.

This priority can be set through the profile option "Concurrent: Request Priority" (system name: CONC_PRIORITY).

Programmatically, you can set this profile option value via a fnd_profile.put call.

May 17, 2004

Self Service Version 4 has still the old style appraisals (html generated by plsql). The good thing about it is that it is still very straightforward to tweek the output a little. A few lines of plsql code visualized also the people group in the appraisal html page.