× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Alan, thank you for your patience.

Specifying *Output gets close, but:

*RNF7595 The result data structure JCDS does not include a
subfield in position 1 for record format APAM01JCR.

Is raised on: Read(E) APAM01JC jcds;

There is at least one thread in Midrange discussing RNF7595.

The relevant subprocedure F and D specs:

FAPAM01JC UF A E K DISK USROPN Qualified Job Control file

D jcds DS Likerec(APAM01JC.APAM01JCR:*OUTPUT) Job Control DS
*D jcds DS Likerec(APAM01JC.APAM01JCR:*INPUT) Job Control DS
*D jcds DS Likerec(APAM01JC.APAM01JCR:*ALL) Job Control DS
*D jcds E DS Extname(APAM01JC:APAM01JCR:*ALL) Job Control DS

And here, clean at last, the write:

Write(E) APAM01JC.APAM01JCR jcds;

As you see from the collection of D specs, I played whack-a-mole
looking for a combination that would compile, but just exchanged
one or three compile errors for another one or so.

And now: I am keeping the Read and replacing the Write with an SQL Insert.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Campin
Sent: Thursday, March 15, 2012 5:47 PM
To: RPG programming on the IBM i / System i
Subject: Re: Free format read and write in subprocedure

You get that because the data structure is not declared as *Output.

On Thu, Mar 15, 2012 at 5:28 PM, Gary Thompson <gthompson@xxxxxxxxxxx>wrote:

Alan, yes, I did not think of that, so thanks for your extra e-mail.
I like the idea, so am working on it.
Currently getting RNF7701 "The data structure is not allowed..."
but, being stubborn, not going to SQL just yet.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Alan Campin
Sent: Thursday, March 15, 2012 5:12 PM
To: RPG programming on the IBM i / System i
Subject: Re: Free format read and write in subprocedure

Guess I wasn't clear.

Write APAM01JC.APAM01JCR dsYourStructure;

The data structure has to be declared as *OUTPUT.

On Thu, Mar 15, 2012 at 5:08 PM, Gary Thompson <gthompson@xxxxxxxxxxx
wrote:

Alan, WRITE FILENAME raises error RNF5063 "Factor 2 operand must not
be externally described..."

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Alan Campin
Sent: Thursday, March 15, 2012 4:41 PM
To: RPG programming on the IBM i / System i
Subject: Re: Free format read and write in subprocedure

By qualified aren't you saying that you must specify the file name
like APAM01JC.APAM01JCR? The read works because you are specifying
the file name. The write doesn't work because you don't qualify the
record format with the file name or at least that is my theory.

As always my recommendation is stop using file I/O and use SQL.

On Thu, Mar 15, 2012 at 4:21 PM, Gary Thompson
<gthompson@xxxxxxxxxxx
wrote:

I am struggling to get a valid write in free fmt in an RPGLE
subprocedure.

The file is declared as externally described:
FAPAM01JC UF A E K DISK USROPN Qualified

A read within the subprocedure works
Read(N) APAM01JC jcds;

However, the record format, in the write in the subprocedure,
Write(E) APAM01JCR jcds;
triggers *RNF7030. (APAM01JCR is the record format for APAM01JC)

So far, the only path seems to be to declare the file as program
described, which maybe allows me to write to the file (need O
specs ?), but I suspect I am missing something.

--
This is the RPG programming on the IBM i / System i (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i / System i (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.