Retail order system / orders-browse
orders-browse
Execute the query, decline to save the PRE-FORM record, browse the orders and their lines.
Unmapped values are recorded on the original but have no counterpart the mapping names in the migrated app, so they are listed, not compared, and are not defects. Here: alert titles (2); the Forms record indicator ("Record: 1/2" in the status bar) (7); ORDER_ITEMS.ORDER_ID_FK, a Forms item with no field in the migrated screen (35); the list of open Forms windows (7).
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 ORDERS | ||
| 1 | execute query | Click Toolbar.Execute Query | alert Do you want to save the changes you have made? |
| 2 | do not save | Answer the alert No | ORDERS.ORDER_ID[0] = 901, ORDER_ITEMS.ITEM_ID[0] = 901, ORDER_ITEMS.ITEM_ID[1] = 902 |
| 3 | last record | Click ORDERS.ITEM16 | ORDERS.ORDER_ID[0] = 902, ORDER_ITEMS.ITEM_ID[0] = |
| 4 | first record | Click ORDERS.ITEM15 | ORDERS.ORDER_ID[0] = 901, ORDER_ITEMS.ITEM_ID[0] = 901 |
| 5 | next | Click ORDERS.NEXT_BTN | ORDERS.ORDER_ID[0] = 902 |
| 6 | previous | Click ORDERS.PRE_BTN | ORDERS.ORDER_ID[0] = 901 |
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 ORDERS
Step 1: execute query
Step 2: do not save
Step 3: last record
Step 4: first record
Step 5: next
Step 6: previous
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 ORDERS | ORDERS.CUSTOMER_ID[0] | ORDERS.ORDER_ID[0] = 16 | ||||
| 1 | execute query | Click Toolbar.Execute Query | FWindow/PushButton:Yes | Press Tab to move between choices, Return to select. | Do you want to save the changes you have made? | pass | |
| 2 | do not save | Answer the alert No | ORDERS.CUSTOMER_ID[0] | ORDERS.CUSTOMER_ID[0] = 1ORDERS.DISCOUNT[0] = 0ORDERS.EMPLOYEE_ID[0] = 1ORDERS.FINAL_AMOUNT[0] = 165ORDERS.ORDER_DATA[0] = 03-OCT-2026ORDERS.ORDER_ID[0] = 901ORDERS.ORDER_TYPE[0] = TakeawayORDERS.STATUES[0] = DeliveredORDERS.TABLE_NUMBER[0] = 3ORDERS.TOTAL_AMOUNT[0] = 165ORDER_ITEMS.ITEM_ID[0] = 901ORDER_ITEMS.ITEM_ID[1] = 902ORDER_ITEMS.ORDER_ID_FK[0] = 901ORDER_ITEMS.ORDER_ID_FK[1] = 901ORDER_ITEMS.PRODUCT_ID_FK[0] = 1ORDER_ITEMS.PRODUCT_ID_FK[1] = 1ORDER_ITEMS.QUANTITY[0] = 2ORDER_ITEMS.QUANTITY[1] = 1ORDER_ITEMS.TOTAL_PRICE[0] = 110ORDER_ITEMS.TOTAL_PRICE[1] = 55ORDER_ITEMS.UNIT_PRICE[0] = 55ORDER_ITEMS.UNIT_PRICE[1] = 55 | Customer Id1 | pass | |
| 3 | last record | Click ORDERS.ITEM16 | ORDERS.CUSTOMER_ID[0] | ORDERS.ORDER_DATA[0] = 04-OCT-2026ORDERS.ORDER_ID[0] = 902ORDERS.ORDER_TYPE[0] = DeliveryORDERS.STATUES[0] = ReadyORDERS.TABLE_NUMBER[0] = 7ORDER_ITEMS.ORDER_ID_FK[0] = 902 | Customer Id1 | pass | |
| 4 | first record | Click ORDERS.ITEM15 | ORDERS.CUSTOMER_ID[0] | ORDERS.DISCOUNT[0] = 0ORDERS.FINAL_AMOUNT[0] = 165ORDERS.ORDER_DATA[0] = 03-OCT-2026ORDERS.ORDER_ID[0] = 901ORDERS.ORDER_TYPE[0] = TakeawayORDERS.STATUES[0] = DeliveredORDERS.TABLE_NUMBER[0] = 3ORDERS.TOTAL_AMOUNT[0] = 165ORDER_ITEMS.ITEM_ID[0] = 901ORDER_ITEMS.ITEM_ID[1] = 902ORDER_ITEMS.ORDER_ID_FK[0] = 901ORDER_ITEMS.ORDER_ID_FK[1] = 901ORDER_ITEMS.PRODUCT_ID_FK[0] = 1ORDER_ITEMS.PRODUCT_ID_FK[1] = 1ORDER_ITEMS.QUANTITY[0] = 2ORDER_ITEMS.QUANTITY[1] = 1ORDER_ITEMS.TOTAL_PRICE[0] = 110ORDER_ITEMS.TOTAL_PRICE[1] = 55ORDER_ITEMS.UNIT_PRICE[0] = 55ORDER_ITEMS.UNIT_PRICE[1] = 55 | Customer Id1 | pass | |
| 5 | next | Click ORDERS.NEXT_BTN | ORDERS.CUSTOMER_ID[0] | ORDERS.ORDER_DATA[0] = 04-OCT-2026ORDERS.ORDER_ID[0] = 902ORDERS.ORDER_TYPE[0] = DeliveryORDERS.STATUES[0] = ReadyORDERS.TABLE_NUMBER[0] = 7ORDER_ITEMS.ORDER_ID_FK[0] = 902 | Customer Id1 | pass | |
| 6 | previous | Click ORDERS.PRE_BTN | ORDERS.CUSTOMER_ID[0] | ORDERS.DISCOUNT[0] = 0ORDERS.FINAL_AMOUNT[0] = 165ORDERS.ORDER_DATA[0] = 03-OCT-2026ORDERS.ORDER_ID[0] = 901ORDERS.ORDER_TYPE[0] = TakeawayORDERS.STATUES[0] = DeliveredORDERS.TABLE_NUMBER[0] = 3ORDERS.TOTAL_AMOUNT[0] = 165ORDER_ITEMS.ITEM_ID[0] = 901ORDER_ITEMS.ITEM_ID[1] = 902ORDER_ITEMS.ORDER_ID_FK[0] = 901ORDER_ITEMS.ORDER_ID_FK[1] = 901ORDER_ITEMS.PRODUCT_ID_FK[0] = 1ORDER_ITEMS.PRODUCT_ID_FK[1] = 1ORDER_ITEMS.QUANTITY[0] = 2ORDER_ITEMS.QUANTITY[1] = 1ORDER_ITEMS.TOTAL_PRICE[0] = 110ORDER_ITEMS.TOTAL_PRICE[1] = 55ORDER_ITEMS.UNIT_PRICE[0] = 55ORDER_ITEMS.UNIT_PRICE[1] = 55 | Customer Id1 | pass |
Database effects
sequence ORD_SEQ: next 16 -> 17, drawn [16]
Classified diff against the migrated app
Diff: orders-browse counts: match 118, tolerated 170, waived 0, defect 0, unmapped 51, harness 0 generated-id pairs (source -> target): ORD_SEQ#1 -> ORD_SEQ#1 (draw order) waivers: W1 [proposed] ORDER_DATA saved as NULL: applied to 0 value(s) W2 [proposed] Order number consumed when the form opens: applied to 0 value(s) W3 [proposed] Line ITEM_ID typed by the user: applied to 0 value(s) W4 [proposed] Two modal alerts after saving: applied to 0 value(s) W5 [proposed] Key debug message on record navigation (single-table forms): applied to 0 value(s) W6 [proposed] Customer debug message in ORDERS: applied to 0 value(s) W7 [proposed] Placeholder alert on leaving Employees: applied to 0 value(s) W8 [proposed] Error message when the application starts: applied to 0 value(s) W9 [proposed] Keyboard hint of the Forms client while a question is open: applied to 0 value(s) W10 [proposed] An order added with Add cannot be saved: applied to 0 value(s) [tolerated] ui.values.ORDERS.DISCOUNT rule=money x3 [tolerated] ui.values.ORDERS.FINAL_AMOUNT rule=money x3 [tolerated] ui.values.ORDERS.ORDER_TYPE rule=text x2 [tolerated] ui.values.ORDERS.STATUES rule=text x2 [tolerated] ui.values.ORDERS.TOTAL_AMOUNT rule=money x3 [tolerated] ui.values.ORDER_ITEMS.ITEM_ID rule=blank_rows x29 [tolerated] ui.values.ORDER_ITEMS.PRODUCT_ID_FK rule=blank_rows x29 [tolerated] ui.values.ORDER_ITEMS.QUANTITY rule=blank_rows x29 [tolerated] ui.values.ORDER_ITEMS.TOTAL_PRICE rule=blank_rows x29 [tolerated] ui.values.ORDER_ITEMS.TOTAL_PRICE rule=money x6 [tolerated] ui.values.ORDER_ITEMS.UNIT_PRICE rule=blank_rows x29 [tolerated] ui.values.ORDER_ITEMS.UNIT_PRICE rule=money x6 [unmapped] ui.alert.title (browser dialogs have no title) x1 [unmapped] ui.record (no target counterpart) x7 [unmapped] ui.seen.alert.title (browser dialogs have no title) x1 [unmapped] ui.values.ORDER_ITEMS.ORDER_ID_FK (no target item) x35 [unmapped] ui.windows (no target counterpart) x7
Waivers
No waiver applies to this scenario: every compared value matches or is within the tolerance policy.













