TechTalk: Subfiles Without Records

RPG
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

From: Carter Combs To: All

I have a subfile payroll maintenance program with a bug that I haven't been able to fix, and hope someone out there can help me with. When an employee number is keyed in, data from the master file is displayed on the top half of the screen for maintenance, and miscellaneous deductions are listed on the bottom (subfile) half, that can also be changed. The program works great except when there are no deductions (i.e., zero records in the subfile). The messages are RPG1255 ("Session or device error occurred") and CPF5012 ("Cannot process sub-file request for file").

The RPG line that causes the error is EXFMT SBFLCTL (subfile control format). Does anyone know of a way to allow maintenance on my non-subfile master file top half, even though there are no records in the subfile on the bottom half? And when there are subfile records, I want all the changeable fields on the same screen at the same time, just as I have already.

From: David Knittle To: Carter Combs

The problem is that OS/400 does not like to display empty subfiles that were initialized with SFLCLR. In the subfile definition, you can put an indicator on the SFLDSP keyword to condition the display. If the subfile has records, set the indicator on; else set it off. I use this all the time, and it works fine.

From: Pete Hall To: Carter Combs

I generally use the following procedure for displaying a subfile:

1. Output (WRITE) a footer with the function key map. This record clears all lines on the display.

2. Turn on the indicator which controls the SFLDSPCTL keyword. This will cause the subfile control record to be written.

3. If there are any records in the subfile, turn on the indicator which controls the SFLDSP keyword. This will cause the subfile data to be output, only if there are records in the subfile.

4. If there are no records in the subfile, output (WRITE) a record which contains the text "No data meets selection criteria" or something similar. The text is positioned where the first or second subfile record would be displayed if there was data in the subfile. The record has the OVERLAY keyword. It does not clear any lines on the display.

5. EXFMT the subfile control record. This record also contains the OVERLAY keyword, so everything which has been previously written to the display is left unmolested. The subfile data will be displayed only if there are records in the subfile. Otherwise, the "No data..." message is left in place.

6. After processing the data returned on the display, turn off the SFL-DSPCTL and SFLDSP indicators, turn on the SFLCLR keyword, and WRITE the subfile control record. This clears the subfile so that it can be rebuilt again from scratch.

This procedure gives you a display which is consistent with OS/400 (except for the "More...").

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: