1 Referencing Form Variables

There are two ways to reference form variables, depending on the context.

  1. @{var}, @var for SQL contexts: SQLEXPR, SQLDATA, SQLEXISTS, SQL/XSQL.
  2. Direct reference using the name var for UEL expressions.

Form variable replacement is applied to the following fields:

  • apps_wms_formatl.col_hide_cond
  • apps_wms_formatl.col_check_exp
  • apps_wms_formatl.col_default
  • apps_wms_formatl.sref_help_cond
  • apps_wms_formatl.col_after_sql
  • apps_wms_formatg.group_cond
  • apps_wms_formatg_buttons.button_cond
  • apps_wms_formatg_buttons.button_action
  • apps_wms_formath.sql_action_exec
  • apps_wms_formath.sql_action_cancel

For more information on expression contexts, please see the Expression Context section.

1.1 References in SQL Expressions

In SQL expressions, variables must be referenced with the following syntax:

Copy
@{varname}

For example, if a field contains the following expression:

Copy
@{txt_canpro} >= @{v_canmov_ok}

and the fields txt_canpro and v_canmov_ok have the values 10 and 0, respectively, then the expression translates to:

Copy
10 >= 0

Note that replacing a variable does not add quotation marks if it is string type. As such, the variable must be quoted in the expression:

The following expression:

Copy
SELECT wms_ff_get_pick_tray_lines('@recint', '@v_zonlog', '@v_route', '@v_hu_type', '@codope') FROM systables WHERE tabname = 'systables'

would be translated to

Copy
SELECT wms_ff_get_pick_tray_lines('07', 'A-0001', '@v_route', 'P', 'C0001') FROM systables WHERE tabname = 'systables'

assuming recint = 07, v_zonlog = A-0001, etc...

Use @{var}!

From version 0.0.366 onwards, the preferred way to reference variables is @{var}. Other ways are maintained for backwards compatibility.

1.2 References in UEL Expressions

In UEL expressions, variables can be directly referenced as such:

Copy
varname > 1

Variable references are replaced literally with the current value of the field being referenced.

2 Non-Form Variables

The literals @{user} and @{user_code} are always replaced by the user_code of the user who is currently logged in.