Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.
Return to: Component cooperation
Component cooperation
In this document
Which internal components cooperate, what are their responsibilities, and what passes between them?
This view models cooperation among the documented Informix-4GL programs, form definitions, and the stores7 database. The strongest evidence is source-level structure: programs connect to the database, invoke named routines, construct queries, browse results, and populate forms. E0009 Runtime execution, compiled-form identity, and semantic equivalence between the 4GL sources and Java artifacts are not established. E0010
The model keeps customer management, customer search, order entry, order browsing, and privileged totals distinct. Reporting is not expanded because the supplied evidence identifies reporting as working at a high level but does not provide a component-level call or exchange for the reporting implementation. E0008
Diagram
Preparing diagram…
View Mermaid diagram source
flowchart LR
n1c28c22f157f5be195a3["Main menu"]
n414a1a02fb753735a329["Customer management"]
n4b7c4ae779cce592b803["Customer query"]
ne69024384178e6ea8eb1["State selection"]
n6c758f26c8b229c37d31["Order management"]
n32d4a521fa2eb8096844["Order entry"]
n49a73e1451e6509f0109["Customer and order forms"]
n74e45744d47138e8204a["Order browsing"]
ndb21323c221ed50cb6a7["Privileged order browsing"]
na0dfd964bc05b6424988["stores7 database"]
n0ded2a31a168f024de7d["D4 customer target"]
n1c28c22f157f5be195a3 -->|"Menu dispatches customer work"| n414a1a02fb753735a329
n1c28c22f157f5be195a3 -->|"Menu dispatches order work"| n6c758f26c8b229c37d31
n1c28c22f157f5be195a3 -.->|"Menu initializes pricing (inferred)"| ndb21323c221ed50cb6a7
n4b7c4ae779cce592b803 -->|"Customer query requests states"| ne69024384178e6ea8eb1
n414a1a02fb753735a329 -->|"Customer management exchanges customer data"| na0dfd964bc05b6424988
n4b7c4ae779cce592b803 -->|"Customer query exchanges search results"| na0dfd964bc05b6424988
n6c758f26c8b229c37d31 -->|"Order management exchanges order data"| na0dfd964bc05b6424988
n32d4a521fa2eb8096844 -->|"Order entry exchanges stock data"| na0dfd964bc05b6424988
n49a73e1451e6509f0109 -->|"Forms exchange business records"| na0dfd964bc05b6424988
n1c28c22f157f5be195a3 -->|"Main menu selects order form"| n49a73e1451e6509f0109
n74e45744d47138e8204a -->|"Order browsing displays privileged totals"| ndb21323c221ed50cb6a7
n0ded2a31a168f024de7d -.->|"Customer target provides customer operations (inferred)"| n414a1a02fb753735a329
Elements
Main menu
Kind: component
Basis: reported
Description: The main program connects to stores7, initializes customer/order state, creates a temporary price table through tot_price, presents privilege-dependent menu options, and dispatches query, add, update, delete, detail, and switch commands to customer or order functions. E0009
Evidence: E0009
Customer management
Kind: component
Basis: reported
Description: The customer-management functions collect customer data, insert customer rows, browse or find customers, update selected customers, and delete customers subject to matching-order checks and confirmation. E0009
Evidence: E0009
Customer query
Kind: component
Basis: reported
Description: The customer-query program loads state values, constructs customer search criteria, prepares a SELECT * FROM customer WHERE query, browses matching rows, and uses state selection assistance during query construction. E0009
Evidence: E0009
State selection
Kind: component
Basis: reported
Description: State selection loads state rows ordered by name, displays selectable state records, and assigns the selected state code to the customer query record. E0009
Evidence: E0009
Order management
Kind: component
Basis: reported
Description: The order-management program provides add, query, modify, delete, and exit operations; obtains a customer, accepts order dates and items, inserts orders and items, browses a customer’s orders, and can replace or delete selected order items. E0009
Evidence: E0009
Order entry
Kind: component
Basis: reported
Description: Item entry accepts stock and manufacturer values, retrieves description and unit price from stock, calculates item totals from quantity and unit price, assigns item numbers, and contributes order and item data to insertion. E0009
Evidence: E0009
Customer and order forms
Kind: component
Basis: reported
Description: The order forms expose customer fields, order metadata, and repeated item-entry fields mapped to customer, orders, items, and stock attributes. E0009
Evidence: E0009
Order browsing
Kind: component
Basis: reported
Description: The main program searches customers or orders according to the current window, prepares scroll cursors, fetches records, and supports next, previous, first, last, and select-and-exit browsing commands. E0009
Evidence: E0009
Privileged order browsing
Kind: component
Basis: reported
Description: Privileged order browsing uses the p_ordcur form and displays aggregated t_price alongside order fields; nonprivileged browsing uses ordcur without that total. E0009
Evidence: E0009
stores7 database
Kind: component
Basis: reported
Description: The documented programs and form definitions declare or connect to the stores7 database, whose visible tables include customer, orders, items, stock, state, and manufact in the supplied source artifacts. E0009
Evidence: E0009
D4 customer target
Kind: component
Basis: reported
Description: The Java target registers a customer form and provides add, find, update, delete, browsing, help, and state-selection behavior. Its one-to-one semantic relationship with the displayed 4GL sources is unresolved. E0010
Evidence: E0009, E0010
Relationships
Menu dispatches customer work
From: Main menu
To: Customer management
Relation: calls
Basis: reported
Description: The main menu dispatches add, update, delete, and query commands to customer functions when the current context is customer management. E0009
Evidence: E0009
Menu dispatches order work
From: Main menu
To: Order management
Relation: calls
Basis: reported
Description: The main menu dispatches add, update, delete, and query commands to order functions when the current context is order management. E0009
Evidence: E0009
Menu initializes pricing
From: Main menu
To: Privileged order browsing
Relation: calls
Basis: inferred
Description: Before entering the main menu, the program calls tot_price to create a temporary price table, and privileged order browsing later displays an aggregated t_price value. The evidence supports the shared pricing purpose but does not show that tot_price is the direct implementation provider for the browsing display. E0009
Evidence: E0009
Customer query requests states
From: Customer query
To: State selection
Relation: calls
Basis: reported
Description: During customer query construction, state-field help invokes state selection, which displays available states and assigns the selected code to the query customer record. E0009
Evidence: E0009
Customer management exchanges customer data
From: Customer management
To: stores7 database
Relation: exchanges
Basis: reported
Description: Customer addition inserts customer data, customer queries retrieve customer rows, customer updates modify selected rows, and customer deletion removes a customer only when the documented checks and confirmation permit it. E0009
Evidence: E0009
Customer query exchanges search results
From: Customer query
To: stores7 database
Relation: exchanges
Basis: reported
Description: Customer query construction becomes a SELECT * FROM customer WHERE statement; matching rows are fetched into the customer record for display and browsing. E0009
Evidence: E0009
Order management exchanges order data
From: Order management
To: stores7 database
Relation: exchanges
Basis: reported
Description: Order entry inserts an order and its items, order query retrieves a customer’s orders and items, modification updates order data and replaces items, and deletion removes the selected order and its items. E0009
Evidence: E0009
Order entry exchanges stock data
From: Order entry
To: stores7 database
Relation: exchanges
Basis: reported
Description: Item entry uses stock number and manufacturer code to retrieve description and unit price, then calculates item totals from the retrieved price and entered quantity. E0009
Evidence: E0009
Forms exchange business records
From: Customer and order forms
To: stores7 database
Relation: exchanges
Basis: reported
Description: The form definitions map visible fields to customer, orders, items, and stock attributes, including order headers and repeated item rows. These mappings document data exchange points but do not prove live deployment or compiled-form identity. E0009
Evidence: E0009, E0010
Main menu selects order form
From: Main menu
To: Customer and order forms
Relation: calls
Basis: reported
Description: The main program opens two windows and selects p_ordcur for privileged users or ordcur for other users, while the switch command changes between customer and order forms. E0009
Evidence: E0009
Order browsing displays privileged totals
From: Order browsing
To: Privileged order browsing
Relation: calls
Basis: reported
Description: Privileged order browsing displays the aggregated t_price value with order fields, whereas nonprivileged browsing omits that value. E0009
Evidence: E0009
Customer target provides customer operations
From: D4 customer target
To: Customer management
Relation: exchanges
Basis: inferred
Description: The Java target provides customer add, find, update, delete, browse, help, and state-selection behavior that overlaps the documented customer-management responsibilities. The evidence does not establish that it is a translation or runtime replacement for the 4GL component. E0010
Evidence: E0009, E0010
Gaps
The reporting components and their calls or data exchanges are not recoverable from the supplied component-level evidence; only a high-level statement that mailing-label and accounts-receivable reporting work is available. E0008
The compiled .frm artifacts for order, customer/order, privileged order, state, and stock-related forms were reported as binary or NUL-containing and were not text-analyzed. Their correspondence with the .per definitions is therefore unresolved. E0009 E0010
The view does not establish deployment targets, runtime execution, database schema constraints, transaction behavior, or whether the Java target is generated from the displayed 4GL sources. E0010 The order deletion sequence may conflict with referential constraints, but no schema evidence confirms that condition. E0010
The source contains unresolved behavior around resetting exist after an empty order search, misleading deletion feedback after declined confirmation, incomplete boundary fetch targets for t_price, and inconsistent display syntax. These findings qualify the cooperation model but do not establish their exact runtime effects. E0010
Recovery limitations
- The view includes explicitly marked inference.
Sources
- E0008 — SHA256
1713f4e3d42ac5e2af28387ac6ff649f06bbe1683b11869af71326929d6a5f32 - E0009 — SHA256
c4ffb94922eae3cda2f1c6d6b1215da47b424d41fea52db3870783bd43051b30 - E0010 — SHA256
bd29371182d16de63a7651533fa5c84e151a01ea9bf23399f7f6ca0397ab0250
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.