Barbara,

Here are a couple things you can do...

First, in your GETLIST command, add the "TO" in your command.  For example,

     GETLIST "SL.HRPER.PLINK" TO 1 SETTING X.CTR THEN , where "1" is a list number.

Then, in the corresponding READNEXT statement, add "FROM".  For example,

     READNEXT X.ID FROM 1 THEN

You might want UniBasic Command Reference manual for other neat tricks.  Also, see 
what I have done to enhance your code.

If you need additional help, you can contact me directly.

Good Luck!

Sincerely,

Grant W. Boice, Jr.
Systems Administrator
Benchmark Electronics, Inc.
Manassas Division
8500 Phoenix Drive
Manassas, VA  20110
 
Phone:  (703) 334-0156
Email:   [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
Web:    www.bench.com <http://www.bench.com> 

********************  MODIFIED CODE:   
****************************************************** 

GETLIST "SL.HRPER.PLINK" SETTING TO 1 X.CTR THEN
  FOR ENTRY = 1 TO X.CTR
    READNEXT X.ID FROM 1 THEN
        READ r.hrper FROM f.hrper, X.ID THEN
      ..........
      GOSUB GET.LAST.PAY.DATE
     NEXT ENTRY
 END ELSE
  ERR.MSG = "No Records Selected from HRPER"
  CRT ERR.MSG
  RETURN
 END

GET.LAST.PAY.DATE:
 EXECUTE "SELECT PAYPRDS"
 EXECUTE "SAVE.LIST SL.PAYPRDS.PLINK"

    GETLIST "SL.PAYPRDS" SETTING TO 2 X.MAX.REC THEN
        FOR X.CTR1 = 1 TO X.MAX.REC
           READNEXT X.PAYPRD.ID FROM 2THEN
             X.PAY.PERIOD.DATE = FIELD(X.PAYPRD.ID, "*", 1,1)
                IF X.PAY.PERIOD.DATE > X.OUT.LAST.PAY.DAY THEN
                   X.OUT.LAST.PAY.DAY = X.PAY.PERIOD.DATE
            END
             ...........
             ...........
     NEXT XCTR.1
      END ELSE
         ERR.MSG = "No Records Selected from  PAYPRDS"
        CRT ERR.MSG
         RETURN

********************************************************************************

-----Original Message-----
From: Riffel-Darter, Barbara [mailto:[EMAIL PROTECTED]
Sent: Thursday, August 05, 2004 12:53 PM
To: [EMAIL PROTECTED]
Subject: [U2] -UNIBASIC - MULTIPLE SAVEDLIST


We are writing  unibasic programs to create extract files for pivotlink
and very new to unidata
environment.

 Is there anyway to have two or more active savedlist at any one time
keeping the readnext pointers in sync?

We realize once you execute a second save.list the first one is gone. So
what technique would
we use to save off multiple selectlist. Would a Readlist do the trick?
What would be the most
efficient way to handle  this?

In the code below once we execute the second save.list and return to the
first paragraph we have lost SL.HRPER.PLINK our primary driver file.

GET.HR.INFO:
 EXECUTE "SELECT HRPER"
 EXECUTE "SAVE.LIST SL.HRPER.PLINK"

 GETLIST "SL.HRPER.PLINK" SETTING X.CTR THEN
  FOR ENTRY = 1 TO X.CTR
    READNEXT X.ID THEN
        READ r.hrper FROM f.hrper, X.ID THEN
      ..........
      GOSUB GET.LAST.PAY.DATE
     NEXT ENTRY
 END ELSE
  ERR.MSG = "No Records Selected from HRPER"
  CRT ERR.MSG
  RETURN
 END

GET.LAST.PAY.DATE:
 EXECUTE "SELECT PAYPRDS"
 EXECUTE "SAVE.LIST SL.PAYPRDS.PLINK"

    GETLIST "SL.PAYPRDS" SETTING X.MAX.REC THEN
        FOR X.CTR1 = 1 TO X.MAX.REC
           READNEXT X.PAYPRD.ID THEN
             X.PAY.PERIOD.DATE = FIELD(X.PAYPRD.ID, "*", 1,1)
                IF X.PAY.PERIOD.DATE > X.OUT.LAST.PAY.DAY THEN
                   X.OUT.LAST.PAY.DAY = X.PAY.PERIOD.DATE
            END
             ...........
             ...........
     NEXT XCTR.1
      END ELSE
         ERR.MSG = "No Records Selected from  PAYPRDS"
        CRT ERR.MSG
         RETURN

Thanks Barb
Barbara Riffel-Darter,Programmer/Analyst
-------
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to