Student forms / form2-student-update
form2-student-update
Change a student's employer in the Students window and save; the database trigger on STUDENT checks the first name on the update (ORA-20101 when it is empty; not here).
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 | show students | Click INSTRUCTOR.PUSH_BUTTON2 | |
| 2 | Type STUDENT.EMPLOYER[0] = FormsRefresh Labs | ||
| 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: show students
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 | show students | Click INSTRUCTOR.PUSH_BUTTON2 | STUDENT.FIRST_NAME[0] | STUDENT.EMPLOYER[0] = Georval, Inc.STUDENT.EMPLOYER[1] = Goddard InstituteSTUDENT.EMPLOYER[2] = FBO, Inc.STUDENT.EMPLOYER[3] = FBO, Inc.STUDENT.EMPLOYER[4] = FBO, Inc.STUDENT.EMPLOYER[5] = Handler,Danas RealtySTUDENT.EMPLOYER[6] = Handler,Danas RealtySTUDENT.EMPLOYER[7] = Handler,Danas RealtySTUDENT.EMPLOYER[8] = Hanlon & McHeffeySTUDENT.EMPLOYER[9] = Harold C.Hervon, PCSTUDENT.FIRST_NAME[0] = YvonneSTUDENT.FIRST_NAME[1] = SengitaSTUDENT.FIRST_NAME[2] = PaulSTUDENT.FIRST_NAME[3] = AnnaSTUDENT.FIRST_NAME[4] = ShirleySTUDENT.FIRST_NAME[5] = V.STUDENT.FIRST_NAME[6] = Rafael A.STUDENT.FIRST_NAME[7] = V.STUDENT.FIRST_NAME[8] = MelvinSTUDENT.FIRST_NAME[9] = VeraSTUDENT.LAST_NAME[0] = AllendeSTUDENT.LAST_NAME[1] = MacDonald, Jr.STUDENT.LAST_NAME[2] = BraunSTUDENT.LAST_NAME[3] = BathmanapanSTUDENT.LAST_NAME[4] = LeungSTUDENT.LAST_NAME[5] = GreenbergSTUDENT.LAST_NAME[6] = TorresSTUDENT.LAST_NAME[7] = SaliternanSTUDENT.LAST_NAME[8] = MartinSTUDENT.LAST_NAME[9] = WetcelSTUDENT.PHONE[0] = 718-555-5555STUDENT.PHONE[1] = 718-555-5555STUDENT.PHONE[2] = 201-555-5555STUDENT.PHONE[3] = 718-555-5555STUDENT.PHONE[4] = 201-555-5555STUDENT.PHONE[5] = 718-555-5555STUDENT.PHONE[6] = 718-555-5555STUDENT.PHONE[7] = 718-555-5555STUDENT.PHONE[8] = 201-555-5555STUDENT.PHONE[9] = 718-555-5555STUDENT.STREET_ADDRESS[0] = 8020 Fort Ave. #A3STUDENT.STREET_ADDRESS[1] = 144-35 32nd AveSTUDENT.STREET_ADDRESS[2] = 224 40th StSTUDENT.STREET_ADDRESS[3] = 481 Van Buren St.#C1STUDENT.STREET_ADDRESS[4] = 88 Sherman St.STUDENT.STREET_ADDRESS[5] = 105-34 65th Ave. #6BSTUDENT.STREET_ADDRESS[6] = 142-20 Franklin Ave. #2QSTUDENT.STREET_ADDRESS[7] = 105-34 65th Ave. #6BSTUDENT.STREET_ADDRESS[8] = 88 Sherman St.STUDENT.STREET_ADDRESS[9] = 172-12 133rd Ave.STUDENT.ZIP[0] = 11209STUDENT.ZIP[1] = 11354STUDENT.ZIP[2] = 07111STUDENT.ZIP[3] = 11221STUDENT.ZIP[4] = 07055STUDENT.ZIP[5] = 11375STUDENT.ZIP[6] = 11355STUDENT.ZIP[7] = 11375STUDENT.ZIP[8] = 07055STUDENT.ZIP[9] = 11434 | |||
| 2 | Type STUDENT.EMPLOYER[0] = FormsRefresh Labs | STUDENT.EMPLOYER[0] | STUDENT.EMPLOYER[0] = FormsRefresh Labs | ||||
| 3 | save | Click Toolbar.Save | STUDENT.EMPLOYER[0] | FRM-40400: Transaction complete: 1 records applied and saved. |
Database effects
STUDENT updated: {"key": {"STUDENT_ID": 385}, "changed": {"EMPLOYER": {"before": "Georval, Inc.", "after": "FormsRefresh Labs"}}}
Classified diff against the migrated app
Diff: form2-student-update counts: match 371, tolerated 0, 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)
Waivers
No waiver applies to this scenario: every compared value matches or is within the tolerance policy.







