PfW Macros for use with Libs+

Here I have available the binary macrobooks with all of the listed macros, as well as text documents of many of the macros. These macros are specifically designed for use with the CCS consortium's system (all should work with release 3.0p1; most or all should work with 2.5p5 or 2.6 with few or no alterations), parameter selections, and the procedures CCS libraries use; other Libs+ users may find these macros useful as well, with or without a bit of tweaking.

Function keys
For us, telnetting in via a VT100 emulation means that all of the function keys except for F1-F4 would not work through PfW. The macros in this book duplicate F5 through F10 and Shift-F1 through Shift-F10, as well as the Escape key. Due to the way PfW handles printing, Shift-F1 involes more than just a function key code; the text of this macro is available below.

Plus [binary ~34k total]
List of function key codes
Shift-F1 [text]
Print screen. Due to the way PfW interfaces with Libs+, the normal print screen command does not work. This macro dumps the current Libs+ screen to an attached printer.

Quick Keymapping [data text]
To quickly assign all the function key macros correctly, first create a telnet session for your Libs+ connection. Then open the "keymap.ini" file (in your .../Passport directory), find the name of your new Libs+ session, then paste the contents of this file immediately after it. The result should look something like this:

[Telnet to CCS]
F5=Macro PLUS!F5
F6=Macro PLUS!F6
F7=Macro PLUS!F7

(Note that F1, F2, F3, and F4 automatically work, and thus do not need macro alternatives.)

General utilities for working with Libs+

PlusUtil [binary ~280k total]
AddALA [text]
Easily add diacritics without the hassle of paging through the Libs+ special characters popup window.
BatchSelect [text]
Select a specified number of records in a Brief Record list.
ChangeByBarcode [text]
Change information in item records by scanning barcodes. Also, this macro can add or delete text from the start of a call number, such as "NEW" or "REFERENCE", and can even skip over an initial "J/" in a call number and then add or delete as instructed. (Release 2.6 includes this capability, but is not as versatile. Additionally, with release 3.0, this macro can change the Status field, whereas the built in workform cannot.)
ChangeByCallNumber [text]
Change information in a list of item records (intended for the results of call number searches, but will work any time you can go forward [F8] to the next item record). Automatically changes either all records from the current one to the end of the list, or only a selected number of records in a row. Removes the need to keep typing Shift-F15 to make changes--especially for a large number of records. Works the same as ChangeByBarcode, and thus can do more than the Libs+ workforms can.
ChangeSubs [text]
Subroutines used by ChangeByBarcode and ChangeByCallNumber to make their changes.
ChangeByCallNumber_Advanced [text]
Fix the cost and/or the Date Added field of records retrieved via a call number search. (The macro runs the CostAdd and/or DateAdded macros on the item records.)
CostAdd [text]
Fix a cost of $0.00 or $1.00 (the "no price" defaults for CCS) on the current record. It asks what type of material the item is, then looks at the full record. If it finds a real price (i.e. not Libs+'s default $25.00), it uses that; otherwise, it uses a default price based on the type of material.
DateAdded [text]
Fix a blank or too-recent Date Added field (too-recent fields being due to the system behavior of automatically putting today's date in a blank field when an item is stored). Guesses the Date Added based on the significant digits of the item's barcode, so each library will have to alter the barcode/date relationships in the macro for it to work properly.
Double049 [text]
Add 049 JEDA/049 (library's symbol) to a record. When modifying one of the many records in the database that have lost their 049 tag, this macro makes it easy to add this information; showing that one's library was the last to modify the record, but wasn't the interfacing library. The cursor must be in the MARC tag column in order for the macro to run properly.
FineNote1Note2 [text]
Search for some specified data in a list of records retrieved via a call number search. The macro stops at the first record in which the text is found.
GoBack [text]
Go back (F9) a specified number of records in a list.
GoForward [text]
Go forward (F8) a specified number of records in a list.
GotoEndOfLine [text]
Move the cursor to the end of the current line. Especially helpful when the cursor is at the beginning of a search field and you want to change something at the end of a long search string.
GotoStartOfLine [text]
Move the cursor to the start of the current line. Especially helpful when the cursor is at the end of a long search string and you want to change something at the beginning of the field.
HoldingsReport [text]
Create a list of AV items held by your library, based on a call number search. The macro can output the data in either plain text or HTML. You will have to alter the macro to reflect the way you handle call numbers for AV items.
ISBN [text]
Go back to the main search screen and tab down to the ISN line. If your library has a different arrangement of the search fields, you may need to alter this macro to get it to work properly.
LastSystem [text]
Takes a file with ATKeys (one to a line) of records for which the Last System copies have been withdrawn, calls up each record or volume, deletes it (deleting the master record of a volume, if necessary), and writes the OCLC number to a text file. That file can then be used with the DeleteHoldingsFromFile macro on the OCLC page.
Logon [text]
Logon script. This macro can be selected in the Macro tab Settings dialog in order to automatically log on to one's system when the session is opened. Naturally, you will have to change the username and password from the current dummy values to the correct values for your library.
MarcCopy [text]
Copy a single MARC tag to the Windows clipboard, for pasting into other Libs+ records. The cursor must be on the tag of the field you wish to copy. This macro will not work reliably with fields that are more than a screen long (such as extra-long 505 fields). Multiple fields can be moved at a time if you paste each into Windows Notepad (making sure to start each immediately after the previous, and not on a new line), and then select the entire resulting line in Notepad. Note that the MarcPaste macro is required to paste any data copied with this macro into a Libs+ session in Passport.
MarcPaste [text]
Paste MARC data formatted for Libs+ from the Windows clipboard into a Libs+ session in Passport.
MarcSwitch [text]
Go from a call number search to the MARC record the current item record is attached to. (Libs+ 3.0 includes a built-in, but mostly broken, function that also does this.)
MarcReturn [text]
After getting to a MARC record with MarcSwitch, this macro re-does your call number search and puts you back at the item record you were originally looking at. (Libs+ 3.0 includes a built-in, but mostly broken, function that also does this.)
MonthlyScatToExcel [text]
Grabs an electronic version of the Monthly Statistics By Item Scat report (CCS libraries can get this report from the CCS webpage; non-CCS users will have to edit the macro to skip that part of the macro), and automatically arrange the data in an Excel spreadsheet.
PlaceHold [text]
Quickly jumps from Bib./Item Inquiry or Maintenance to Holds Processing and back, stopping briefly for the user to enter a patron barcode and select the type of hold (System, Local, or Item). Note: does not currently allow for changing the priority of a hold.
RecordMarc [text]
Add "xxxmarc (today's date)" to the end of a record's 999 line. The macro works best if you are in the brief display with the desired record selected, but it will also work if you are already viewing the full MARC record; in which case the cursor must be in the MARC tag column, though it does not need to be on the 999 line. The macro automatically determines today's date, so if you want to use tomorrow's date, or a set number of days in the future, you have but to edit the record to automatically change that portion of the string.
ScatSearch [text]
Go forward through a list of item records retrieved via a call number search until one with the specified scat is found.
ScatNotSameSearch [text]
Go forward through a list of item records retrieved via a call number search until one with a scat different from the one specified is found. (The default is the scat of the current record.)
SecondDelete [text]
This macro takes a pre-created file of barcodes which have already been deleted normally from the system, and deletes each in turn from the "converted on the fly/OFFLINE" status withdrawn barcodes are given by default with release 2.6. If you are not using release 2.6, or have changed the defaults so that this does not happen, this macro will probably not be needed.
WordBack [text]
Moves the cursor to the beginning of the current word, or previous word, if the the cursor is already at the beginning of a word.
WordForward [text]
Moves the cursor to the beginning of the next word.

Pseudobarcodes

pseudobc [binary 14K]
Barcode2Pseudo-BC [text version not available]
Change "real" barcodes to Libs+ pseudobarcodes for each item whose barcode is scanned or typed into the macro's input window.
Barcode2Pseudo-CN [text version not available]
Change "real" barcodes to Libs+ pseudobarcodes for each item in a call number search. This does not have to be every item in a call number search, but items changed must be consecutive. (You tell the macro how many items to change, starting with the record currently on-screen.)

Transferring information from OCLC to Libs+ and back
Two of these macros were created when our OCLC controller died and was not replaced. Since the controller was the only way we had to get records from OCLC into the Libs+ Interface (before the Batch Interface software became widely used), we had to find some other way of getting records from OCLC into our local system. Two others were modifications of these that allowed us to quickly upgrade a number of low-quality tapeload records by transferring only a few selected lines (like fixed fields and subject headings) from OCLC into our Libs+ system.

PlusOCLC [binary ~109K]
Export-by-Paste [text]
Copy an entire OCLC record and paste it into the Libs+ MARC Edit window as if it were all typed by hand. Also sends an OCLC xpo command so that export statistics are maintained. This should be considered a beta version at best; it works most of the time, but has a number of quirks that I haven't gotten around to compensating for or fixing.
Headers [text]
Copy the fixed fields of an OCLC record, reformat them, and paste the result into a record in Libs+ MARC Edit as the 001, 003, and 008 fields, removing existing 001-008 fields as necessary. Useful for quickly cleaning up low-quality tapeload records.
Interface [text]
Dump a record directly from OCLC into the Libs+ Interface save file, bypassing the OCLC controller. Does not work as is with the Interface II (batch interface) software; does not work with authority file records; cannot export more than 99 records without requiring that the existing records be transferred and the Interface software's save file deleted.
Transfer [text]
Transfer highlighted tags of an OCLC record into a record in Libs+ MARC Edit. Will not work with Fixed Fields (use Headers instead). This macro can transfer multiple tags at a time, but only if they are contiguous. It cannot transfer individual fields, only an entire tag or entire multiple tags.
UpdateFileMake [text]
For the selected (or first selected) record in a Brief Records list, get the OCLC number and either write it to a file (which can be then read in with the UpdateFile macro found on my OCLC macros page), or, if an OCLC session is simultaneously active, call up the OCLC record and update it right then and there. Includes some limited capability of determining whether the information in the 001 field is a valid OCLC number or not.

Return to the Main page.