home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG107.ARC / DBLIBRY.LBR / LIBEDIT.CQD / LIBEDIT.CMD
OS/2 REXX Batch file  |  1979-12-31  |  3KB  |  100 lines

  1. ***************************** LIBEDIT.CMD
  2. ************* Allows user to look up a reference
  3. ************* by primary author name, and change
  4. ************* data.  Automatically updates the
  5. ************* keyword history file.
  6.  
  7. ************* Set up databases and memory variables.
  8. SELE PRIM
  9. USE LIBRARY INDEX AUTHORS,DATES
  10. SELE SECO
  11. USE KEYWORDS INDEX KEYWORDS
  12. SELE PRIM
  13. STORE "              " TO K1,K2,K3,K4,K5,K6,K7
  14.  
  15. ************** Find out who to edit.
  16. ERASE
  17. ?
  18. ACCEPT " Enter Main Author's last name " TO SEARCH
  19. STORE !(SEARCH) TO SEARCH
  20. ERAS
  21.  
  22. *************** Determine if 0, 1 or many references
  23. *************** By this author, and react accordingly.
  24. FIND &SEARCH
  25.  
  26.  
  27. STORE 0 TO HOWMANY
  28. COUNT WHILE !(AUTHOR) = SEARCH TO HOWMANY
  29.  
  30.  
  31. DO CASE
  32.  
  33.    CASE HOWMANY = 0
  34.         STORE 0 TO RECNO
  35.         ?
  36.         ? " There is no &SEARCH on the database."
  37.         ?
  38.         WAIT
  39.  
  40.    CASE HOWMANY = 1
  41.         FIND &SEARCH
  42.         STORE # TO RECNO
  43.  
  44.    CASE HOWMANY > 1
  45.         FIND &SEARCH
  46.         LIST WHILE LNAME = &SEARCH AUTHOR, TITLE, PUB
  47.         ?
  48.         INPUT " Which one (by number) " TO RECNO
  49.  
  50. ENDCASE
  51.  
  52. *********** Edit appropriate record, if recno > 0
  53. ERASE
  54. IF RECNO > 0
  55.  
  56.    GOTO RECNO
  57.    *************** Peel out individual keywords from
  58.    *************** the long KEYWORDS field in the
  59.    *************** library database.
  60.    STORE 2 TO START
  61.    STORE 1 TO COUNT
  62.    STORE KEYWORDS TO TEMP
  63.    DO WHILE "," $(KEYWORDS)
  64.       STORE STR(COUNT,1) TO SCOUNT
  65.       STORE $(KEYWORDS,START,@(",",KEYWORDS)-2) TO K&SCOUNT
  66.       REPLACE KEYWORDS WITH $(KEYWORDS,@(",",KEYWORDS)+1,50)
  67.       STORE COUNT+1 TO COUNT
  68.    ENDDO (while "," $keywords)
  69.  
  70.    ************* just in case user deletes any or all
  71.    ************* keywords, subtract 1 from the total number
  72.    ************* of references for this keyword from
  73.    ************* The keywords file.
  74.    SELE SECO
  75.    STORE 1 TO X
  76.    STORE "1" TO MAC
  77.    DO WHILE K&MAC <> " "
  78.       FIND &K&MAC
  79.       REPLACE KEYNO WITH KEYNO-1
  80.       STORE X+1 TO X
  81.       STORE STR(X,1) TO MAC
  82.    ENDDO
  83.  
  84.    ****** Now branch to LIBED2 to do the edit.
  85.    ****** (LIBED2 is stolen from the LIBADD command file.)
  86.    SELE PRIM
  87.    DO LIBED2
  88. ENDIF (recno > 0)
  89.  
  90. **************** Before returning to main menu,
  91. **************** Eliminate any keywords for which there 
  92. **************** are no references
  93. ERASE
  94. ? " Updating keyword file.........."
  95. SELE SECO
  96. DELE ALL FOR KEYNO=0
  97. PACK
  98.  
  99. RETURN
  100.