home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / bit / listserv / sasl / 3514 < prev    next >
Encoding:
Text File  |  1992-07-31  |  4.8 KB  |  114 lines

  1. Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
  2. Path: sparky!uunet!gatech!paladin.american.edu!auvm!LOBBY.TI.COM!RSNYDER
  3. X-Mailer: ELM [version 2.2 PL16]
  4. Message-ID: <9207311445.AA21000@ti.com>
  5. Newsgroups: bit.listserv.sas-l
  6. Date:         Fri, 31 Jul 1992 09:45:25 CDT
  7. Reply-To:     "R. Snyder" <rsnyder@LOBBY.TI.COM>
  8. Sender:       "SAS(r) Discussion" <SAS-L@UGA.BITNET>
  9. From:         "R. Snyder" <rsnyder@LOBBY.TI.COM>
  10. Subject:      Re: SAS/AF problem
  11. Comments: To: GOVE004%TWNMOE10.BITNET@uga.cc.uga.edu
  12. Comments: cc: sas-l@uga.cc.uga.edu
  13. In-Reply-To:  <9207290945.AA29887@ti.com>; from "Aga Chen" at Jul 29,
  14.               92 1:55 pm
  15. Lines: 97
  16.  
  17. The question:
  18.  
  19. > Dear SAS-Lers:
  20. >  I have developed a tape management system using SAS 6.07/AF on
  21. > MVS/XA system. I imitated the way listing on SAS manu: SAS Screen
  22. > Control Language, Usage Version 6, First Edition, page 197-200.
  23. >
  24. >  I describe you some information:
  25. >  My data file contains some fields: volser no.
  26. >                                     use dept.
  27. >                                     borrow date
  28. >                                     the date should be return
  29. >                                     tape type
  30. >                                        .
  31. >                                        .
  32. >                                        .
  33. >
  34. >
  35. >       On page 199, Display 12.5, I changed the field 'Delete row' to
  36. >   'action' in my program and I can issue commands in the 'action' field.
  37. >    For example, 'D' means 'delete record from data file',
  38. >                 'A' means 'apend a new tape record to the last record',
  39. >                 'R' means 'use department Return tapes borrowed from
  40. >                            our EDP center and from my program's
  41. >                            control to erase the tape record's fields
  42. >                            to blank except volser no. and tape type'
  43. >                 'U' means 'to Update the record and to highlight
  44. >                            the record'.
  45. >
  46. >   The way I use is like the MVS/ISPF funtion 3.4 can manipulate multiple
  47. > entries.
  48. >
  49. >  My problems are:
  50. >   1. When I am trying to delete records by issuing multiple
  51. >      'D' on the action fields, I cannot successfully delete those records.
  52. >    (eg. I issue 3 'D' to delete 3 records but it only delete 1 or 2 records.)
  53. >
  54. >   2. Issuing 'A' on field 'action' to add a new record  but it doesn't
  55. >      work on subset data file, it just works on the whole data file and
  56. >      I cannot put the cursor on the first field of the new record.
  57. >      (Before I make actions on my tape records, I use another screen to
  58. >      find subset records I want to manage. Then, pass the where
  59. >      CLAUSE to next program.)
  60. >
  61. >   3. I issue 'R' but it doesn't work.
  62. >
  63. > 4. I don't know how to highlight the update record and how to show message
  64. >   for us confirmation.
  65. >
  66. > Following is my screens and program:
  67. >
  68. ><Stuff Deleted>
  69. >
  70. > =============================================================================
  71. > Does anyone know of any ways to solve my problem?
  72. > Thanks in advance for any suggestions.
  73. >
  74. > Aga Chen                        Bitnet add. : GOVE004@TWNMOE10
  75.  
  76. Aga,
  77.  
  78. I have a couple of suggestions that I hope will help.
  79.  
  80. a) The SCL manual reccomends that the the set statement come immediately
  81.    after the open statement. Ir may not be a problem, but it is safer
  82.    that way.
  83.  
  84. b) Regarding problem 1: I don't believe that the putrow routine
  85.    neccessarily executes for each row in the table. In fact I believe
  86.    it only executes as required to update the screen. You may need your
  87.    own loop to go through all of the records to search for the D's.
  88.    I also noted that you use the _currow_ variable outside of the getrow
  89.    and putrow routines. I've foud that its value can be unpredictable
  90.    under these circumstances. I usually save a value I want to keep in
  91.    another variable to use later. Unless it is a part of your data set,
  92.    you may also need to setup your action
  93.    field as an array to store multiple designations. This may be tricky
  94.    since you are dealing with an unknown number of recods and may require
  95.    another data set for the purpose. An option may be to put the action
  96.    field above the extended table and then use multiple selections and the
  97.    selected function to handle it.
  98.  
  99. c) Regarding problem 2: Attempting to sort a subsetted data set causes
  100.    the open mode of the data set to be changed to 'i' and fouls everything
  101.    up. The only cure that I know of is to sort it before applying the
  102.    where clause or to remove the where temporarily while sorting. Perhaps
  103.    someone else can help us both out with that mess. At any rate, your
  104.    append will fail.
  105.  
  106. d) Regarding problem 3: i believe that your "R" routine needs an UPDATE
  107.    function to update the data set after you set your variable values.
  108.  
  109. Let me know if any of this is of value.
  110.  
  111. Regards,
  112.  
  113. Bob Snyder, Texas Instruments, Sherman, TX
  114.