Using a Program-Described WORKSTN File without a Format Name ... 340
Valid WORKSTN File Operations ......................... 341
EXFMT Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
READ Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
WRITE Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Multiple-Device Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Chapter 19. Example of an Interactive Application ............. 345
Database Physical File ............................... 345
Main Menu Inquiry .................................. 346
MAINMENU: DDS for a Display Device File ................. 346
CUSMAIN: RPG Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
File Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
CUSMSTL1: DDS for a Logical File ...................... 349
MNTMENU: DDS for a Display Device File .................. 350
CUSMNT: RPG Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Search by Zip Code ................................. 358
CUSMSTL2: DDS for a Logical File ...................... 358
SZIPMENU: DDS for a Display Device File .................. 359
SCHZIP: RPG Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Search and Inquiry by Name ............................ 364
CUSMSTL3: DDS for a Logical File ...................... 364
SNAMMENU: DDS for a Display Device File ................. 365
SCHNAM: RPG Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Appendix A. Behavioral Differences Between OPM RPG/400 and ILE
RPG for AS/400 .................................. 373
Compiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Debugging and Exception Handling ........................ 374
I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
DBCS Data in Character Fields .......................... 377
Appendix B. Using the RPG III to RPG IV Conversion Aid ........ 379
Conversion Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
File Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
The Log File .................................... 381
Conversion Aid Tool Requirements ....................... 381
What the Conversion Aid Won't Do ....................... 382
Converting Your Source ............................... 382
The CVTRPGSRC Command .......................... 383
Converting a Member Using the Defaults ................... 387
Converting All Members in a File ........................ 388
Converting Some Members in a File ...................... 388
Performing a Trial Conversion .......................... 388
Obtaining Conversion Reports .......................... 389
Converting Auto Report Source Members ................... 389
Converting Source Members with Embedded SQL .............. 390
Inserting Specification Templates ........................ 390
Converting Source from a Data File ...................... 390
Example of Source Conversion ........................... 390
Contents ix