使用SQL,是否可以创建具有与其原始文件(PF)相同的格式级别标识符的全局临时表?

Aka*_*tty 0 rpgle db2-400 ibm-midrange

程序A调用程序B。我正在基于程序B中的文件A创建全局临时表。

我必须打开并阅读程序A中的临时表。我在F Spec中使用EXTFILE操作码来编译程序A。

fFILEA   if   e             disk    extfile(wrk_filnam)
f                                      usropn

/free

wrk_filnam = 'QTEMP/TEMP_TABLE'

open FILEA

/end-free
Run Code Online (Sandbox Code Playgroud)

当我返回到程序A和打开文件A时,由于使用新的格式级别标识符创建了临时表,因此出现级别检查错误。

有解决方法吗?如果我可以使用CRTDUPOBJ,那就太好了。

jma*_*phy 5

只要您确保与原始记录格式名称相同,该sql语句DECLARE GLOBAL TEMPORARY TABLE tmptable LIKE srctable RCDFMT srcfmttmptable使用相同的格式级别标识符创建。srctablesrcfmt

您是否使用正确的文件进行编译以获得正确的级别标识符?您可以使用DSPPGMREF找出程序期望的每个文件的级别标识符。