× 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.



Well I spent some time and tried the DS with the Overlay of the file field 
into array, but got this:

*RNF4138 30     48 Externally-Described Field used as array name. 
Definition specification is ignored. 

*RNF7303 30     35 Subfield defined with keyword OVERLAY is too 
big;specification ignored. 

D                 DS 
D FXQS                          70A   Dim(36) 
D  FXQS01                             Overlay(FXQS:1) 
D  FXQS02                             Overlay(FXQS:*next)
D  FXQS03                             Overlay(FXQS:*next)
D  FXQS04                             Overlay(FXQS:*next)
D  FXQS05                             Overlay(FXQS:*next)
D  FXQS06                             Overlay(FXQS:*next)
D  FXQS07                             Overlay(FXQS:*next)
D  FXQS08                             Overlay(FXQS:*next)
D  FXQS09                             Overlay(FXQS:*next)
D  FXQS10                             Overlay(FXQS:*next)
D  FXQS11                             Overlay(FXQS:*next)
D  FXQS12                             Overlay(FXQS:*next)
D  FXQS13                             Overlay(FXQS:*next)
         Etc. Up to 36 

D                 DS 
D SSQS                          15S 0 Dim(12) 
D  SSQS01                             Overlay(SSQS:1) 
D  SSQS02                             Overlay(SSQS:*next)
D  SSQS03                             Overlay(SSQS:*next)
D  SSQS04                             Overlay(SSQS:*next)
D  SSQS05                             Overlay(SSQS:*next)
D  SSQS06                             Overlay(SSQS:*next)
D  SSQS07                             Overlay(SSQS:*next)
D  SSQS08                             Overlay(SSQS:*next)
D  SSQS09                             Overlay(SSQS:*next)
D  SSQS10                             Overlay(SSQS:*next)
D  SSQS11                             Overlay(SSQS:*next)
D  SSQS12                             Overlay(SSQS:*next)

Looks like Duane's example below history??   Like it better than my 
CalBuckets subroutine with multi exsr for each field.

Tried to keep changing to fix but no success..probably right in front of 
me...but did not see....

Got  Brave and remembered reading about creating a pointer pointing to 
memory and then basing my array
on that pointer. 

  Soooo this is what I did to fix. 

Anyone see any problems with fix????

Or have I learned something this evening :)

 * 
* 
D               E DS                  EXTNAME(FXFCAST) Inz 
D @FXQS           S               *   Inz(%addr(FXQS01)) 
D FXQS            S                   like(FXQS01) based(@FXQS) 
D                                      dim(36) 
 
D               E DS                  EXTNAME(F4229L99) 
D @SSQS           S               *   Inz(%addr(SSQS01)) 
D SSQS            S                   like(SSQS01) based(@SSQS) 
D                                     Dim(12) 
 * Down in Code  
C                   Select 
 * 
C                   When      SSCTRY    = CC and 
C                             SSFY      = YY 
C                   Eval      Z         = 1 
 * 
C                   When      SSCTRY    = CC and 
C                             SSFY      = YY + 1 
C                   Eval      Z         = 13 
 * 
C                   When      SSCTRY    = CC and 
C                             SSFY      = YY + 2 
C                   Eval      Z         = 25 
 * 
C                   Endsl 
 * 
 * 
 * 
C                   Eval      X = 1 
 * 
C                   DoW       X <= 12 
 * 
C                   Clear                   WQTY 
C                   EvalR     WQTY = %trimr(FXQS(Z)) 
C     ' ':'0'       Xlate     WQTY          WQTY 
C                   Eval      WQTYN = WQTYN + SSQS(X) 
C                   Eval      FXQS(Z) = %triml(%editc(WQTYN:'4')) 
C                   Eval      X = X + 1 
C                   Eval      Z = Z + 1 
 * 
C                   EndDo 
 *  


 * 
Thanks All Help today I'm going home.

Bill Hopkins 
 




"Bill Hopkins" <BHopkins@xxxxxxxxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
08/14/2003 04:22 PM
Please respond to RPG programming on the AS400 / iSeries

 
        To:     RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>
        cc: 
        Subject:        RE: Character to Numeric can it be cleaned up


Thanks again

Char 70A  file is 36 fields of FXSQ01,FXSQ02,etc.

Num File with 12 Qtys for a year.  exp. SSFile

Start Year 2 years back.

So  would I then use what you have but add. 

D                 DS
D FXQS                          70A  Dim(36)
D  FXQS01                            Overlay(FXQS:1)
D  FXQS02                            Overlay(FXQS:*next)
    .
    .
    .
D   FXQS36                           Overlay(FXQS:*next)

D                 DS
D SSQS                          15S 0Dim(12)
D  SSQS01                           Overlay(SSQS:1)
D  SSQS02                           Overlay(SSQS:*next)
    .
    .
    .
D  SSQS36                           Overlay(SSQS:*next)


D                 DS
D  WQTY                   1     15A
D  WQTYN                  1     15S 0

D  y              S              5U 0
D  x              S              5U 0

                  Eval      StartYear   = %subdt(%date() -
                 %years(3):*Y) 
 
       *loval Setll     CHAR 70A 
                  Read      CHAR 70A
                  Dow       Not %Eof
 
                  Eval      x = 1
 
                  Select
 
 
                  When      SSFile Year  =    StartYear
                  Eval      y = 1
 
 
                  When  SSFile Year  =    StartYear + 1
                  Eval      y = 13
 
 
                  When  SSFile Year  =    StartYear + 2
                  Eval      y = 25

                  Endsl


              DoW       x <= 12 
 
              Clear                   WQTY
              EvalR     WQTY = %trimr(FXQS(y))
' ':'0'       Xlate     WQTY          WQTY
              Eval      WQTYN = WQTYN + SSQS(X)
              Eval      FXQS(y) = %triml(%editc(WQTYN:'4'))
 
                  Eval      x = x + 1
                  Eval      y = y + 1
 
              EndDo

                  Update Char 70A file record
                  Read      CHAR 70A
                  Enddo

Thanks 
Bill Hopkins

 




"Johnson, Duane" <djohnson@xxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
08/14/2003 03:36 PM
Please respond to RPG programming on the AS400 / iSeries

 
        To:     "'RPG programming on the AS400 / iSeries'" 
<rpg400-l@xxxxxxxxxxxx>
        cc: 
        Subject:        RE: Character to Numeric can it be cleaned up


In that case, how about something like this? 

D                 DS
D FXQS                          70A  Dim(36)
D  FXQS01                            Overlay(FXQS:1)
D  FXQS02                            Overlay(FXQS:*next)
    .
    .
    .
D   FXQS36                           Overlay(FXQS:*next)

D                 DS
D SSQS                          15S 0Dim(12)
D  SSQS01                           Overlay(SSQS:1)
D  SSQS02                           Overlay(SSQS:*next)
    .
    .
    .
D  SSQS36                           Overlay(SSQS:*next)


D                 DS
D  WQTY                   1     15A
D  WQTYN                  1     15S 0


D  x              S              5U 0

              Eval      x = 0
              DoW       x < 12 
              Eval      x = x + 1
              Clear                   WQTY
              EvalR     WQTY = %trimr(FXQS(x))
' ':'0'       Xlate     WQTY          WQTY
              Eval      WQTYN = WQTYN + SSQS(X)
              Eval      FXQS(x) = %triml(%editc(WQTYN:'4'))
              EndDo
 
or something along those lines.  I don't remember if you can now do a For 
-
EndFor in normal RPG.  If so, that would probably be more appropriate than
the DoW that I have here.

Duane


> -----Original Message-----
> From:          Bill Hopkins [SMTP:BHopkins@xxxxxxxxxxxxxxxxxxx]
> Sent:          Thursday, August 14, 2003 1:06 PM
> To:            RPG programming on the AS400 / iSeries
> Subject:               Re: Character to Numeric can it be cleaned up
> 
> Thanks Duane and Buck,
> 
> I have Char FXQS?? 70 A buckets 1 thru 36  the SSQS?? 1 thru 12  is 15s 
0
> 
> Char field starts left justified and  has to end left justified 
> 
> So I build "sorry to say" subroutine not procedure to 
> 
> exsr and do this:
> 
> Eval      WQTY   = FXQS01
> Eval      NQTY2  = SSQS01
> Exsr      CalBucket 
> Eval      FXQS01 = WQTY 
> 
> Eval      WQTY   = FXQS02
> Eval      NQTY2  = SSQS02
> Exsr      CalBucket 
> Eval      FXQS02 = WQTY 
> 
> etc.
> 
> CalBucket  Begsr
> 
> Evalr     WQTY  = %trimr(WQTY) 
> MOVE   WQTY          NQTY1 
> Eval      WQTY = %triml(%editc((NQTY1 + NQTY2):'4'))
> 
> Endsr
> 
> Thanks 
> 
> Bill Hopkins
> _______________________________________________
> 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.
_______________________________________________
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.



_______________________________________________
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 thread ...


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.