|
Tim, Two things. I think having a DS named OUT may be a problem as it is an RPG op-code. Also, having a DS with the same name as another DS's subfield may be a problem. This works for me: D Qty S 8S 0 Inz * Quantities for 31 days D QMon Ds Qualified D QDay Like(Qty) D Dim(31) D Inz * Quantities for 12 months D QYer Ds Qualified D QMonth LikeDs(QMon) D Dim(12) D Inz(*LikeDs) * Quantities for 3 years D MyHist Ds Qualified D QYear LikeDs(QYer) D Dim(3) D Inz(*LikeDs) *-------------------------------------------------- // This the test 1 /Free Qty = MyHist.QYear(1).QMonth(2).QDay(15); MyHist.QYear(1).QMonth(2).QDay(15) = Qty; /end-free ps. QMon and QYer???? come on Tim, is it really so hard to type Year and Month??? Charles Wilt iSeries Systems Administrator / Developer Mitsubishi Electric Automotive America ph: 513-573-4343 fax: 513-398-1121 > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Tim Kredlo > Sent: Thursday, February 03, 2005 4:04 PM > To: RPG400-L@xxxxxxxxxxxx > Subject: Fully qualified data structures > > > Help! > I am at V5R2. > I am trying to build a qualified data structure of nested > arrays and cannot > tell if I have the syntax correct. > In my attempts I built the following test program (TKTEST) and don't > understand the results I am getting. > Note that in both cases "Out.QYer(1).QMon(2).QDay(15)" are > identical (no > typos). > The only difference is whether I am assigning a value to, or > retrieving a > value from, the data structure. > > This is the first time I have tried to nest arrays and may be > going about it > 'all wrong'. > But if I comment the line where I fill > "Out.QYer(1).QMon(2).QDay(15)" from > QTY, > and leave the line where I fill QTY from > "Out.QYer(1).QMon(2).QDay(15)", > the program compiles. > > D Qty S 8S 0 Inz > * Quantities for 31 days > > D QMon Ds Qualified > D QDay Like(Qty) > D Dim(31) > D Inz > * Quantities for 12 months > D QYer Ds Qualified > D QMon LikeDs(QMon) > D Dim(12) > D Inz(*LikeDs) > * Quantities for 3 years > D Out Ds Qualified > D QYer LikeDs(QYer) > D Dim(3) > D Inz(*LikeDs) > *-------------------------------------------------- > > // This the test 1 > /Free > > 003000 Qty = Out.QYer(1).QMon(2).QDay(15); > > 003100 Out.QYer(1).QMon(2).QDay(15) = Qty; > > ======> a b > > *RNF5008 20 a 003100 Factor 1 operand is not valid; defaults to > blanks. > *RNF5507 30 b 003100 A semi-colon is not specified at > the end of a > free-format > specification. > > /End-Free > > Compile errors with line#s: > *RNF7030 30 003000 The name or indicator QDAY is not defined. > > *RNF5064 20 003000 An array index is specified for > name that is not > an array. > *RNF7064 30 003000 The Factor 2 operand QYER of IN or > OUT is not a > data area. > Compile errors at listing end. > *RNF5008 20 1 Factor 1 operand is not valid; defaults to blanks. > > *RNF5064 20 1 An array index is specified for name that is not an > array. > *RNF5507 30 1 A semi-colon is not specified at the end > of a free-format > > specification. > > *RNF7030 30 1 The name or indicator is not defined. > > *RNF7064 30 1 The Factor 2 operand of IN or OUT is not a > data area. > > *-------------------------------------------------- > > // This the test 2 > /Free > Qty = Out.QYer(1).QMon(2).QDay(15); > // Out.QYer(1).QMon(2).QDay(15) = Qty; > > /End-Free > > Program TKTEST placed in library EXPRDPGM. 00 highest > severity. Created on > 02/03/05 at 12:45:47. > > Thanks in advance for your help. > > Tim Kredlo > Exterior Wood, Inc > > > > > -- > This is the RPG programming on the AS400 / iSeries (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 mailing list archive is Copyright 1997-2025 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.