如何於執行同一支 RPG 報表程式時,能動態的更改報表名稱?
在此所指的報表名稱,不是印在報表上的報表名稱,而是存在於系統中以供
辨別的報表名稱(Spooled File),即是執行 WRKSPLF (Work with Spooled Files)
指令畫面中的 File 欄位,系統的預設值是 *FILE,即是您程式中所開啟的報表
檔名(Printer File),若您的程式均是使用 QSYSPRT 為報表檔案,則系統中所產生的
報表檔案均為 QSYSPRT,您可使用如下方式將之區分開來:
WRKSPLF 指令畫面如下:
Work with All Spooled Files
Type options, press Enter.
1=Send 2=Change 3=Hold 4=Delete 5=Display 6=Release 7=Messages
8=Attributes 9=Work with printing status
Device or Total Cur
Opt File User Queue User Data Sts Pages Page Copy
QSYSPRT CHANCY QPRINT RDY 1 1
QSYSPRT CHANCY QPRINT 統計表 RDY 11 1
QSYSPRT CHANCY QPRINT 統計表 RDY 18 1
QSYSPRT CHANCY QPRINT RDY 24 1
QSYSPRT CHANCY QPRINT RDY 9 1
QSYSPRT CHANCY QPRINT RDY 3 1
QSYSPRT CHANCY QPRINT RDY 1 1
TAIPEI CHANCY QPRINT 統計表 RDY 2 1
QSYSPRT CHANCY QPRINT RDY 1 1
More...
Parameters for options 1, 2, 3 or command
===>
F3=Exit F10=View 4 F11=View 2 F12=Cancel F22=Printers F24=More keys
在開啟報表檔案之前執行下列指令:
OVRPRTF FILE(QSYSPRT) USRDTA(統計表)
--> 報表檔案名稱 QSYSPRT , 但可透過 User Data 欄位值辨別您的報表。
OVRPRTF FILE(QSYSPRT) SPLFNAME(TAIPEI) USRDTA(統計表)
--> 報表檔案名稱 X123456 , 可透過 File 及 User Data 欄位值辨別您的報表。
透過以上指令的執行,讓使用者能更快速的找到他們自己的報表。
OVRPRTF 指令可以在 CLP 及 RPG 中使用,
如 CLP:
PGM
OVRPRTF FILE(QSYSPRT) SPLFNAME(TAIPEI) USRDTA(統計表)
CALL STATRPTR
DLTOVR FILE(*PRTF)
ENDPGM
如 RPG:
FQSYSPRT O F 132 PRINTER UC
*
INAMCMD DS 60
I 50 59 NAME
I 'OVRPRTF -C OVRCMD
I 'FILE(QSYSPRT) -
I 'SPLFNAME( )'
*
C MOVELOVRCMD NAMCMD
*
* Assign first name ********************************************
*
C MOVEL'RPT01' NAME
* OVRPRTF FILE(QSYSPRT) SPLFNAME(&NAME)
C Z-ADD60 CMDLEN 155
C CALL 'QCMDEXC'
C PARM NAMCMD
C PARM CMDLEN
C OPEN QSYSPRT
C EXCPTEX40
C CLOSEQSYSPRT
*
* Assign second name ********************************************
*
C MOVEL'RPT02' NAME
C Z-ADD60 CMDLEN 155
C CALL 'QCMDEXC'
C PARM NAMCMD
C PARM CMDLEN
C OPEN QSYSPRT
C EXCPTEX40
C CLOSEQSYSPRT
C SETON LR
*
OQSYSPRT E 203 EX40
O 50 'HEADER POSITION'
O E 1 EX40
O NAME 50
O E 1 EX40
O 50 'END OF LIST'
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期二, 10月 31, 2023
2001-08-23 如何於執行同一支 RPG 報表程式時,能動態的更改報表名稱?
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言