FormsRefresh

Student forms / form2-student-no-first-name

form2-student-no-first-name

Empty a student's first name and save. The form has no check; the database trigger TRIGGER_STUDENT_BEFORE_UPDATE raises ORA-20101 and Forms reports that it could not update the record.

0defects
460values 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
1show studentsClick INSTRUCTOR.PUSH_BUTTON2
2Type STUDENT.FIRST_NAME[0] = x
3empty the first namePress BackSpace
4saveClick 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: show students

Original (Oracle Forms 14.1.2), step 01-show-students
Original (Oracle Forms 14.1.2)
Migrated (.NET, PostgreSQL), step 01-show-students
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: empty the first name

Original (Oracle Forms 14.1.2), step 03-empty-the-first-name
Original (Oracle Forms 14.1.2)
Migrated (.NET, PostgreSQL), step 03-empty-the-first-name
Migrated (.NET, PostgreSQL)

Step 4: save

Original (Oracle Forms 14.1.2), step 04-save
Original (Oracle Forms 14.1.2)
Migrated (.NET, PostgreSQL), step 04-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
1show studentsClick INSTRUCTOR.PUSH_BUTTON2STUDENT.FIRST_NAME[0]STUDENT.EMPLOYER[0] = Georval, Inc.
STUDENT.EMPLOYER[1] = Goddard Institute
STUDENT.EMPLOYER[2] = FBO, Inc.
STUDENT.EMPLOYER[3] = FBO, Inc.
STUDENT.EMPLOYER[4] = FBO, Inc.
STUDENT.EMPLOYER[5] = Handler,Danas Realty
STUDENT.EMPLOYER[6] = Handler,Danas Realty
STUDENT.EMPLOYER[7] = Handler,Danas Realty
STUDENT.EMPLOYER[8] = Hanlon & McHeffey
STUDENT.EMPLOYER[9] = Harold C.Hervon, PC
STUDENT.FIRST_NAME[0] = Yvonne
STUDENT.FIRST_NAME[1] = Sengita
STUDENT.FIRST_NAME[2] = Paul
STUDENT.FIRST_NAME[3] = Anna
STUDENT.FIRST_NAME[4] = Shirley
STUDENT.FIRST_NAME[5] = V.
STUDENT.FIRST_NAME[6] = Rafael A.
STUDENT.FIRST_NAME[7] = V.
STUDENT.FIRST_NAME[8] = Melvin
STUDENT.FIRST_NAME[9] = Vera
STUDENT.LAST_NAME[0] = Allende
STUDENT.LAST_NAME[1] = MacDonald, Jr.
STUDENT.LAST_NAME[2] = Braun
STUDENT.LAST_NAME[3] = Bathmanapan
STUDENT.LAST_NAME[4] = Leung
STUDENT.LAST_NAME[5] = Greenberg
STUDENT.LAST_NAME[6] = Torres
STUDENT.LAST_NAME[7] = Saliternan
STUDENT.LAST_NAME[8] = Martin
STUDENT.LAST_NAME[9] = Wetcel
STUDENT.PHONE[0] = 718-555-5555
STUDENT.PHONE[1] = 718-555-5555
STUDENT.PHONE[2] = 201-555-5555
STUDENT.PHONE[3] = 718-555-5555
STUDENT.PHONE[4] = 201-555-5555
STUDENT.PHONE[5] = 718-555-5555
STUDENT.PHONE[6] = 718-555-5555
STUDENT.PHONE[7] = 718-555-5555
STUDENT.PHONE[8] = 201-555-5555
STUDENT.PHONE[9] = 718-555-5555
STUDENT.STREET_ADDRESS[0] = 8020 Fort Ave. #A3
STUDENT.STREET_ADDRESS[1] = 144-35 32nd Ave
STUDENT.STREET_ADDRESS[2] = 224 40th St
STUDENT.STREET_ADDRESS[3] = 481 Van Buren St.#C1
STUDENT.STREET_ADDRESS[4] = 88 Sherman St.
STUDENT.STREET_ADDRESS[5] = 105-34 65th Ave. #6B
STUDENT.STREET_ADDRESS[6] = 142-20 Franklin Ave. #2Q
STUDENT.STREET_ADDRESS[7] = 105-34 65th Ave. #6B
STUDENT.STREET_ADDRESS[8] = 88 Sherman St.
STUDENT.STREET_ADDRESS[9] = 172-12 133rd Ave.
STUDENT.ZIP[0] = 11209
STUDENT.ZIP[1] = 11354
STUDENT.ZIP[2] = 07111
STUDENT.ZIP[3] = 11221
STUDENT.ZIP[4] = 07055
STUDENT.ZIP[5] = 11375
STUDENT.ZIP[6] = 11355
STUDENT.ZIP[7] = 11375
STUDENT.ZIP[8] = 07055
STUDENT.ZIP[9] = 11434
2Type STUDENT.FIRST_NAME[0] = xSTUDENT.FIRST_NAME[0]STUDENT.FIRST_NAME[0] = x
3empty the first namePress BackSpaceSTUDENT.FIRST_NAME[0]
4saveClick Toolbar.SaveSTUDENT.FIRST_NAME[0]FRM-40509: ORACLE error: unable to UPDATE record.

Database effects

None: the scenario changes no row and draws no sequence value.

Classified diff against the migrated app

Diff: form2-student-no-first-name
counts: match 460, 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.