N NezamDocumentation

Syntax basics#

Business Language uses declaration blocks, typed parameters, explicit nullability, and statement bodies.

Blocks#

Declarations use braces:

bl
field PaymentMethodId: string {
  max_length: 40;
  key: true;
}

Types#

Use built-in scalar types directly or named field types for reusable constraints.

bl
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.

bl
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.

bl
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.

bl
// 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);
}
Source: packages/business/language/syntax.md