RE: Declaring an external printer file
Greg Wilburn <gwilburn-kuYYJ3CQfvZxq3Q2jbZZw/[email protected]>
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <PH0PR17MB48632079FD0EFB4CA036F8D4DA30A@PH0PR17MB4863.namprd17.prod.outlook.com> |
Thanks all! I'll do option 2 (usropn). I use on-exit all the time - it cuts way down on code. I found it works great with a "success" indicator for commit or rollback. -----Original Message----- From: RPG400-L <[email protected]> On Behalf Of Daniel Gross Sent: Tuesday, August 19, 2025 11:58 AM To: [email protected] Subject: Re: Declaring an external printer file Hi Greg, the compiler doesn't generate I-specs for files defined in a sub-procedure. So either define the file IN the sub-procedure and always use data structures for all output statements. Or define the file globally with USROPN - let the compiler generate global I-specs - use the file like normal - and just only open and close it inside the procedure. Either way, I recommend closing the file in the ON-EXIT section like that: on-exit; if %open(...); close ...; endif; This way, the file always gets correctly closed - even if the procedure ends abnormally. HTH Daniel > Am 19.08.2025 um 17:31 schrieb Greg Wilburn <[email protected]>: > > I would like to declare a printer file in a sub procedure... but I can't seem to get the program to compile. > If I move it to the program level, it compiles just fine. > > When the DCL-F is in the sub procedure, I get RNF7274: A result data structure is required for I/O operations to file MYPRTF > > The goal is to only open the externally described printer file when that particular sub proc is called, and close it when the procedure is finished. > > TIA > Greg > > [Logo]<https://www.totalbizfulfillment.com/> Greg Wilburn > Director of IT > 301.895.3792 ext. 1231 > 301.895.3895 direct > [email protected]<mailto:[email protected]> > 1 Corporate Dr > Grantsville, MD 21536 > www.totalbizfulfillment.com<http://www.totalbizfulfillment.com> > -- > This is the RPG programming on IBM i (RPG400-L) mailing list > To post a message email: [email protected] > To subscribe, unsubscribe, or change list options, > visit: https://lists.midrange.com/mailman/listinfo/rpg400-l > or email: [email protected] > Before posting, please take a moment to review the archives > at https://archive.midrange.com/rpg400-l. > > Please contact [email protected] for any subscription related questions. > -- This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/rpg400-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l. Please contact [email protected] for any subscription related questions. Greg Wilburn Director of IT 301.895.3792 ext. 1231 -- This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/rpg400-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l. Please contact [email protected] for any subscription related questions.