Syntax basics#
Business Language uses declaration blocks, typed parameters, explicit nullability, and statement bodies.
Blocks#
Declarations use braces:
field PaymentMethodId: string {
max_length: 40;
key: true;
}Types#
Use built-in scalar types directly or named field types for reusable constraints.
table VendorInvoice {
field payment_block: bool default(false);
field due_date: date;
field gross_amount: decimal;
field vendor_name: string max_length(120);
field vendor_id: VendorId key;
}Nullability#
Append ? when a value is optional.
table PartyPayment {
field party_id: PartyId?;
field payment_block_reason: string? max_length(255);
}Expressions#
Expressions support boolean operators, null checks, comparisons, member access, and structured enum-like values.
where Invoice.document_status = { kind: open }
and Invoice.company_code = company_code_param
and !(reference_param is null or empty)Comments#
Use line comments for short explanations.
// Returns true when one identifier/code input is present and non-blank.
private function value_present(value_param: string?): bool {
return !(value_param is null or empty);
}