如何在FormCalc中读取上下文变量

2020-08-26 03:27发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在上下文中有一个全局变量。 该变量(类型CHAR01)仅包含" X"或空格。

当变量包含" X"时,子表单之一应隐藏。

该变量不会显示在任何子窗体中。

这是我在子窗体初始化事件中未成功使用的Formcalc脚本。

if(HIDEFLAG eq" X")然后

$。presence ="隐藏"

endif

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在上下文中有一个全局变量。 该变量(类型CHAR01)仅包含" X"或空格。

当变量包含" X"时,子表单之一应隐藏。

该变量不会显示在任何子窗体中。

这是我在子窗体初始化事件中未成功使用的Formcalc脚本。

if(HIDEFLAG eq" X")然后

$。presence ="隐藏"

endif

付费偷看设置
发送
5条回答
土豆飞人
1楼 · 2020-08-26 03:45.采纳回答

丹尼尔,你好

使用以下代码。

如果($ record.variable ==" X")然后

条件...

Endif

SAP浪
2楼-- · 2020-08-26 03:55

首先,将全局变量HIDEFLAG拖动到表单上下文中。 可以直接在脚本中读取此变量,而无需使其在表单布局中可用。 技巧是使用"值"属性而不是" rawValue",因为我们要访问上下文变量。

如果可以使用Java脚本,则以下代码将在以下子项的INITIALIZE事件中起作用:

 var lv_data = xfa.resolveNode(" $ record.HIDEFLAG")。value;
 如果(lv_data ==" X")
 {
  this.presence ="隐藏";
 }

 
野沐沐
3楼-- · 2020-08-26 03:42

嗨,丹尼尔,

这取决于变量在方案中的放置位置。

如果您不介意FormCalc上的JavaScript,请参考以下示例:

this.rawValue =='X'或this.rawValue <> null

this.parent.rawValue == true

this.parent.parent.rawValue等...

如果(this.SW_PRINT_SUPPLEMENT.rawValue == null)

{this.presence =" hidden";

}

最好

Antoine

南山jay
4楼-- · 2020-08-26 03:58

你好Antoine

使用" this.rawValue"表示变量在表单布局中的某处。

就我而言,该变量未在布局中使用。 创建它只是为了允许布局根据其中的值做出反应。

已在接口级别创建了全局变量" HIDEFLAG TYPE CHAR01"。

变量的初始化已在初始化代码中完成。

清除隐藏标志。

如果<条件>。

hideflag ='X'。

ENDIF。

全局变量已包含在表单的上下文中。

该变量不会显示在表单的任何位置。 创建它只是为了使用它来隐藏某些子表单。

致谢

丹尼尔

樱桃小丸子0093
5楼-- · 2020-08-26 03:38

为了所有人的利益。

正如Antoine建议的那样,变量必须是您正在使用的子表单的一部分。

在"对象"-"文件"选项卡中找到的"在线状态"属性可以从可见更改为隐藏。

因此该变量将不会显示,但可以被Formcalc或Javascript使用。

示例:

是名为" PAGE1"的子表单,TextField" langu"绑定到全局变量并包含" EN"

在子表单PAGE1中,您需要隐藏另一个子表单名称" French",您可以在子表单" French"的初始化事件中添加以下javascript:

if(this.resolveNode(" langu")。rawValue ==" EN"){
this.presence =" hidden";
}
否则this.presence =" visible";

一周热门 更多>