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



Check the key/access path. Is it in descending order? Look at the DDS and
verify that it is or isn't what you expected it to be.

-Bob Cozzi
www.RPGxTools.com
RPG xTools - Enjoy programming again.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of steema@xxxxxxxxxxxxx
Sent: Wednesday, December 28, 2005 10:48 AM
To: RPG programming on the AS400 / iSeries
Subject: End of story for now

The expanded logical provokes more records into the subfile.
Not sure why am open to analyzing the code and data.


> I am prepared to be proven wrong. Off line I will send the entire code.
> I will send a donation to Katrina victims in your honor.
>
>> It's NOT your key list...
>>
>> The variable sflpag is where your problem lies...
>>
>>
>> Thanks,
>> Tommy Holden
>>
>>
>> -----Original Message-----
>> From: rpg400-l-bounces@xxxxxxxxxxxx
>> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of steema@xxxxxxxxxxxxx
>> Sent: Wednesday, December 28, 2005 10:16 AM
>> To: RPG programming on the AS400 / iSeries
>> Subject: RE: Why does this loop only pick up the first rec of a group
>>
>> I am thinking of a work around, to make the key containing many more
>> fields. I think that will work, but still why.
>>> What's the value of sflpag? The loop control variable, not the DSPF
>>> keyword.
>>>
>>>> -------- Original Message --------
>>>> Subject: RE: Why does this loop only pick up the first rec of a group
>>>> From: steema@xxxxxxxxxxxxx
>>>> Date: Wed, December 28, 2005 10:48 am
>>>> To: "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
>>>>
>>>> Thank you Joe. This is the DDS for the subfile pag.   I know the
>> problem
>>>> is in the initial build bec. I debugged at that point and the records
>>>> are
>>>> not correct.
>>>>
>>>>    A          R SFL1                      SFL
>>>>       A*
>>>>       A  74                                  SFLNXTCHG
>>>>       A            OPTION         1A  B 10  3VALUES(' ' '2' '4' '5')
>>>>       A            BAACCT    R        O 10  7REFFLD(ZZF01/BAACCT
>> *LIBL/M
>>>>       A            BAINVN    R        O 10 21REFFLD(ZZF01/BAINVN
>> *LIBL/M
>>>>       A            BABOL     R        O 10 38REFFLD(ZZF01/BABOL
>> *LIBL/M
>>>>       A            BAPRO     R        O 10 56REFFLD(ZZF01/BAPRO
>> *LIBL/M
>>>>       A            BASTAT    R        O 10 74REFFLD(ZZF01/BASTAT
>> *LIBL/M
>>>>  A          R SF1CTL                    SFLCTL(SFL1)
>>>>  A*
>>>>  A                                      CF06
>>>>  A                                      SFLSIZ(0013)
>>>>  A                                      SFLPAG(0012)
>>>>  A                                      ROLLUP
>>>>  A                                      OVERLAY
>>>>  A N32                                  SFLDSP
>>>>  A N31                                  SFLDSPCTL
>>>>  A  31                                  SFLCLR
>>>>  A  90                                  SFLEND(*MORE)
>>>>  A            RRN1           4S 0H      SFLRCDNBR
>>>>  A                                  9  7'ACCT#'
>>>>  A                                      DSPATR(HI)
>>>>  A                                  9 21'INVOICE'
>>>>  A                                      DSPATR(HI)
>>>>  A                                  9 37'BOL #  '
>>>>  A                                      DSPATR(HI)
>>>>  A                                  4  2'POSITION TO  . . . ACCT'
>>>> A            PACCT     R        B  4 30REFFLD(ZZLF01/BAACCT *LIBL/M
>>>> A                                      DSPATR(HI)
>>>>      A                                  9  2'OPT'
>>>>
>>>>
>>>> Here is some code I switched back to one file. I was trying to read
>> one
>>>> and update another but it is the same basic code.
>>>>
>>>> c*  Clear then build the initial subfile
>>>> C                   exsr      clrsf1
>>>> C                   exsr      sflbld
>>>> C*
>>>> C                   dou       cfkey = exit
>>>> C                   write     fkey1
>>>> C                   exfmt     sf1ctl
>>>>  * Process position to information entered by the user, then clear
>>>>
>>>> C                   select
>>>> C                   when      (cfkey = enter) and (pacct <> *blanks)
>>>> C     *loval        setll     mllc1wa
>>>> C                   exsr      clrsf1
>>>> C                   exsr      sflbld
>>>> C                   clear                   pacct
>>>> c                   when      (cfkey = enter)
>>>> C                   exsr      prcsfl
>>>>  *
>>>> C                   when      (cfkey = rollup) and (not *in32)
>>>> C                   exsr      sflbld
>>>>
>>>> C                   when      cfkey = cancel
>>>> C                   leave
>>>>
>>>> C                   endsl
>>>> C                   enddo
>>>>
>>>> C                   eval      *inlr = *on
>>>>
>>>>
>>>> C     clrsf1        begsr
>>>>  *
>>>>  * Clear relative record numbers and subfile
>>>>  *
>>>> C                   eval      rrn1 = *zero
>>>> C                   eval      lstrrn = *zero
>>>> C                   eval      *in31 = *on
>>>> C                   write     sf1ctl
>>>> C                   eval      *in31 = *off
>>>> C                   eval      *in32 = *off
>>>> C                   endsr
>>>>
>>>>
>>>> C     sflbld        begsr
>>>>  *
>>>>  * Make RRN1 = to the last relative record number of the subfile
>>>>  * so that the load process will correctly add records to the bot
>>>>
>>>>  *
>>>> C                   eval      rrn1 = lstrrn
>>>>  *
>>>>  * Load the subfile with one page of data or until end-of-file
>>>>  *
>>>> C                   do        sflpag
>>>> C                   read      zzlc1wa
>> 90
>>>> C                   if        *in90
>>>> C                   leave
>>>> C                   endif
>>>> C                   eval      rrn1 = rrn1 + 1
>>>>
>>>> C                   eval      option = *blank
>>>> C                   write     sfl1
>>>> C                   enddo
>>>>  * If no records are loaded to subfile, don't display it
>>>>  *
>>>> C                   if        rrn1 = *zero
>>>> C                   eval      *in32 = *on
>>>> C                   endif
>>>>  *
>>>> C                   eval      lstrrn = rrn1
>>>>  *
>>>> C                   endsr
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> > There is a lot of information missing from your post, and perhaps a
>>>> couple
>>>> > of misconceptions.
>>>> >
>>>> > First, why do you think we need to know about the KLIST asbkey?  It
>> is
>>>> not
>>>> > used in your code, so it's irrelevant to the problem.
>>>> >
>>>> > Second, at the very minimum we would have to know the contents of
>>>> sflpag,
>>>> > as
>>>> > well as the code that initially positions the mllc1wb file (if
>> any).
>>>> It
>>>> > would probably be good to see the line of code that defines rrn1 to
>> be
>>>> the
>>>> > subfile record number for sfl1, as well, but we can take your word
>> for
>>>> > that
>>>> > one.
>>>> >
>>>> > Finally, it would be nice to know WHICH record was written to the
>>>> subfile.
>>>> >
>>>> > Joe
>>>> >
>>>> >
>>>> >> From: steema@xxxxxxxxxxxxx
>>>> >>
>>>> >> the file has records as such:
>>>> >>
>>>> >> 50079       1           1             60,239,717           1
>>>> > (...)
>>>> >> 50079       1           1             60,239,723           7
>>>> >>
>> ..
>>>> >>
>>>> >> C                   do        sflpag
>>>> >> C                   read      mllc1wb
>>>> 90
>>>> >> C                   if        *in90
>>>> >> C                   leave
>>>> >> C                   endif
>>>> >> C                   eval      rrn1 = rrn1 + 1
>>>> >> C                   eval      option = *blank
>>>> >> C                   write     sfl1
>>>> >> C                   enddo
>>>> >>
>>>> >> Yet the subfile only loads the first record
>>>> >
>>>> >
>>>> > --
>>>> > 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.
>>>
>>>
>>
>> --
>> 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 ...

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.