Oracle forms developer 10g, setting up initial values issues–a workaround

Update: 04.Feb.2014

Iudith from ittoolbox suggests, instead of WHEN-NEW-FORM-INSTANCE, PRE-FORM should be used for populating values to PARAMETER elements, thus when the focus is set, the initial values will be set for the columns.

The post will be open for more comments. Cheers!

rajesh

The main advantage of an initial value for a text column is the form status remains NEW, instead of CHANGED & entering the query mode by pressing the F11 key is initiated without throwing errors even if you have mandatory (Required:Yes) property set for one more more columns within the same block.

(Strictly limiting the solution towards custom development for Oracle E-Business Suite, using TEMPLATE.FMB & forms developer 10g)

When a custom module is loaded, 10g run time doesn’t populate values assigned to GLOBAL/PARAMETER variables for the first record. Iudith explains this is default nature of forms load. However, the consequent records are getting the initial values from the GLOBAL/PARAMETER elements.

This time we are providing a workaround solution towards this dreaded situation, which should make a developer’s life bit easier.

 

Do not assign “First Navigation Block”, instead keep it as <Null>

image

Open “WHEN-NEW-FORM-INSTANCE” and programmatically send the focus to your first block (in which text columns are assigned with GLOBAL/PARAMETER values as initial values)

image

Somehow, this method populates the initial values for text columns when the forms is initiated. We believe, such a navigation to the block enforces a WHEN-NEW-RECORD-INSTANCE indirectly and populates all the referred elements.

If you have a better explanation, please forward the same to us.

Hoping to hear from Oracle forms developer guys, we remain

for Windows7bugs

Rajesh

Oracle developer 10g, developer 6i default values for columns using :PARAMETER.name

We just came across a peculiar situation. Recently we had developed a new approach towards developing new applications for Oracle EBS instance.

We do the following

Develop the prototype using developer 6i forms (hacked and patched for Windows 7 & Windows 8). The only change we make with the developer 6i is changing the “coordinate system” property from points to “inches”

image

This approach gives us rapid development scenarios, as we don’t have to upload the form module to instance top and compile it and try it against the TEST instances.

All we are doing is, once the complete application is tested on developer 6i, a copy of the same opened with Developer 10g forms, and copying the objects following the following sequence

  1. Window( s )
  2. Canvases
  3. Blocks
  4. Procedures & functions
  5. Parameters (if any)

Once mapping the PARAMETERS with PROFILE values, the form is ready for APPS instance testing (99% of the times everything is already tested, so a failure is seldom experienced)

Now, coming to one actual issue we are still struggling with is, using the :PARAMETER.xyz, :PARAMETER.abc as initial values for block elements.

The hacked developer 6i does not populate the initial value from :PARAMETER.xyz or :PARAMETER.abc during run time. ie, the first record (record orientation: forms) will not show the already populated values for the columns, however, the very next record(a delete does it) starts showing the :PARAMETER.xyz, abc values being populated to columns wherever they are set as initial values!!!

Do you have solutions? Please let us know with the comment section

Update 19.11.2012

With developer forms 6i, we loaded the values to column through the WHEN-NEW-FORM-INSTANCE like following

:PARAMETER.ORGANIZATION_ID := FND_PROFILE.VALUE(‘org_id’);
:PARAMETER.ORG_ID := FND_PROFILE.VALUE(‘mfg_organization_id’);
:PARAMETER.USERNAME := FND_PROFILE.VALUE(‘username’);

then, explicitly assigned the values to block columns like

:BLOCK.COLUMN1 := :PARAMETER.ORGANIZATION_ID;

in addition to setting up the initial value for the columns using :PARAMETER.xyz

Looks like the stuff are in place now :)

With Developer 10g, this issue has much easier to fix. All we had to do was to change the case of coding like following:

:parameter.organization_id := fnd_profile.value(‘org_id’);
:parameter.org_id := fnd_profile.value(‘mfg_organization_id’);
:parameter.username := fnd_profile.value(‘username’);

To

:PARAMETER.ORGANIZATION_ID := FND_PROFILE.VALUE(‘org_id’);
:PARAMETER.ORG_ID := FND_PROFILE.VALUE(‘mfg_organization_id’);
:PARAMETER.USERNAME := FND_PROFILE.VALUE(‘username’);

and without any further hacks, the 10g forms started showing initial values.

If you experienced the same, have a solution, please provide us the same with the comment section

regards,

admin