如何使用JavaScript在SAP Adobe Forms中动态设置值

How do I set a value dynamically in SAP Adobe Forms using JavaScript

本文关键字:动态 设置 Forms Adobe 何使用 JavaScript SAP      更新时间:2023-09-26

我正在创建一个基于SAP标准Adobe表单F140_CUS_STAT_01的表单。

在"文档"列中,如果包含值,则要求显示字段REBZG,如果不包含值,则显示BELNR。

我做了以下的事情:

if ( data.CustomerStatement.ItemTable.TableOpenItem.REBZG.rawValue == null ||
     data.CustomerStatement.ItemTable.TableOpenItem.REBZG.rawValue == '' ) 
  {  data.CustomerStatement.ItemTable.TableOpenItem.REBZG.rawValue = 
     data.CustomerStatement.ItemTable.TableOpenItem.BELNR.rawValue; }

BELNR是TableOpenItem

中的一个隐藏字段

不幸的是什么都没有发生。

我的语法有问题吗?我应该使用一个特定的事件吗?我必须以不同的方式对待内部表字段吗?

另外,我如何在SAP上下文中调试javascript。我尝试了"Alert"和打印到控制台,但都没有任何效果。

要启用LiveCycle设计器的JavaScript调试器并从JavaScript控制台执行代码,您必须在acrobatprofessional中启用JavaScript和JavaScript调试器。你需要启用JavaScript调试器来访问JavaScript控制台,因为控制台窗口是JavaScript调试器接口中的一个组件。

如果你安装了LiveCycle Reader扩展,你可以在Adobe Reader中启用JavaScript调试器。要在adobereader中启用JavaScript调试器,您需要获得Debugger .js文件,然后编辑Microsoft Windows注册表。有关在adobereader中启用JavaScript调试器的详细信息,请参阅使用JavaScript开发Acrobat应用程序partners.adobe.com/public/developer/acrobat/devcenter.html(仅限英文)。(来自Adobe设计器中的帮助)我希望这对你有帮助。不管怎样,你可以用"this"。而不是data.CustomerStatement.ItemTable.TableOpenItem.REBZG.rawValue == null和事件. .对于这种情况,我通常使用事件形式。