Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.
Return to: Actor journeys
Actor journeys
In this document
Who is trying to achieve what, and which actions and handoffs lead to the outcome?
This view models the documented interactive journeys around customer maintenance, order entry, reporting, and stock management. The source describes menus, user inputs, confirmations, database operations, and resulting messages or outputs E0007. Actor names are inferred because the supplied material describes user interaction but does not identify a formal role or organizational owner E0007. The model preserves separate customer, order, report, and stock scopes rather than treating them as one lifecycle E0007.
The order journey is supported through customer selection, order and line-item entry, transactional insertion, and invoice generation E0007. Customer insertion, report interruption behavior, form availability, and configuration precedence retain unresolved limitations; published source evidence does not establish live runtime behavior E0008. No explicit human-to-human handoff is established in the supplied evidence.
Diagram
Preparing diagram…
View Mermaid diagram source
flowchart TD
n59868d97182d7f4370fe["Application operator (inferred)"]
nd229ebe1653a789ab7d3["Customer and order application (inferred)"]
nace47727003b393d8b57["Customer menu"]
n697563a276e75099d481["Add customer"]
n41598dcbfa5d270cf20e["Find customer"]
nc61282c1f5cc51c8a61b["Select current customer"]
neaf79db31b420f9f814a["Update customer"]
nefcea514e5e3fec77c93["Delete customer"]
n8ef1f3781fda791e7c4e["Customer record maintained"]
n7d902aa901c7c1f07d29["Order menu"]
n39891038fc5a12d12b37["Select order customer"]
nc8bb7ddd05fb33068f70["Enter order and line items"]
n2f798348901bc320fe03["Commit order transaction"]
nd34c344f5d72ccc24347["Order and invoice produced"]
n09b455d64a63dac11066["Reports menu"]
n6d548c63b3ab5801e93c["Select report and destination"]
n6fb972875c510e1dd8e6["Produce labels or accounts receivable"]
ndfd727567e927069919b["Report output produced"]
n2f3ffdc9047651e2abcc["Stock menu"]
n577f73e07bcd30ab6932["Attempt stock maintenance"]
n269996bf52862d09f133["Stock maintenance unavailable"]
n59868d97182d7f4370fe -->|"Begin customer maintenance"| nace47727003b393d8b57
nace47727003b393d8b57 -->|"Choose customer operation"| n697563a276e75099d481
n697563a276e75099d481 -->|"Complete customer entry"| n8ef1f3781fda791e7c4e
nace47727003b393d8b57 -->|"Search for customer"| n41598dcbfa5d270cf20e
n41598dcbfa5d270cf20e -->|"Select customer for maintenance"| nc61282c1f5cc51c8a61b
nc61282c1f5cc51c8a61b -->|"Update selected customer"| neaf79db31b420f9f814a
neaf79db31b420f9f814a -->|"Complete customer update"| n8ef1f3781fda791e7c4e
nc61282c1f5cc51c8a61b -->|"Delete selected customer"| nefcea514e5e3fec77c93
nefcea514e5e3fec77c93 -->|"Complete customer deletion"| n8ef1f3781fda791e7c4e
n59868d97182d7f4370fe -->|"Begin order entry"| n7d902aa901c7c1f07d29
n7d902aa901c7c1f07d29 -->|"Select customer for order"| n39891038fc5a12d12b37
n39891038fc5a12d12b37 -->|"Enter order details"| nc8bb7ddd05fb33068f70
nc8bb7ddd05fb33068f70 -->|"Persist order"| n2f798348901bc320fe03
n2f798348901bc320fe03 -->|"Finish order"| nd34c344f5d72ccc24347
n59868d97182d7f4370fe -->|"Begin reporting"| n09b455d64a63dac11066
n09b455d64a63dac11066 -->|"Choose report destination"| n6d548c63b3ab5801e93c
n6d548c63b3ab5801e93c -->|"Run supported report"| n6fb972875c510e1dd8e6
n6fb972875c510e1dd8e6 -->|"Finish report"| ndfd727567e927069919b
n59868d97182d7f4370fe -->|"Begin stock operation"| n2f3ffdc9047651e2abcc
n2f3ffdc9047651e2abcc -->|"Attempt unsupported stock operation"| n577f73e07bcd30ab6932
n577f73e07bcd30ab6932 -->|"Report stock limitation"| n269996bf52862d09f133
Elements
Application operator
Kind: actor
Basis: inferred
Description: The interactive user who selects menus, supplies form values, confirms deletion, chooses report destinations, and may abort input using documented keys E0007.
Evidence: E0007
Goal: Maintain customers, enter orders, produce supported reports, and attempt available application operations E0007
Customer and order application
Kind: actor
Basis: inferred
Description: The application routines that display menus and forms, validate or collect input, query records, write customer and order data, and generate reports or invoices E0007.
Evidence: E0007
Goal: Execute supported customer, order, and reporting operations requested through the menus E0007
Customer menu
Kind: action
Basis: reported
Description: The CUSTOMER menu offers adding one or multiple customers, finding, updating, deleting, and returning to the main menu E0007.
Evidence: E0007
Owner: Application operator
Add customer
Kind: action
Basis: reported
Description: Customer entry accepts fields through INPUT BY NAME; normal completion inserts the customer record and displays the generated customer number, while the documented abort key exits without inserting E0007.
Evidence: E0007
Owner: Application operator
Find customer
Kind: action
Basis: reported
Description: Customer search constructs query-by-example criteria, prepares results ordered by last name, and supports first, last, next, previous, select, and quit actions E0007.
Evidence: E0007
Owner: Application operator
Select current customer
Kind: action
Basis: reported
Description: Updating and deleting require a selected customer number or current customer obtained through customer search E0007.
Evidence: E0007
Owner: Application operator
Update customer
Kind: action
Basis: reported
Description: The selected customer can be edited and the matching row updated; aborting input restores the stored row E0007.
Evidence: E0007
Owner: Application operator
Delete customer
Kind: action
Basis: reported
Description: Deletion requires a selected customer, is blocked when matching orders exist, and occurs only after confirmation with y or Y E0007.
Evidence: E0007
Owner: Application operator
Customer record maintained
Kind: outcome
Basis: reported
Description: A customer is inserted, updated, or deleted according to the selected customer operation and its guards E0007.
Evidence: E0007
Order menu
Kind: action
Basis: reported
Description: The ORDERS menu offers adding, updating, finding, deleting, and exiting orders; update-order and delete-order are documented as not implemented E0007.
Evidence: E0007
Owner: Application operator
Select order customer
Kind: action
Basis: reported
Description: Order entry first searches for a customer; when none is returned, it opens customer entry and may add a customer before continuing E0007.
Evidence: E0007
Owner: Application operator
Enter order and line items
Kind: action
Basis: reported
Description: The operator enters order date, purchase-order number, shipping instructions, and item lines containing stock number, manufacturer code, and quantity; stock lookup can populate item information E0007.
Evidence: E0007
Owner: Application operator
Commit order transaction
Kind: action
Basis: reported
Description: The application begins a transaction, inserts the order and item rows, commits only when both succeed, and rolls back when either insertion fails E0007.
Evidence: E0007
Owner: Customer and order application
Order and invoice produced
Kind: outcome
Basis: reported
Description: After a successful order commit, the application reports that the order was added, invokes invoice generation, and clears the form E0007.
Evidence: E0007
Reports menu
Kind: action
Basis: reported
Description: The REPORTS menu offers mailing labels, accounts receivable, backlog, stock list, output options, and exit E0007.
Evidence: E0007
Owner: Application operator
Select report and destination
Kind: action
Basis: reported
Description: The operator selects a report and can set output to file, printer, or screen for supported reports E0007.
Evidence: E0007
Owner: Application operator
Produce labels or accounts receivable
Kind: action
Basis: reported
Description: Mailing labels use customer query-by-example selection, while accounts receivable selects unpaid orders through customer, order, and item data; both support configured output destinations E0007.
Evidence: E0007
Owner: Customer and order application
Report output produced
Kind: outcome
Basis: reported
Description: Supported mailing-label or accounts-receivable data is written to the selected screen, printer, or file destination E0007.
Evidence: E0007
Stock menu
Kind: action
Basis: reported
Description: The STOCK menu offers add, find, update, delete, and exit operations E0007.
Evidence: E0007
Owner: Application operator
Attempt stock maintenance
Kind: action
Basis: reported
Description: Add-stock, find-stock, update-stock, and delete-stock each display that the option has not been implemented E0007.
Evidence: E0007
Owner: Application operator
Stock maintenance unavailable
Kind: outcome
Basis: reported
Description: The selected stock-maintenance operation does not perform the requested maintenance and instead reports that it is not implemented E0007.
Evidence: E0007
Relationships
Begin customer maintenance
From: Application operator
To: Customer menu
Relation: starts
Basis: reported
Description: The customer function opens and displays the customer form, then starts the CUSTOMER menu E0007.
Evidence: E0007
Choose customer operation
From: Customer menu
To: Add customer
Relation: next
Basis: reported
Description: The CUSTOMER menu provides the add-customer command, including a repeated-entry mode E0007.
Evidence: E0007
Complete customer entry
From: Add customer
To: Customer record maintained
Relation: achieves
Basis: reported
Description: Normal input inserts the customer record and assigns the generated customer number; an interrupt instead exits without inserting E0007.
Evidence: E0007
Guard: Input completes normally rather than using the documented abort control E0007
Control: Customer insertion has no explicit post-insert status check in the supplied source analysis, so successful completion semantics remain a follow-up concern E0008.
Search for customer
From: Customer menu
To: Find customer
Relation: next
Basis: reported
Description: Find-cust is the documented route for locating a customer and selecting a current customer E0007.
Evidence: E0007
Select customer for maintenance
From: Find customer
To: Select current customer
Relation: next
Basis: reported
Description: Update and delete operations require a customer selected through customer search E0007.
Evidence: E0007
Update selected customer
From: Select current customer
To: Update customer
Relation: next
Basis: reported
Description: The update operation accepts modified fields and updates the row matching the selected customer number E0007.
Evidence: E0007
Complete customer update
From: Update customer
To: Customer record maintained
Relation: achieves
Basis: reported
Description: A completed update changes the matching customer row; aborted input restores the stored row E0007.
Evidence: E0007
Guard: A current customer must be selected E0007
Delete selected customer
From: Select current customer
To: Delete customer
Relation: next
Basis: reported
Description: The delete operation requires a selected customer and checks for matching orders before confirmation E0007.
Evidence: E0007
Complete customer deletion
From: Delete customer
To: Customer record maintained
Relation: achieves
Basis: reported
Description: The customer row is deleted only when no matching orders block deletion and the confirmation response is y or Y E0007.
Evidence: E0007
Guard: No matching orders exist and deletion is confirmed E0007
Begin order entry
From: Application operator
To: Order menu
Relation: starts
Basis: reported
Description: The orders function opens the order form and presents the ORDERS menu E0007.
Evidence: E0007
Select customer for order
From: Order menu
To: Select order customer
Relation: next
Basis: reported
Description: Add-order first calls customer query; if no customer is returned, it opens customer entry and may add one E0007.
Evidence: E0007
Enter order details
From: Select order customer
To: Enter order and line items
Relation: next
Basis: reported
Description: Once the customer context is available, order entry collects order header fields and item-array values E0007.
Evidence: E0007
Persist order
From: Enter order and line items
To: Commit order transaction
Relation: next
Basis: reported
Description: After order and item input, add-order starts the transaction and attempts both order and item inserts E0007.
Evidence: E0007
Information: Order date, purchase-order number, shipping instructions, stock number, manufacturer code, quantity, and calculated item totals E0007
Finish order
From: Commit order transaction
To: Order and invoice produced
Relation: achieves
Basis: reported
Description: Successful insertion of the order and all item rows leads to commit, an added-order message, and invoice generation; any insertion failure leads to rollback instead E0007.
Evidence: E0007
Guard: Both order and item inserts succeed E0007
Control: Transaction commit or rollback controls persistence across the order and item inserts E0007
Begin reporting
From: Application operator
To: Reports menu
Relation: starts
Basis: reported
Description: The reports function opens the REPORTS menu and exposes report and output-option commands E0007.
Evidence: E0007
Choose report destination
From: Reports menu
To: Select report and destination
Relation: next
Basis: reported
Description: Report options set the current destination to file, printer, or screen E0007.
Evidence: E0007
Run supported report
From: Select report and destination
To: Produce labels or accounts receivable
Relation: next
Basis: reported
Description: The labels and accounts-receivable commands invoke their respective report routines after leaving the menu E0007.
Evidence: E0007
Finish report
From: Produce labels or accounts receivable
To: Report output produced
Relation: achieves
Basis: reported
Description: Supported reports iterate through selected records and send output to the configured destination E0007.
Evidence: E0007
Guard: A supported report is selected; backlog and stock-list are explicitly not implemented E0007
Control: The supplied analysis identifies a possible report-abort control-flow weakness, but its runtime effect is not established E0008
Begin stock operation
From: Application operator
To: Stock menu
Relation: starts
Basis: reported
Description: The stock function displays the STOCK menu with maintenance commands E0007.
Evidence: E0007
Attempt unsupported stock operation
From: Stock menu
To: Attempt stock maintenance
Relation: next
Basis: reported
Description: Each stock-maintenance command calls a function that displays the not-implemented error E0007.
Evidence: E0007
Report stock limitation
From: Attempt stock maintenance
To: Stock maintenance unavailable
Relation: achieves
Basis: reported
Description: The selected stock operation ends with an explicit not-implemented message rather than a stock change E0007.
Evidence: E0007
Gaps
The supplied evidence does not identify a formal business role, so “Application operator” is an inferred actor rather than an authoritative identity E0007. Organizational ownership for the application and its data is not established; action owners above distinguish the interactive operator from the application routine but do not establish accountability E0007.
Customer insertion lacks explicit error handling after the insert, and the actual runtime consequence of a failed insert is unresolved E0008. The supplied material also does not establish whether customer creation is transactional E0008. Form artifacts and runtime dependencies such as orderform, state_list, and stock_sel were not verified against the documented journeys E0008.
Report-abort handling is a source-level concern because the interrupt flag is reportedly reset before the later abort test; actual runtime behavior remains unverified E0008. The supplied evidence does not establish a successful update-order or delete-order journey, and stock maintenance, backlog, and stock-list remain explicitly unimplemented E0007. No human handoff, authorization check, or operational approval step is evidenced.
Recovery limitations
- Ownership, mechanism or boundary controls remain explicitly unverified.
- Some identified concepts have no supported connection.
- The view includes explicitly marked inference.
Sources
- E0007 — SHA256
ce6dd2b00b79f008ecb98935db9ed709c044218bcdd4143008d56d06a04cff97 - E0008 — SHA256
1713f4e3d42ac5e2af28387ac6ff649f06bbe1683b11869af71326929d6a5f32
Harten documentation of the Informix 4GL and Java source repository, from the retained 17 October 2026 export. The exact upstream revision analysed is not established. Source findings do not establish runtime behaviour or equivalence between the implementations.
Evidence identifiers are retained for traceability. The underlying analysis records are not included in this public edition; credential values are redacted. About this case study.