Student forms / form2-zip-lov
form2-zip-lov
Double-click the instructor's ZIP: WHEN-MOUSE-DOUBLECLICK runs DO_KEY('LIST_VALUES') and the Zip Codes LOV opens; Escape closes it without a choice. The item's LOV is then used through Edit > Display List to choose another zip, and the change is saved (PRE-UPDATE).
Three runs from a fresh database gave byte-identical diffs. Behaviour that looks odd in the migrated app but is the original's: faithful to the original and waivers. Files: scenario, golden record, target record, diff (JSON).
Scenario steps
Items are addressed by their Forms name (BLOCK.ITEM[row]), the same name in the
original and, through the mapping, in the migrated app.
| # | Step | Action | Checked on the original |
|---|---|---|---|
| 0 | Open form QAFE_FORM2 | ||
| 1 | double click zip | Step {"label": "double click zip", "double_click": "INSTRUCTOR.ZIP[0]"} | |
| 2 | close the lov | Press Escape | |
| 3 | choose a zip | List of values on INSTRUCTOR.ZIP[0], pick Zip = 02124 | |
| 4 | save | Click Toolbar.Save |
Screens, step by step
Left: the original Oracle Forms application, recorded on a virtual display. Right: the migrated application in headless Chromium. Screenshots are evidence only; the comparison works on the recorded values.
Step 0: open QAFE_FORM2
Step 1: double click zip
Step 2: close the lov
Step 3: choose a zip
Step 4: save
Golden record of the original
After each step: the focus, the displayed values that changed, the message line and any alert. The full record (every item of every step, windows, lists of values) is in the JSON file.
| # | Step | Action (by name) | Focus after | Displayed values that changed | Message line | Alert | Expect |
|---|---|---|---|---|---|---|---|
| 0 | Open form QAFE_FORM2 | INSTRUCTOR.FIRST_NAME[0] | INSTRUCTOR.FIRST_NAME[0] = FernandINSTRUCTOR.FIRST_NAME[1] = TomINSTRUCTOR.FIRST_NAME[2] = NinaINSTRUCTOR.FIRST_NAME[3] = GaryINSTRUCTOR.FIRST_NAME[4] = AnitaINSTRUCTOR.FIRST_NAME[5] = ToddINSTRUCTOR.FIRST_NAME[6] = MarilynINSTRUCTOR.FIRST_NAME[7] = CharlesINSTRUCTOR.FIRST_NAME[8] = RickINSTRUCTOR.FIRST_NAME[9] = JesseINSTRUCTOR.LAST_NAME[0] = HanksINSTRUCTOR.LAST_NAME[1] = WojickINSTRUCTOR.LAST_NAME[2] = SchorinINSTRUCTOR.LAST_NAME[3] = PertezINSTRUCTOR.LAST_NAME[4] = MorrisINSTRUCTOR.LAST_NAME[5] = SmytheINSTRUCTOR.LAST_NAME[6] = FrantzenINSTRUCTOR.LAST_NAME[7] = LowryINSTRUCTOR.LAST_NAME[8] = ChowINSTRUCTOR.LAST_NAME[9] = ThomassonINSTRUCTOR.PHONE[0] = 2125551212INSTRUCTOR.SALUTATION[0] = MrINSTRUCTOR.STREET_ADDRESS[0] = 100 East 87thINSTRUCTOR.ZIP[0] = 11510 | ||||
| 1 | double click zip | Step {"label": "double click zip", "double_click": "INSTRUCTOR.ZIP[0]"} | ZIP_LOV/ListView | Choices in list: 227 | |||
| 2 | close the lov | Press Escape | INSTRUCTOR.ZIP[0] | ||||
| 3 | choose a zip | List of values on INSTRUCTOR.ZIP[0], pick Zip = 02124 | INSTRUCTOR.ZIP[0] | INSTRUCTOR.ZIP[0] = 02124 | |||
| 4 | save | Click Toolbar.Save | INSTRUCTOR.ZIP[0] | FRM-40400: Transaction complete: 1 records applied and saved. |
Database effects
INSTRUCTOR updated: {"key": {"INSTRUCTOR_ID": 101}, "changed": {"MODIFIED_DATE": {"before": "2016-04-29T00:00:00", "after": "<date>"}, "ZIP": {"before": "11510", "after": "02124"}}}
Classified diff against the migrated app
Diff: form2-zip-lov counts: match 463, tolerated 1, waived 0, defect 0, unmapped 0, harness 0 generated-id pairs (source -> target): none waivers: S1 [proposed] Screen-reader announcement of the COURSE_NO item read as a message: applied to 0 value(s) [tolerated] ui.seen.lov.rows rule=unfetched_rows (121 of 227 source rows not fetched by the client) x1
Waivers
No waiver applies to this scenario: every compared value matches or is within the tolerance policy.









