我正在编写代码以从格里高利日期转换为JDE(JDEdwards)Julian日期.
注:JDE Julian日期是从长期的正常使用不同的公历日期.
据我可以从谷歌搜索,JDE Julian日期的定义是:
1000*(year-1900) + dayofyear
Run Code Online (Sandbox Code Playgroud)
其中年份为4位数年份(例如2009年),1月1日为1年,并且12月31日全年计入365或366(取决于这是否为闰年).
我的问题是:在1900年前支持了多少年?如果是的话,上述公式是否仍然适用,或者应该如此:
1000*(year-1900) - dayofyear
Run Code Online (Sandbox Code Playgroud)
(注意减去而不是加号.)
或者是其他东西?
有没有人有这个日期格式的官方文档的链接?
我对JD Edwards知之甚少.我有一个客户端询问如何从JD Edwards调用我们提供的API(如COM,C#,REST).我对他们技术人员的高质量答案并没有太多帮助......所以我想我会问这里.
JD Edwards可以拨打C#吗?JD Edwards可以调用Java吗?JD Edwards可以调用Unix scipt吗?
任何人都可以指出我在开发/定制文档方面有用吗?
谢谢!
我有一个JD Edwards业务功能,它是用Microsoft Visual C++编写的一个C模块.我正在使用LoadLibrary访问第三方DLL.在一个独立的测试程序中,代码运行得很好.当我在JDE中运行它时,LoadLibrary返回NULL并且GetLastError返回126,这意味着The specified module could not be found根据MSDN.我已经尝试放入DLL的完整路径,是的,我记得要加倍路径中的\字符.没有不同.
我已经检查过以确保没有依赖项会阻止DLL加载; DUMPBIN/DEPENDENTS返回以下内容:
WSOCK32.dll
USER32.dll
GDI32.dll
WINSPOOL.DRV
ADVAPI32.dll
KERNEL32.dll
Run Code Online (Sandbox Code Playgroud)
这些看起来像标准的Windows DLL,所以我很茫然.
手头的主题是一个混乱的特定于域的问题,与Oracle的ERP软件JD Edwards中的日期一起使用.其详细信息记录在这个问题中.
在编写用于处理JD Edwards的日期和时间的包装类之前,我想知道JodaTime或Java 8是否为这种独特的时间格式引入了任何特殊支持,或者我是否必须进行重要的字符串操作,无论我使用哪些库.
这是一个模糊的问题,所以请仅在您具备此问题的特定知识和/或JodaTime/Java 8/JSR 310时才做出响应.
附加:根据Basil Bourque的要求,添加伴随上述日期的时间戳示例.以下是来自不同表的日期/时间字段的两个示例:
JCSBMDATE:115100,JCSBMTIME:120102.0
RLUPMJ:114317,RLUPMT:141805.0
此外,日期变量被转换为BigDecimal,时间是Double.所以,我可能会保留字符串解析器,但也可以编写本地采用BigDecimal/Double值的工厂方法.
似乎时间字段实际上是从一天开始的毫秒数(不是秒数),并且可以忽略".0".因此,必须执行转换和计算,如下所示:
localDate.atTime(LocalTime.ofNanoOfDay(Long.parseLong(jdeTime)*1000000))
想知道是否有人在使用JDEdwards XMLInterop功能方面取得了任何成功.我已经使用了一段时间(使用简单的PInvoke,稍后会发布代码).我想看看是否有更好的和/或更强大的方式.
谢谢.
jdedwards ×6
c# ×1
date ×1
dll ×1
java-8 ×1
jodatime ×1
julian-date ×1
loadlibrary ×1
oracle ×1
visual-c++ ×1