Student forms / form2-instructor-insert
form2-instructor-insert
Insert an instructor: PRE-INSERT takes INSTRUCTOR_ID from INSTRUCTOR_ID_SEQ and sets the created and modified columns (SYSDATE, :GLOBAL.USER_ID = 'QAFE').
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 | new record | Click Toolbar.Insert Record | |
| 2 | Type INSTRUCTOR.FIRST_NAME[1] = Grace, INSTRUCTOR.LAST_NAME[1] = Hopper | ||
| 3 | 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: new record
Step 2: type
Step 3: 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 | new record | Click Toolbar.Insert Record | INSTRUCTOR.FIRST_NAME[1] | INSTRUCTOR.FIRST_NAME[2] = TomINSTRUCTOR.FIRST_NAME[3] = NinaINSTRUCTOR.FIRST_NAME[4] = GaryINSTRUCTOR.FIRST_NAME[5] = AnitaINSTRUCTOR.FIRST_NAME[6] = ToddINSTRUCTOR.FIRST_NAME[7] = MarilynINSTRUCTOR.FIRST_NAME[8] = CharlesINSTRUCTOR.FIRST_NAME[9] = RickINSTRUCTOR.LAST_NAME[2] = WojickINSTRUCTOR.LAST_NAME[3] = SchorinINSTRUCTOR.LAST_NAME[4] = PertezINSTRUCTOR.LAST_NAME[5] = MorrisINSTRUCTOR.LAST_NAME[6] = SmytheINSTRUCTOR.LAST_NAME[7] = FrantzenINSTRUCTOR.LAST_NAME[8] = LowryINSTRUCTOR.LAST_NAME[9] = Chow | |||
| 2 | Type INSTRUCTOR.FIRST_NAME[1] = Grace, INSTRUCTOR.LAST_NAME[1] = Hopper | INSTRUCTOR.LAST_NAME[1] | INSTRUCTOR.FIRST_NAME[1] = GraceINSTRUCTOR.LAST_NAME[1] = Hopper | ||||
| 3 | save | Click Toolbar.Save | INSTRUCTOR.LAST_NAME[1] | FRM-40400: Transaction complete: 1 records applied and saved. |
Database effects
INSTRUCTOR inserted: {"INSTRUCTOR_ID": 115, "SALUTATION": null, "FIRST_NAME": "Grace", "LAST_NAME": "Hopper", "STREET_ADDRESS": null, "ZIP": null, "PHONE": null, "CREATED_BY": "QAFE", "CREATED_DATE": "<date>", "MODIFIED_BY": "QAFE", "MODIFIED_DATE": "<date>"}
sequence INSTRUCTOR_ID_SEQ: next 115 -> 116, drawn [115]
generated: INSTRUCTOR.INSTRUCTOR_ID = 115 is INSTRUCTOR_ID_SEQ#1
Classified diff against the migrated app
Diff: form2-instructor-insert counts: match 382, tolerated 0, waived 0, defect 0, unmapped 0, harness 0 generated-id pairs (source -> target): INSTRUCTOR_ID_SEQ#1 -> INSTRUCTOR_ID_SEQ#1 waivers: S1 [proposed] Screen-reader announcement of the COURSE_NO item read as a message: applied to 0 value(s)
Waivers
No waiver applies to this scenario: every compared value matches or is within the tolerance policy.







