问题标签 [jdedwards]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - DB2:您能否编写一个嵌入在 SQL 中的函数或宏来简化复杂的查询?
我对 SQL 有足够的了解,可以进行基本的和稍微高级的查询,但这就是我的知识结束的地方。
我有一个查询,其中涉及一系列复杂的函数调用,以将 JD Edwards ERP 应用程序“朱利安”日期转换为一年中的一周值。功能如下:
WhereJulianDate
是一列,其中的数值表示 JD Edwards 使用的儒略日期。格式为:CYYDDD,其中 C 是世纪,YY 是年份的最后 2 位,DDD 是一年中的第几天(1-366)。
这是在查询中的几个地方完成的,包括SELECT
字段和GROUP BY
字段。
这可行,但非常复杂,使 SQL 难以阅读和理解。此外,一些可以格式化 SQL 的工具由于某种原因无法处理这个问题,并将其留在未格式化的混乱中。
这是一个示例片段:
问题:
是否可以编写一个可以嵌入 SQL 的“函数”或“宏”(无论正确的术语是什么),然后在需要的地方“调用”?
如果我可以执行以下操作,那就太好了:
然后使用它使上面的示例 SQL 更具可读性(并且不易出错):
我已经阅读了一些关于 SQL 函数的内容,但它似乎是数据库中内置的东西。有没有办法做到这一点,它只是 SQL“代码”的一部分?
bi-publisher - Java 空堆栈异常 - JD Edwards BI Publisher 子模板
我一直在尝试有条件地将徽标导入到我的主模板中。徽标存储在外部 rtf 文件中
在我的主模板中,我正在使用
但是,每次我尝试在主模板中预览报告时,都会收到此错误。
我已经尝试了一切,但我不知道为什么会抛出这个错误?我需要在本地机器上安装或添加任何配置文件吗?有关如何解决此问题的任何帮助或建议都会有所帮助。
谢谢你。
sql - 这是我需要的正确 SQL 吗?[JDE、DB2]
考虑以下 JD Edwards 数据库表:
- 工单路由(实际名称:F3112)
- 工单时间事务(实际名称:F31122)
这些表通过一个公共字段链接:文档编号 (DOCO)。对于 F3112 中的给定记录,F31122 中可能有零个或多个记录。
我正在尝试编写一个查询,该查询从 F3112 返回满足以下条件的记录:
- F31122 中至少有一条匹配记录,其中 F31122.WTHRW(工作小时数)> 0。
- F3112.WLOPST(状态代码)介于 30 和 99(含)之间。
- F3112.WLSTRT(开始日期)>= 指定日期(JDE 儒略日期)。
- F3112.WLCTS4(金额 - 未计算的直接人工)= 0或F3112.WLCTS9(小时 - 未计算的直接人工)= 0。
我想出了下面的 SQL,它似乎得到了我想要的——但我不是 100% 确定。
我不需要从 F31122 表中返回任何内容。我只需要确保满足选择标准的第一个项目符号。
我最初没有 DISTINCT 子句并且得到了多次点击。我认为这是笛卡尔积情况。
这对我想做的事情有意义吗?如果没有,请告诉我我需要做什么。
sql - 为什么这个 SQL 不起作用?[JD 爱德华兹 DB2]
我正在尝试编写一些用于选择报告数据的 SQL。数据来自 JD Edwards,使用 AS/400 上的 DB2 数据库。
我编写了以下 SQL 查询:
在哪里:
F3112 - 工单路由
F4801 - 工单主
- WASRST(WO 状态码)是一个长度为 2 的字符串。它是一组枚举值。
F0911 - 帐户分类帐
- GLSBL(总帐子分类帐)可能包含来自工作订单路由 (F3112.WLDOCO) 的凭证编号。需要注意的重要一点是 GLSBL 是一个字符串,长度为 8 并且值用零填充。F3112.WLDOCO 是长度为 8 的数值(无填充)。这就是为什么我在 JOIN 子句中有 CAST 的原因。
- GLOBJ(Object account)是一个长度为6的字符串,不知道有没有padding。
此查询将不会运行。它给了我一个有点神秘的“数据转换或映射错误”。我无法弄清楚有问题的 SQL 是什么。
现在这是奇怪的部分。如果我稍微修改此查询以仅使用F4801或F0911加入 F3112 ,则任一形式的查询都有效。我只是不能让它们作为一个查询一起工作(这里有线索吗?)。
所以,为了说明:
和
这些都工作得很好。
bi-publisher - 如何在 BI Publisher 模板中使用内部图像 url 功能
我对 BI Publisher 和 XML 模板完全陌生。我正在尝试更新模板以添加新公司/组织的徽标。相同的模板将用于 JD Edwards 内的 3 个单独的分支机构/组织。
我在尝试有条件url
地在虚拟图像的替代文本中设置代码时遇到问题。我认为这是因为解释器无法理解定义中有<?choose:?>
标签url{}
?如何使用选择函数将正确的字符串返回到url{}
定义中?
json - JDE AIS 日期查询格式
我正在尝试创建一个 json 有效负载以在JD Edwards AIS REST 9.2 端点上进行过滤,但无法确定查询请求的日期格式。我遇到了这个,它将实际日期转换为 JDE 6 或 8 位日期,但日期和这些日期都没有在我的过滤器中工作,这是我请求的 Curl。
以上为最后更新日期
如果我尝试使用返回数据中返回的这个字符串运行
或 E1 6 位日期
或 E1 8 位日期
它返回以下错误
我应该在 JD Edwards AIS 的 json 请求正文的条件区域中输入什么格式的日期才能对其进行格式化?
bi-publisher - 选择块内的重复变量定义
我认为下面的代码应该在 Word BI Publisher 模板中工作,但事实并非如此。当我使用 BI Publisher Template Viewer 应用程序进行测试时,它显示Duplicate variable 'branch' definition.
If only the matching <?when: ...?>
block should be executed, 如何多次定义变量?
我有其他编程语言的经验,但 XML/XSL/BIP 等对我来说是新的。任何人都可以对下面的代码有所了解吗?
谢谢!
jdeveloper - BI 发布者突发问题
我在运行 BIP 突发报告时遇到问题。没有突发 1 pdf 生成。Pdf 显示 2 页,page#1 和 Page#2 很好。但是当突发获得2个输出pdf时。第二个pdf页码是page#2。我希望两个页码都从 1 开始。
谢谢
java - 如何将外部数据传递给 Vaadin 应用程序
背景
我正在尝试开发一个 Spring Boot/Vaadin 应用程序,该应用程序将用于收集用户输入并通过 REST 将数据传递给另一个应用程序。Vaadin 应用程序位于流程的中间,前端和后端都有一个外部应用程序(JD Edwards EnterpriseOne - 又名 E1)。我附上了一张图片,希望能说明这一点。
登录到 E1 的用户将能够访问 Vaadin 应用程序。他们将使用其用户名和密码以及其他所需信息登录 E1。需要将此信息传递给 Vaadin 应用程序,以便在用户提交表单时,将信息传递给 E1 以验证并执行 E1 应用程序。当然,应用程序也会将用户表单输入传递给 E1。
另一个需要注意的重要事情是 E1 能够调用 REST 端点。这就是我计划调用 Vaadin 应用程序的方式。可以配置连接以指定 URL、HTTP 标头和安全设置。我目前使用基本身份验证。使用 OAuth 2.0 凭据也是一种选择,尽管我不熟悉它。还可以指定客户端证书信息。据我所知,这是从 E1 调用外部应用程序的唯一方法。
问题
我试图弄清楚如何将用户“元数据”传递给 Vaadin 应用程序。
看起来 Vaadin 提供了在调用 Vaadin 视图时将参数传递给它的能力。这似乎采用标准 HTTP URL 参数的形式——而不是我想要传递身份验证信息的方式。是否有其他选项可以将请求数据传递给暴露较少的 Vaadin 应用程序?
我也一直在尝试一个想法,我的 Vaadin 应用程序有一个@RestController
可用于接收元数据的想法(仍然存在相同的安全问题)。然后我需要弄清楚如何从控制器启动 Vaadin 视图并将数据传递给它。
最后,当用户提交表单时,元数据和用户输入数据需要通过 REST 传递给 E1 应用程序,该应用程序在 E1 中完成所有幕后工作。
有没有办法将请求数据传递给不涉及 HTTP 参数的 Vaadin 应用程序?有没有办法保护这些数据?
题外话,但仍然是一个有效的问题
一个主要问题是如何传递用户身份验证信息以使其受到保护。我不太熟悉用于保护基于 Web 的应用程序或此类应用程序之间的通信的技术。E1 系统和运行 Vaadin 应用程序的服务器将位于防火墙后面,但我不确定这是否足够。
sql - 我应该为此使用 SQL 完全外连接吗?
考虑下表:
表 A:
表 B:
DOC_TYPE
和NEXT_STATUS
列在两个表之间具有不同的含义,尽管 a在NEXT_STATUS = 999
两者中都表示“关闭”。此外,在某些条件下,每个表中都会有一条记录,并引用另一个表中的相应条目(即RELATED_DOC_NUM
列)。
我正在尝试创建一个查询,该查询将从满足以下条件的两个表中获取数据:
A.DOC_TYPE = "ST"
表示将库存从一个工厂转移到另一个工厂的转移订单。B.DOC_TYPE = "OT"
表示接收工厂对转移库存的相应收货。
我们希望从任何一个表中获取记录,其中有一个 ST/OT 对,其中一个或两个条目都没有关闭(即NEXT_STATUS < 999
)。
我假设我需要使用 FULL OUTER 连接来完成此操作。如果这是错误的假设,请让我知道我应该做什么。
更新(2021 年 11 月 30 日):
我相信@Caius Jard 是正确的,因为这不需要是外部连接。应该总是有 ST/OT 对。
有了这个,我写了我的查询如下:
这有意义吗?
更新 2(2021 年 11 月 30 日):
实际情况是,这些是 JD Edwards ERP 应用程序正在使用的 DB2 数据库表。我知道查看表定义的唯一方法是使用网站http://www.jdetables.com/,输入表 ID 并按回车键运行搜索。它返回了大量有关表及其列的信息。
表 A 是真的F4211
,表 B 是真的F4311
。
现在,我已经简化了查询以使其保持简单并将变量保持在最低限度。这是我目前拥有的:
故事的另一部分是我正在使用一个报告包,它允许您定义数据的“虚拟”视图。虚拟视图允许报表开发人员指定要使用的 SQL。这是我使用 SQL 的应用程序。当我设置 SQL 时,必须执行一个验证步骤。如果 SQL 得到验证,它将返回一组有限的结果。
当我输入上面的查询并验证它时,它说没有结果,这是没有意义的。我猜是数据转换导致了这个问题,但不确定。
更新 3(2021 年 11 月 30 日):
故事又多了一个转折点。相关文档编号不仅定义为字符串值,而且包含前导零。这在两个表中都是正确的。主文档编号(在两个表中)被定义为数值,因此没有前导零。我不知道开发 JDE 的人为什么会这样做,但这就是存在的。
因此,两个表之间有符合条件的匹配记录,但我认为我没有得到任何结果,因为当我将数字转换为字符串时,它不匹配,因为一个值是 ,"12345"
而另一个是"00012345"
.
在进行等号检查之前,我可以用零填充数字 -> 字符串值吗?
更新 4(2021 年 12 月 2 日):
通过将数字文档编号转换为左填充字符串,最终能够使查询工作。