我正在尝试查询火箭宇宙数据库。在大多数情况下,它都有效,直到我遇到某些类型为 I 的字段(不是全部,而是一些)。在供应商文档 (EPICOR ECLIPSE) 中,它作为注释提到以下内容,“任何包含对公共文件句柄的引用的字典都将在不调用 'OPEN.STANDARD.FILES' 的情况下工作,因此您可能需要包装标准字典。”
所以我的问题是如何做到这一点?
当我直接从 TCL 查询数据库时(cd c:/u2/eclipse 并键入“uv”以进入 TCL 环境),我得到以下信息。
"LIST PSUB TSN.COMMENT 07:37:39am 22 Mar 2014 PAGE 1
@ID..................................... TSN..........
**Program "DICT.GET.LEDGER.DET.VALUE": Line 9, Improper data type.**
当我在供应商的应用程序环境中运行相同的查询时,它可以工作。他们的环境是一个类似 DOS 的菜单系统,它也允许下拉到 TCL 环境。但是,显然他们的托管环境中的某些东西满足了成功查询所需的依赖关系。
子程序的前几行如下:
>ED OC OPEN.STANDARD.FILES
429 lines long.
----: P
0001: SUBROUTINE
0002: $INCLUDE AD.DIR CC~COMMON
0003: *
0004: *
0005: *
0006: *
0007: *
0008: *
0009: *
0010: *
0011: *
0012: *
0013: *
0014: *
0015: *
0016: *
0017: *
0018: *
0019: *
0020: IF FILES.ARE.OPEN$ THEN RETURN
0021: *
0022: OPEN 'ABC.CODES' TO ABCCFILE ELSE
----:
0023: FLNM = 'ABC.CODES'
----:
0024: GOSUB EXIT.OPN
.
.
.