Highlighted
Trusted Contributor.. Trusted Contributor..
Trusted Contributor..
599 views

Next issue with LR12.53 against Oracle Forms 12c

Jump to solution

OK, so my previous issue was resolved by recording against a Browser-invoked version of the app rather than a JNLP shortcut invoked one.

I now have faltered at the next step.

Login screen prepopulates User ID from Active Directory, but there are Password and Database fields to complete (Password is a text field, Database is a dropdown list).

I can set password fine, but I am having issues with selecting the Database entry in that dropdown.

I have tried the following commands, all without success-

/* Select Database */

 nca_lov_retrieve_items("CTRL_B_LOGIN_DATABASE_0", 1, 2); - failed with "Object class cannot perform this operation"
 nca_combo_select_item("CTRL_B_LOGIN_DATABASE_0", "XXXXXX"); - failed with same error as previous 
 nca_list_activate_item("CTRL_B_LOGIN_DATABASE_0", "XXXXXX"); - failed with "Item in list or menu not found" 
 nca_list_select_item("CTRL_B_LOGIN_DATABASE_0", "XXXXXX"); - failed with same error as previous
 nca_list_select_index_item("CTRL_B_LOGIN_DATABASE_0", 1); - passes the step but then fails when I click Connect as "Mandatory field Database not entered"

**Database selection ends here***

N.B. If I try changing index to either 0 or 2, the step fails with "Object position is out of range"
so this indicates that there is only one option in the dropdown, which ties in with manual usage, although it defaults to a blank entry unless you select the database by clicking on it.

It is not a timing thing, I have added Think Time and have also changed the Pragma Mode retries and interval settings without avail.

I have edited the Default.cfg file to include the usual suspects as well.

N.B. I tested an earlier incarnation of this application 7 years ago, using Oracle Web Apps protocol and I was able to select the database by tabbing to the field and setting the value.

For some reason, this version is failing.

Protocol is Oracle Web, LR12.53

Output window log does not show the DB name as value against the object.

0 Likes
1 Solution

Accepted Solutions
Highlighted
Frequent Contributor.
Frequent Contributor.

Resolved by following the steps in this KB article - https://softwaresupport.hp.com/group/softwaresupport/search-result/-/facetsearch/document/KM1010761

Need to cut the Webutil calls from the body of the script and create an array at the start of your script that contains these entries.

Then you need to add an additional 4th column to the array (in second position) and step through the script recording log to extract the required values.

I believe all this will be done automatically in LR 12.56 but I don't have access at present (no support contract in place at this stage).

 

 

View solution in original post

0 Likes
3 Replies
Highlighted
Trusted Contributor.. Trusted Contributor..
Trusted Contributor..

OK, digging deeper into this:

 I have found a page on the Microfocus forums that deals with the command I am trying to select the database -

https://admhelp.microfocus.com/lr/en/12.55/help/function_reference/Content/FuncRef/nca/etc/lrFuncRef_OR_nca_lst_seinit_Example.htm

 It mentions that, in the output window (log as you replay), you should see the options for the dropdown entity, e.g.

Example: The output window displays the list objects:
    Sub Message Properties: action=2 handlerClassId=0x0 handlerId=386
        property=327 type=0x1000 value=0
        property=328 type=0x4000 value="Request ID"
        property=327 type=0x7000 value=1
        property=328 type=0x4000 value="Name"
        property=327 type=0x7000 value=2
        property=328 type=0x4000 value="Requested Start Time"
showing that the Requested Start Time item is the third object.

 Now, when I look at the output window for our app, I get the following:

Action.c(132):    property=129 type=0x4000 value="CTRL_B_LOGIN_DATABASE_0"
Action.c(132):    property=329 type=0xE008 value=Message
Action.c(132):    Sub Message Properties: action=1  handlerClassId=0x107  handlerId=36
Action.c(132):                    property=327 type=0x1000 value=0
Action.c(132):                    property=328 type=0x4000 value=""
Action.c(132):                    property=327 type=0x7000 value=1
Action.c(132):                    property=328 type=0x4000 value=""
Action.c(132):                    property=327 type=0x7000 value=2
Action.c(132):                    property=328 type=0x4000 value=" "
Action.c(132):  CObjectMap::AddObject[36
]Action.c(132): NCA: CObjectMap::AddItem ["36"]: (036):"36"
Action.c(132): SetItemName for [036]: "CTRL_B_LOGIN_DATABASE_0"

 You can see that the entries for all the values are blank! I wonder if this is why I am getting the error upon replay stating that the Database has not been set?

This would also explain why, if I try and select the database by text value "XXXXXX" it fails saying that entry is not in the list.

 Any ideas how this could be resolved?

0 Likes
Highlighted
Frequent Contributor.
Frequent Contributor.

Resolved by following the steps in this KB article - https://softwaresupport.hp.com/group/softwaresupport/search-result/-/facetsearch/document/KM1010761

Need to cut the Webutil calls from the body of the script and create an array at the start of your script that contains these entries.

Then you need to add an additional 4th column to the array (in second position) and step through the script recording log to extract the required values.

I believe all this will be done automatically in LR 12.56 but I don't have access at present (no support contract in place at this stage).

 

 

View solution in original post

0 Likes
Highlighted
Trusted Contributor.. Trusted Contributor..
Trusted Contributor..

Oops - getting my (multiple) accounts mixed up!!

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.