私はパラメータハンドラを上書きしようとしていますので、異なるスキーマを持つ別の一時テーブルを指しています。別の一時テーブルを指すように `TABLE-HANDLER`を編集してください
myProcedure.p
DEFINE TEMP-TABLE TT_RealTable NO-UNDO
BEFORE-TABLE TT_RealTableBefore
FIELD name AS CHAR
.
DEF INPUT-OUTPUT PARAM TABLE-HANDLE TH_NewTable.
CREATE TT_RealTable.
ASSIGN TT_RealTable.name = "Ben".
CREATE TT_RealTable.
ASSIGN TT_RealTable.name = "Harry".
異なるスキーマおよび内容をランダムパラメータTEMP-TABLE
にTH_NewTable
ポイント。私はをTT_RealTable
で上書きします。私が設定しようとすると:
TH_NewTable = TEMP-TABLE TT_RealTable:HANDLE.
プログラムはTT_RealTableのスキーマ/メタデータは、ハンドラのものと一致しないことを言って、実行時にクラッシュします。
私はTT_RealTable:HANDLE
を指すようにハンドラを上書きし、出力として返しますか?
私は 'TH_NewTable:HANDLE:CREATE-LIKE(TEMP-TABLE TT_RealTable:CREATE).'を' CREATE TEMP-TABLE'のように使ってみました。成功なし。 – W0lfw00ds
私はINPUT-OUTPUTを使用せずに単に 'INPUT TABLE-HANDLE'と' OUTPUT TABLE'に分けました。出力は常にわかりますが、入力はデータや行を含まない '空のテーブル'にすることができます。空のテーブルをハンドラとして渡して上書きし、塗りつぶしたテーブルを 'OUTPUT'として返します。 – W0lfw00ds