You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

遗留Uniface应用中ProcScript的@$1用途是什么?

Uniface ProcScript中@$1的用途解析

核心概念:间接引用

在Uniface ProcScript里,$1是内置的参数变量,而@$1是间接引用语法——它会读取$1变量中存储的字符串,将其解析为实际的字段/实体组件,再对这个组件执行后续操作。

结合代码片段分析

针对你提供的代码片段:

$1 = "ID.TEST_TABLE"
@$1 = PN_ID

;loading the data
retrieve/e "TEST_TABLE" 
  1. $1 = "ID.TEST_TABLE":将目标字段的完整标识(格式为字段名.实体名)存入参数变量$1,这里指定的是TEST_TABLE实体的ID字段。
  2. @$1 = PN_ID:通过间接引用,把PN_ID的值赋值给ID.TEST_TABLE字段——效果和直接写ID.TEST_TABLE = PN_ID完全一致。
  3. retrieve/e "TEST_TABLE":执行精确检索,由于已经给TEST_TABLE的主键ID字段设置了值,这行代码会直接拉取对应ID的数据库记录。

采用这种写法的原因

这种写法的核心价值是动态化字段/实体引用:

  • 后续若需更换目标字段(比如改成CODE.TEST_TABLE),只需修改$1的赋值内容,无需改动后续业务逻辑代码;
  • 在复用性高的通用ProcScript模块中,该写法能让同一段代码适配不同的字段或实体场景,减少重复代码量。

内容的提问来源于stack exchange,提问作者Mi2830

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 21:42:06