Wayfinder / Case study / Topic detail

Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.

Return to: 02 — Business Capability Map — topic detail

Order entry

In this document

Capability: Order entry

The implemented order-entry flow allows the operator to select an existing customer or create one, enter order-header information, collect line items, begin a database transaction, insert the order header, obtain a serial number, insert item rows, commit the transaction, and generate an invoice. The source uses GridInputArray for tabular line-item entry, and the help material states that order entry allows up to ten line items in a scrolling screen array. E0002 E0003

The order form and order-cursor artifacts expose order number and date, customer number, shipping instructions, backlog information, purchase-order number, ship date, weight, charges, and paid date. These fields document the business information represented by the order interface; the available form evidence does not by itself prove that every field is editable or connected to a completed persistence path. E0003 E0004

Order insertion attempts rollback when order insertion or item insertion reports failure. The transaction claim is therefore supported by the order source and by the documented behavior. Its completeness remains uncertain because the supplied range does not include the implementations of DBHelper, ErrorHandler, or related framework classes. In particular, the evidence does not prove that every exception or failure path sets the status value required to trigger rollback. E0001 E0002 E0003

Capability: Order entry

Order-entry help describes adding an order for an existing customer and entering up to ten line items in a scrolling display array. It also documents query-by-example criteria comprising literal values, ranges, lists, relational operators, and wildcards. These capabilities are explicitly described in help content; the supplied range does not include the parser, controller, or executable query path needed to confirm runtime behavior. E0004 E0005 E0006

The order-related fields include order number and date, customer number, shipping instructions, backlog, purchase-order number, ship date, shipping weight, shipping charge, and paid date. P_Ordcur.java.svn-base directly declares and configures these summary fields. E0004 E0006

Two order-form variants must be kept distinct. Order.java.svn-base places FieldGroup components directly, while Orderform.java.svn-base uses a JXTable, GridColumnModel, and scroll pane for order lines. The evidence does not establish whether these are alternative generated screens, related variants, or separate runtime forms. E0006

Orderform.java.svn-base strongly supports the following seven order-line columns: item number, stock number, manufacturer code, description, quantity, price, and total. The form associates those fields with a table column model and displays the result through a JXTable. E0006

Capability: Order entry

The order capability opens and displays the order form and presents commands for adding, updating, finding, deleting, or exiting. Add-order calls query_customer with mode 2. If no customer is returned, the workflow opens a customer form and invokes customer creation; it returns if the customer number remains NULL. Update-order and delete-order are menu options, but each displays an error stating that the option has not been implemented. E0007 E0008

Order entry collects order date, purchase order number, shipping instructions, and an input array of line items. Each line uses stock number, manufacturer code, and quantity. CTRL-B can open the stock selector when the cursor is in stock number or manufacturer code, populate fields from a selected stock record, and move to quantity. After stock and manufacturer entry, get_item looks up description and unit price; invalid results clear those fields. A valid quantity and unit price cause item_total to calculate total price as quantity multiplied by unit price. Otherwise the workflow displays an error and returns to stock-number entry. E0007

The help text describes a scrolling array supporting up to ten items. F1 inserts a line, F2 removes the current line, F3 and F4 page through the array, and ESC exits array input. Selecting a stock item with ESC causes the chosen information to appear in the order line. E0007

Adding an order begins a transaction, inserts the order with order number set to zero, obtains the generated order number from SQLCA.SQLERRD[2], inserts the item rows, and commits only when both the order and item inserts succeed. A failure in either insertion causes rollback, an error message, and return without commit. After a successful commit, the workflow reports that the order was added, builds an invoice filename from the order number, calls invoice, and clears the form. E0007

The order-browsing function queries orders for the selected customer, displays each order and its associated items, limits displayed items to ten, calculates an order total, and allows selection when the user responds y or Y. The source clears four displayed screen records before loading new data but does not visibly clear the complete p_items array. It then sets the displayed count and displays the array. If set_count strictly limits the display range, stale entries may be harmless; the implementation and array-display semantics are not supplied, so stale data is an unresolved possibility rather than a confirmed defect. E0007 E0008

The interactive order-total routine reportedly multiplies the accumulated total by 1.1. The invoice separately calculates sales tax at 0.065 of the calculation total and shipping charge at 0.035. Those rates sum to ten percent, suggesting that the interactive adjustment may be intended to combine tax and shipping, but the supplied source does not clearly label the displayed field or explicitly connect the calculations. The relationship is therefore an inference, not a confirmed business rule, and the invoice subtotal reportedly excludes those additions. E0008