If you are an rpg programmer on the as400, you must know how to code subfiles. An ibm infoprint server for iseries license is required. Posts about iseries subfile programming written by ben. Select the printer output file that you want to convert. With pageatatime subfiles, you have to clear and build one new page of subfile records every time the user pages and uses a positionto field. Cvtpdf is the premier as400 iseries spool file to pdf conversion software available today. So, to read or write records to a direct access file, you tell the as400 the record number that you want. The pdf is converted into a pcl file device ljet4d, and i pass the duplex and dduplex command line options i have seen both all over the net, so was unsure which was correct. Select basic operations from ibm navigator for i select printer output. Of course, this means that if you are loading the subfile, you will write record number one first, followed by record. To take advantage of these control fields for new subfile programming, in addition to other fields related to the programming logicpattern established to use these fields, the following copy member is created to be copied into all subfile programs so that they are included during the program. How to print a list of files in a windows directory. Clear the subfile load the subfile display the subfile process subfile records selected by the user.
Pdf files can easily be emailed or posted directly to the ifs on the ibm i, iseries or as400 or directly to your server for easy access by end users. Tivoli inventory users guide and tivoli inventory release notes provide information about installing and configuring tivoli inventory, as well as for setting up and gathering system. The dds for the cities file used in this application note. Ibm i iseries as400 pdf drv tech report management. Introduction to subfiles by kevin vandever the code for this article is available for download.
The subfile record is very simple with just four fields. The sflcsrrrn keyword loads a fivedigit hidden field with the relative record number of the subfile record upon which the cursor is located. If the first time you do a readc to the subfile to calculate the value, you should update the subfile record with the sflnextchg indicator on. We will cover the basics and definitions of coding subfiles in rpg. This article focuses on the typical logic flow of a subfile program, along with the coding of both the display file and the rpg400 program to control it. If subfiles are one technique you have been avoiding, this article may be just the ticket for you. If that brings back the queries you are after, then do a 5 by the query to view the query definition. Examples from programming subfiles in cobol400 by jerry. With subfiles you can create a display file with lists of items. The program is written in report program generator rpg. Start by reducing the number of visible rows by clicking the minus sign icon at the bottom of the subfile several times. Examples from programming subfiles in cobol400 by jerry goldson, rmiklos examples, techniques, and other cool stuff, this updated and expanded work is brought up to the present with freeformat rpg examples and other new material.
It can be an editable tabular format due to which it can be used in data entry screen, inquiry static screen or combination of both i. Determine the logic flow of the program to control the screen. Turn over the task of spool file management and report distribution to the users generating the reports. Begin edit i can get the rowcol of where the user clicked on the screen just fine, my problem is when the user scrolls sflbb, sflcc or sfldd down to say the 75th subfile record and then they click on that subfile. By the end of the course you will have coded a loadall, expanding, single page and data entry subfile program and be able to identify and choose the right subfile for an application.
Redisplaying the first page of a subfile is a major annoyance to users. To use a subfile for a display device file in an rpg program, you must specify the sfile keyword on a file description specification for the workstn file. Like many of the best features of the as400, the subfile originally appeared on the ibm s38. A subfile is nothing but just displaying records in tabular format on a display device. Remember to implement subfile processing, you must. It is ibm product and used only in ibm i based systems. Create a display file that has the subfile dds built into it.
Right click or from the select action menu, select export as and pdf using infoprint server. A subfile is a display file where you can place a listing of values and process changes on the list. If we are writing more records in the subfile buffer than the sflsiz declared and sflsiz sflsiz is extended to accommodate all records till the size of 9999. This article focuses on the typical logic flow of a subfile program, along with the coding of both.
Rpgle runs in integrated language environment and supports longer filefield names. Looks like the value of temp should be reinitialised before processing the changes in the subfiles again and recalculating the temp value. Cvtpdf can convert as400 spool files to pdf format for offline storage on inexpensive server drives, to email reports, split spool files into separate pdf files, and even change the. The net result is that subfiles make presenting columns of information easier with their own syntax and structure that you must understand to use subfiles effectively. With expanding subfiles, only the load logic has to be coded in the hll program. The course covers the definition of a subfile and all subfile dds keywords. A subfile is a special type of as400 displayfile record. I do this because not all of you readers are seasoned veterans. Then select to output queue, to integrated file system, or to email to indicate the output requested. Twenty years ago these are the kind of things you had to know to work on the old as400 systems. Rpg stands for report program generator, it is a programming language. This should list all queries beginning with pbrp581. Robot automates report bursting, distribution, bundling, and archiving, and subfiles in rpg iv secure, selective online report viewing. Subfile screen limitatio solutions experts exchange.
This file is a millionplus file of cities of the world it is easily obtained on the internet. As400 reports distribution converts to pdf excel and email. Reports and spool files can easily be distributed to email inbox, printer or posted to file server for easy retrieval. This newsletter normally covers cuttingedge technology, but every once in a while, either by request or by choice, i decide to write a back to basics article. The code accompanying this article is available for download here. In a pageatatime sfllensflpag subfile, there is no limit, since the program only populates one page at a time, and the program receives control back each time pageup or pagedown is pressed. Qad prms and sap as400 as400 subfile page position. If the cursor is not located on a subfile record, this field is zero. Automated engine monitors for newly arriving spool files and converts them to pdf to load on the ifs. The subfile first of all loads the data in subfile buffer. What are the record format field mapping options in cpyf. Software is native ibm system software which means there are no pcs or servers required. Use screen design aid to create and maintain display files that contain subfiles.
Sub files in as400 handling rrn in load all sub file duration. To create a prototype of the report you are designing, do the following on the exit rlu display. In this case pageup and pagedown is taken care by system. There is a single character field that will be used so that the user can enter a value to, for example, edit, view, delete, etc. If its just a simple single field array youre sorting in order to use the much faster binary search possible with %lookup, for example, then sorta works well and is simple. I found these on an old dusty corner of my homeserver. Cost and performance summary report in situ biosolids and solved workaround page numbering on a master document. I just had a brief look at this code and i think you are not using the write subfile command. Easily understood menu interface is intuitive for ibm iseries and system i users. We need to create a folder on the as400 to store the pdf files in. If you need a more fancy report, then check out the freeware utilities. Tivoli for as400 endpoints users guide ix graphical user interface gui and examples using the command line interface cli. Or it could say ibm iseries access then iseries navigator.
This is not going to be subfiles in rpg iv tutorial to explain every keyword in sufiles display file, i am just going to point out certain lines and explain why they are the way they are. In this case sub file size sflsiz must be equal to subfile page sflpag. Using subfiles is an essential skill of the as400 programmer. I needed a way to combine the flexibility of the pageatatime subfile with the capability to process the changed records only when desired. How to create basic load all subfile in as400 ibm i. Subfiles are particularly useful when writing online programs which move a large amount of data between a workstation and the computer. Essentials of subfile programming and advanced topics in rpg. As400 operations navigator or ibm iseries access iseries. Interactive user interface to easily browse system i spool files.
System i as400, iseries, i5 cobol subfile programming. Basic coding figure 2 display file xrd002df a dspsiz24 80 ds3 a refcustmst a print a ca0303 a ca1212 a r detail sfl a select 1a i 12 6 a csnum r o 12 11 a csname r o 12 23 a cscrlt r o 12 56edtcde1 a r header sflctldetail a overlay a sflsiz0050 a sflpag0010 a 31 sfldsp a 32 sfldspctl a 33 sflclr a 34 sflend a 1 31work. Some are new to the industry and want to see more basic. Newbie tutorial rpg code400 the support alternative. Using output specs to print a report using dds specs to print a report rpg program to change database records using a display file debugging rpg ile with the iseries as400 debugger strdbg complete rpg maintenance program using rlu report layout utility to format reports. Enjoy the trip down memory lane or to use old rpg lingo as400nerd cabeq 1 start subfiles what is a subfile.
How do i determine which subfile record the user clicked on if they click on one of the nonactive subfiles. Subfiles are direct access files that are similar to random access files but with a key that is the actual record number. Back to basics introduction to subfiles back to basics. There are any number of ways to build and maintain them.
Subfile processing is an integral part of rpgiv data entry and data display. The list of members that you can see in the pdm is an example of a subfile. Fields with the same name in the fromfile and tofile record formats are copied, and any fields in the tofile that do not exist in the fromfile format are set to the default value specified on the dft keyword for the data description specification dds of the tofile or zero for. Depending upon your level of expertise, you can do. With subfiles, the complexities of writing online programs to manipulate data in a database are reduced. Spoolflex easily bursts, converts and distributes any as400 spool file report.
Allatonce subfiles are loaded in a single pass, and the system handles the pageuppagedown keys for you. If youve got a printed query, its probably generated by a call to runqry qryyourlibyourqry somewhere try going into wrkqry and then in the library field, put libl, then in the query field, put pbrp581 and do f4. If your needs are very simple, the command line method is the easiest and doesnt require any additional tools. Sorting data is something rpg programs often need to do. Reports and spool files can be distributed in many popular formats such as pdf, excel, html, csv, rtf or txt without programming. Puisamplesqrpglesrc grid007r to create a multiline subfile, you will first need to adjust the subfile row height to create space for the second line of data.