FormsRefresh

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').

0defects
382values match
0tolerated by policy
0waived
0unmapped

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.

#StepActionChecked on the original
0Open form QAFE_FORM2
1new recordClick Toolbar.Insert Record
2Type INSTRUCTOR.FIRST_NAME[1] = Grace, INSTRUCTOR.LAST_NAME[1] = Hopper
3saveClick 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

Original (Oracle Forms 14.1.2), step 00-open
Original (Oracle Forms 14.1.2)
Migrated (.NET, PostgreSQL), step 00-open
Migrated (.NET, PostgreSQL)

Step 1: new record

Original (Oracle Forms 14.1.2), step 01-new-record
Original (Oracle Forms 14.1.2)
Migrated (.NET, PostgreSQL), step 01-new-record
Migrated (.NET, PostgreSQL)

Step 2: type

Original (Oracle Forms 14.1.2), step 02-type
Original (Oracle Forms 14.1.2)
Migrated (.NET, PostgreSQL), step 02-type
Migrated (.NET, PostgreSQL)

Step 3: save

Original (Oracle Forms 14.1.2), step 03-save
Original (Oracle Forms 14.1.2)
Migrated (.NET, PostgreSQL), step 03-save
Migrated (.NET, PostgreSQL)

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.

#StepAction (by name)Focus afterDisplayed values that changedMessage lineAlertExpect
0Open form QAFE_FORM2INSTRUCTOR.FIRST_NAME[0]INSTRUCTOR.FIRST_NAME[0] = Fernand
INSTRUCTOR.FIRST_NAME[1] = Tom
INSTRUCTOR.FIRST_NAME[2] = Nina
INSTRUCTOR.FIRST_NAME[3] = Gary
INSTRUCTOR.FIRST_NAME[4] = Anita
INSTRUCTOR.FIRST_NAME[5] = Todd
INSTRUCTOR.FIRST_NAME[6] = Marilyn
INSTRUCTOR.FIRST_NAME[7] = Charles
INSTRUCTOR.FIRST_NAME[8] = Rick
INSTRUCTOR.FIRST_NAME[9] = Jesse
INSTRUCTOR.LAST_NAME[0] = Hanks
INSTRUCTOR.LAST_NAME[1] = Wojick
INSTRUCTOR.LAST_NAME[2] = Schorin
INSTRUCTOR.LAST_NAME[3] = Pertez
INSTRUCTOR.LAST_NAME[4] = Morris
INSTRUCTOR.LAST_NAME[5] = Smythe
INSTRUCTOR.LAST_NAME[6] = Frantzen
INSTRUCTOR.LAST_NAME[7] = Lowry
INSTRUCTOR.LAST_NAME[8] = Chow
INSTRUCTOR.LAST_NAME[9] = Thomasson
INSTRUCTOR.PHONE[0] = 2125551212
INSTRUCTOR.SALUTATION[0] = Mr
INSTRUCTOR.STREET_ADDRESS[0] = 100 East 87th
INSTRUCTOR.ZIP[0] = 11510
1new recordClick Toolbar.Insert RecordINSTRUCTOR.FIRST_NAME[1]INSTRUCTOR.FIRST_NAME[2] = Tom
INSTRUCTOR.FIRST_NAME[3] = Nina
INSTRUCTOR.FIRST_NAME[4] = Gary
INSTRUCTOR.FIRST_NAME[5] = Anita
INSTRUCTOR.FIRST_NAME[6] = Todd
INSTRUCTOR.FIRST_NAME[7] = Marilyn
INSTRUCTOR.FIRST_NAME[8] = Charles
INSTRUCTOR.FIRST_NAME[9] = Rick
INSTRUCTOR.LAST_NAME[2] = Wojick
INSTRUCTOR.LAST_NAME[3] = Schorin
INSTRUCTOR.LAST_NAME[4] = Pertez
INSTRUCTOR.LAST_NAME[5] = Morris
INSTRUCTOR.LAST_NAME[6] = Smythe
INSTRUCTOR.LAST_NAME[7] = Frantzen
INSTRUCTOR.LAST_NAME[8] = Lowry
INSTRUCTOR.LAST_NAME[9] = Chow
2Type INSTRUCTOR.FIRST_NAME[1] = Grace, INSTRUCTOR.LAST_NAME[1] = HopperINSTRUCTOR.LAST_NAME[1]INSTRUCTOR.FIRST_NAME[1] = Grace
INSTRUCTOR.LAST_NAME[1] = Hopper
3saveClick Toolbar.SaveINSTRUCTOR.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.