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