Re: Declaring an external printer file
Daniel Gross <[email protected]>
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
I often use a simple snd-msg *escape ... %target(*self); This jumps directly into ON-EXIT and triggers the isAbnormalEnd indicator to *ON - and it documents what happened in the code and in the job log - and spares me another indicator. Our beloved RPG really gets "grown up" in the last few years. HTH Daniel > Am 19.08.2025 um 19:54 schrieb Greg Wilburn <[email protected]>: > > 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. > -- 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.