你说得完全正确。除了 DI 之外,您不能使用任何其他方法执行数据操作。因为如果您违反了此规定,保修将失效,并且 SAP 将停止任何形式的支持。关于在项目中使用 EF 的问题,我将向您发出一个简单的警告,因为即使是基本操作也会导致更新许多表。简单来说,会发生大量的数据操作。因此,如果您仍然坚持使用 EF,则需要自行注意这一点。
正如您提到的,您在 .NET 中集成了 Web 服务,这将非常简单。因为 Visual Studio 通过简单的点击即可完成大部分配置工作。打开您的项目,点击“添加服务引用”。然后指定您的客户端共享的 WSDL 文件。点击“确定”。这将使用 WSDL 文件为您的项目创建一个代理客户端,其中包含 Web 服务公开的所有 Web 方法。只需实例化代理客户端,然后您就可以继续调用它们。Visual Studio 智能感知(自动建议)将帮助您了解... 阅读更多
我认为对于您的实现,您可以以动态方式声明一个内部表。DATA: tbl_TEST TYPE REF TO DATA. FIELD-SYMBOLS: < tbl_TEST > TYPE STANDARD TABLE CREATE DATA tbl_TEST TYPE (Received_Type) ASSIGN tbl_TEST TYPE ->* to < tbl_TEST TYPE >
是的,有一个 log 函数。您可以使用它来实现您的需求。以下是一段代码片段,可能对您的实现有所帮助。DATA: NUMBER TYPE INT, BASE TYPE INT, RESULT TYPE FLOAT假设:Number=16 BASE=4 RESULT= log(NUMBER)/log(BASE)RESULT 将为 2。
答案是否定的。Business One 中没有工作台。原因是 Business One 的核心不是基于 ABAP 或 NetWeaver。Business One 严重依赖 SQL。它有一个 SQL 数据库,您可以编写查询来获取数据。然后,这些数据用于创建报表。但是,当您将 Business One 与 ABAP 进行分析时,Business One 中的扩展功能与 ABAP 中的功能相比非常少。但是,您还有其他选择可以实现相同的功能;您可以使用其连接器与 JAVA 或 .NET 集成以编写自定义需求。