1{
2 "screen": "Order entry (ordent)",
3 "source": ["ordent.4gl:3-24", "ordent.per:18-19"],
4 "fields": {
5 "custNum": { "type": "integer", "required": false },
6 "shipDate": { "type": "string", "format": "date", "required": false },
7 "orderAmt": { "type": "number", "minimum": 0.01, "maximum": 99999.99,
8 "required": true, "scale": 2 }
9 },
10 "rules": [
11 { "id": "ORD-V1", "when": "customer not found", "reject": "Unknown customer" },
12 { "id": "ORD-V2", "when": "customer.credit_hold = 'Y'", "reject": "Customer on credit hold" },
13 { "id": "ORD-V3", "when": "shipDate < today or shipDate > today + 90 days",
14 "reject": "Ship date must be within 90 days" }
15 ],
16 "review": [
17 "shipDate NULL: ORD-V3 does not fire; field is not REQUIRED in the form",
18 "custNum NULL: SELECT returns NOTFOUND, ORD-V1 fires"
19 ]
20}