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.

l_request_id number := 194790;
l_two_task varchar2(256);
l_gwyuid varchar2(256);
l_url varchar2(1024);
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);

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:

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 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 ( 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.
Next problem is that the apps listener is not up. adalsctl exits with status 127. The lsnrctl executable does not exists in the 8.0.6 home.

I have to make them again. I guess something will be wrong with the gnu C compiler version.
The motif libraries were missing. This became a blocking problem when I launched the forms at client side. Frm-92050 was the very message we've got when launching a form.

Look for the missing libraries for the forms server:
ldd f60webmx | grep 'not found'

=> not found

Installing the motif libraries from the RH9 distributie. Since this version was too high, I created a symbolic link from the higer libXm to the lower one.

May 3, 2004

Installing 11.5.9 on Red Hat 9. When starting the Apache server, the library could not be found. And he is really not on the system. Extracting compat-db-3.3.11-4.i386.rpm into a tmp directory, and copying that very library into /lib overcame the issue.

For more details:

Apr 20, 2004

This snippet to rollback multiple payroll actions. Handy in a test environment.

for r in (
Select payroll_action_id from pay_payroll_actions
order by 1 desc
p_payroll_action_id => r.payroll_action_id,
p_all_or_nothing => FALSE,
p_dml_mode => 'FULL'
end loop;

Apr 13, 2004

The API pay_balance_adjustment_api.create_adjustment is functionally the same as the Adjust Balance form. An element entry is created (creator type and entry type = B), non visible in the element entry screen. The creator id points to an assignment action. A payroll action (B) is created, with one assignment action, and one single run result.

Feb 5, 2004

Hrms FamilyPack G has been applied. From that moment on hrglobal is reporting problems on database items. Seems that there is now a new who-trigger on the ff_database_items table, but the code to decide whether to insert or to update the database item from the shadow tables uses therefore still the last_update_date. As such, every database_item is seen as a new one, so every time hrglobal tries to insert an extra row in ff_database_items, violating some constraints.

A quick fix in in the body of ff_data_dict resolved it. Now the tar.
The Formula functions (link between PlSql functions and Fast Formula) do now support output parameters. No idea since what release, but in 11 it was not working. This enhances the PlSql-FF integration significantly.

Jan 28, 2004

The output from hr_utility.set_location can be redirected to dbms_output. This has an upper limit of 1 Mb. Since the assignment api's generate tons of tracing ,the 1 Mb can not be enough.

In that case, you can redirect your tracing to Oracle trace files.

Hr_Utility.set_trace_options(UPPER( 'trace_dest:trace_file'));

Jan 16, 2004

We encountered some problems with the pre-payment process for third party payment methods.

By adding some trace code into the package HR_PRE_PAY, we could knock down the issue.

fnd_file.put_line( 1, 'your message');

The line above adds some lines to the log file of the concurrent request.

Jan 9, 2004

When you change or create a balance route, you have to recompile all fast formulas, since the route text is part of the fast formula package code.

Bulk compile of fast formulas: $FF_TOP/bin/FFXBCP apps/apps 0 Y %% %%

Jan 7, 2004

Oops, deleted data, and 2 hours later my report was not working anymore. And the dba was not in to restore the table.

Flashback queries saved me.

SELECT * FROM xxrs_pay_balance_redefinitions

Jan 5, 2004

The API for assignment extra information types requires that there is a line for your session in the Fnd_sessions table, since some of the queries rely on that datetrack information.