RLU的意思為Report Layout Utility(報表設計工具)。
來源
PRG程式設計的初衷就是為了設計報表以供系統列印。隨著技術的改進和OS/400版本的不斷升級,現在的許多輸出設備都已經改變了傳統報表的用法,原來使用程式定義定義檔案設計報表,目前則經常採用報表設計工具RLU來設計列印檔案PRTF,然後再通過RPGIV+PRTF組合來編製程序。
用途
可用來互動式定義列印報表的格式分布,建立列印檔案,且可以將用戶設計的報表格式分布規範地自動轉換成DDS原始碼,簡化了報表的設計和修改,使用它可以在螢幕上直觀地設計列印報表。
STRRLU:可以進入報表編輯畫面,對原有螢幕編輯也可通過在WORK WITH MEMBERS USING PDM(WRKMBRPDM)螢幕上使用選項19(CHANGE USING RLU)功能來實現。
使用方法舉例
以RLU設計一個A3紙型(11×12inch、鏈式列印紙)為例。
[size=16:68ad0b6317][b:68ad0b6317]
一、pf檔案說明:[/b:68ad0b6317][/size:68ad0b6317]
1、EDISYSTEM/QDDSSRC(REFILE)為數據公共字典PF:
[code:1:68ad0b6317]
A*CREATEBYTRF.LIUYUANYAO2004.12.12
A*DATADICTIONARYREFERENCEFILE
A*----------------------------------------------------
ARREFMT
**
A*CHARACTERSET
ACODE5A
AID7A
**
A*dbcs-OPENSET
ANAME112O
ANAME212O
ADESCRPT30O
**
A**NUMERIALSET
AAMOUNT152
APRICE112
AQUATITY70
**
A**DATESET
ADATE1L[/code:1:68ad0b6317]
2、EDISYSTEM/QDDSSRC(EMPLOYEES)為參照數據公共字典的其中一個PF:
[code:1:68ad0b6317]
A*PROGRAMER:TRF.LIUYUANYAO2004.12.14
A*PROGRAMNAME:EMPLOYEES
A*****************************************************************
AREF(*LIBL/REFILE)
AUNIQUE
AREMPLOY
AEYCODERREFFLD(ID)
ACOLHDG('雇員碼')
ADPCODERREFFLD(CODE)
ACOLHDG('部門碼')
AEYNAMERREFFLD(NAME2)
ACOLHDG('雇員名')
ASUBTOTALRREFFLD(AMOUNT)
ACOLHDG('小計')
A*
AKEYCODE
AKDPCODE[/code:1:68ad0b6317]
[size=16:68ad0b6317][b:68ad0b6317]
二、使用RLU的具體操作步驟:[/b:68ad0b6317][/size:68ad0b6317]
[b:68ad0b6317]2.1為列印檔案選擇資料庫:[/b:68ad0b6317]
1、在OS/400命令行敲入STRRLU+F4,分別在Sourcefile、Library、Sourcemember輸入對應內容,並且定義Pagewidth...198。
[code:1:68ad0b6317]
StartReportLayoutUtility(STRRLU)
Typechoices,pressEnter.
Sourcefile..........>QDDSSRCName,*PRV
Library...........>EDISYSTEMName,*LIBL,*CURLIB,*PRV
Sourcemember.........>LPRTF01Name,*PRV
Option.............22,6
Pagewidth...........>1981-378,*SAME
Text'description'.......>'DEMOforDesignReport'
Bottom
F3=ExitF4=PromptF5=RefreshF12=CancelF13=Howtousethisdisplay
F24=Morekeys[/code:1:68ad0b6317]
2、執行後出現如下效果,RLU展示出報表設計屏面。
我們可以使用SEU對其進行編輯:左邊的'''''''為功能定義區域,空白區為設計編輯顯示區域;左側開始BASE顯示了列印時出標尺;...+...1...+...2最大可以定義378個字元位置。
[code:1:68ad0b6317]
Columns...:171DesignReportEDISYSTEM/QDDSSRC
RLU==>LPRTF01
BASE...+...1...+...2...+...3...+...4...+...5...+...6...+...7
-------------------------StartofPage001---------------------------
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
---------------------------EndofReport-----------------------------
F3=ExitF11=DefinefieldF16=Deletefield
F22=AlternativekeysF24=Morekeys
Recordlengthofsourcefilegreaterthan92.+
[/code:1:68ad0b6317]
3、按F10,輸入Library、File、Record,將游標停在Field欄按F4:
[code:1:68ad0b6317]
WorkwithDatabaseFields
Typeoptions,pressEnter.
1=Addfield4=Remove8=Displayfielddescription
OptionFieldLibraryFileRecord
1EDISYSTEMEMPLOYEESEMPLOY
(Nodatabasefieldsselected)
Bottom
F3=ExitF4=PromptF5=RefreshF12=CancelF16=Deleteallfields
[/code:1:68ad0b6317]
4、出現如下界面後再在Field欄按F4:
[code:1:68ad0b6317]
AddDatabaseFields
Typechoices,pressEnter.
File...........EMPLOYEESName,F4forlist
Library........EDISYSTEMName,*LIBL,*CURLIB
Recordformat......EMPLOYName,F4forlist
Field..........Name,F4forlist
F4=PromptF5=RefreshF12=Cancel
Specifyfieldname.
[/code:1:68ad0b6317]
5、執行後可見下圖,鍵入1=Select,選擇資料庫所有的欄位;然後連續鍵入3次執行:
[code:1:68ad0b6317]
SelectDatabaseFields
File........:EMPLOYEESRecord.......:EMPLOY
Library.....:EDISYSTEM
Positionto.....Field
Subset........*ALL*ALL,name,*generic*
Typeoptions,pressEnter.
1=Select8=Displayfielddescription
Column
OptFieldLengthTypeHeading
1DPCODE5CharacterDPCODE
1EYCODE7CharacterEYCODE
1EYNAME12BracketedDBCSEYNAME
1SUBTOTAL15,2ZoneddecimalSUBTOTAL
Bottom
F5=RefreshF11=DisplayunsortedF12=Cancel
DBCScharactersinfieldDPCODEcolumnheading.Headingdefaultstofield...+
[/code:1:68ad0b6317]
6、我們可以發現剛才所選擇的資料庫欄位已經放置在設計界面底端。
[code:1:68ad0b6317]
Columns...:171DesignReportEDISYSTEM/QDDSSRC
RLU==>LPRTF01
BASE...+...1...+...2...+...3...+...4...+...5...+...6...+...7
-------------------------StartofPage001---------------------------
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
---------------------------EndofReport-----------------------------
1:DPCODE2:EYCODE3:EYNAME4:SUBTOTAL
F3=ExitF11=DefinefieldF16=Deletefield
F22=AlternativekeysF24=Morekeys
[/code:1:68ad0b6317]