0
我试图创建一个单一的代理查询我们的appserver
,它采用下列参数:传递空的DataSet APPSERVER
editTest.p
DEFINE TEMP-TABLE TT_Test NO-UNDO
BEFORE-TABLE TT_TestBefore
FIELD fieldOne LIKE MyDBTable.FieldOne
FIELD fieldTwo LIKE MyDBTable.FieldTwo
FIELD fieldThree LIKE MyDBTable.FieldThree
.
DEFINE DATASET dsTest FOR TT_Test.
/* Parameters */
DEF INPUT-OUTPUT PARAM DATASET FOR dsTest.
的想法是,该程序将以两种不同的方式调用此过程:
- 带有传递的数据集参数:读取传递的数据集并根据它的更新更新数据库
- 没有通过数据集参数/未知/取消设置:填写
TT_Test
并返回数据集客户端编辑
有什么方法来创建这样的代理?简单的解决方案是将get
和insert,modify,delete
分开为2个自己的代理文件,所以客户端总是先获取数据集,然后再传递给第二个。不过,我想在这个文件中实现这个功能。
关键是使用数据集,因此对数据所做的更改可以几乎自动更新。
当前参数是表柄,其工作原理好的。我从前端向应用服务器发送一个虚拟的空'测试'表,该服务器可以很好地接收它。问题是,我无法设置/更改'TABLE-HANDLE'指向我填充的本地'TT_Test'临时表。我尝试使用'thMyHandle:HANDLE:CREATE-LIKE(TEMP-TABLE TT_Test'没有成功.. – W0lfw00ds
我不认为你可以通过重新分配句柄变量来交换临时表。但是如果你有一个本地TT_Test,你应该能够将这些记录复制到传入的临时表中。使用'BUFFER-COPY'命令在临时表之间复制记录。 – TheDrooper