Download presentation
Presentation is loading. Please wait.
Published byKathryn Hunter Modified over 9 years ago
1
Macro-Enhancing Connexion Learn how to improve your cataloging productivity using macros in the Connexion client February 8, 2005
2
Who we are Harvey Hahn Arlington Heights Memorial Library, Arlington Heights, IL Joel Hahn Niles Public Library District, Niles, IL
3
Special thanks to… OML “pioneers” Eric Celeste (MIT) Jim Ferguson (TPOT-UCSD) Walt Nickeson (Univ. Rochester) Tim Shearer (UNC-Chapel Hill) Will Caine (SOLINET) Carl Ratz (Phoenix Pub. Lib.) Kyle Banerjee (Oregon State Lib.) Jon Higgins (formerly WILS) Rhoda Bilansky (Boston Univ.) and many other macro writers over the years
4
And special thanks to… OCLC for providing a full-blown programming language as an integrated part of their software products. “If I have seen further than other men, it is because I stood on the shoulders of giants.” –Isaac Newton
5
Similarities between CatME and Connexion macros OML Standard BASIC commands are identical. Variables operate exactly the same. Adding a field as line 99 (or better yet, 999) makes it the last line in the record. Many OCLC-specific commands are identical (though Connexion has more).
6
Some commands are identical CS.CursorRow CS.CursorColumn CS.DeleteHoldings CS.DeleteRecord CS.Export CS.FindText CS.Print CS.QueryRecordStatus CS.Reformat CS.RunMacro CS.SetMyStatus CS.UpdateHoldings
7
Commands that are similar* CatME CS.Insert CS.GetFixedField CS.SetFixedField CS.GetFirstRecord CS.GetNextRecord CS.Replace Connexion CS.InsertMode CS.GetFixedField CS.SetFixedField CS.GetFirstItem CS.GetNextItem CS.ReplaceRecord * Similar does not mean identical!
8
Commands that are different* CatME Dim CS As Object Set CS = CreateObject (“CatME.Application”) CS.ResaveOnlineFile CS.SaveLocal CS.Validate Connexion Dim CS As Object Set CS = CreateObject (“Connex.Client”) CS.SaveOnline CS.SaveToLocalFile (FALSE,FALSE) nNumErrs = CS.Validate(sErrList) * Different can mean better!
9
More differing commands CatME CS.ItemType CS.Scan CS.Search(search string) CS.SearchLocalFile (search string, file type) Connexion CS.ItemType (Uses different values) CS.Browse CS.Search(database, search string) }
10
Some are similar and different CatME CS.GetFieldData CS.SetFieldData CS.AddField Connexion CS.GetFieldLine CS.GetField CS.SetFieldLine CS.SetField CS.AddFieldLine CS.AddField { { {
11
One major programming difference between CatME and Connexion CatME Retrieved field data has spaces surrounding the indicators. 245_14_Some title Connexion Retrieved field data does not have spaces surrounding the indicators. 24514Some title This difference affects how you write macros!
12
Obsolete CatME commands CS.GetActiveRecord CS.GetActiveTruncatedList
13
Difficult CatME tasks that are simple commands in Connexion CS.GetField(“650”, 1, SubjectData) Grab the contents of the first 650 field CS.EndCell : CS.PrevSubfield Jump the cursor to the start of the last subfield in the current field CS.DeleteToEndOfCell Delete from the cursor to the end of the field
14
Things to watch out for Connexion always handles the character internally. If you see ö in a record, what's really there and what macros will report is o¨ (not ¨o) Note that the order of letter and diacritic may differ from what local systems expect (and from what is in exported records). Connexion’s editor and macros follow the Unicode standard.
15
More things to watch out for Connexion has no spaces between a MARC tag & indicators and none between indicators & field contents. However, CS.CursorPosition acts as if there were spaces there and also as if there were a space between the indicators. OCLC recommends using CS.CursorColumn instead 245 1 4 The adventures of Tom Sawyer
16
Impossible in CatME but simple in Connexion Recording macros Can be a good way to learn OML. Recorded macros may still need to be edited. They tend to be inefficient and use many more commands than are necessary. They may not work with all records. Some tasks cannot be recorded.
17
Converting CatME macros to Connexion When to simply translate? Does the old macro use only commands that are similar in Connexion? When to record a new version? Does the macro never depend upon the content or status of the record? Does the macro only navigate to fields that are always present, then insert new data? Do you want a template on which to build the macro from scratch?
18
Converting CatME macros to Connexion When to start from scratch? Does the macro react to the content or status of the record? Is the macro complex? When not to convert at all? Is the macro still necessary, or could this task be done instead… By an existing command? With constant data? With text strings?
19
Connexion macro tips & tricks Option Explicit CS.IsOnline CS.ItemType When deleting several fields, work backwards
20
Connexion macro tips & tricks Iterate through all 6XX fields in a record: bool = TRUE nTagNum = 0 Do Until bool = FALSE nTagNum = nTagNum + 1 bool = CS.GetFieldLine( nTagNum, sField ) If Mid(sField, 2, 3) Like "6##" Then 'Put code that alters the record here. 'Use nTagNum for the field number in CS.* commands ElseIf Mid(sField, 2, 3)) > 699 Then Exit Do End If Loop
21
Connexion macro tips & tricks Iterate through all records in a list: bool = CS.GetFirstItem bNextRec = TRUE Do While bNextRec <> FALSE 'Put code that looks at or alters each item here bool = CS.SaveOnline 'OR: bool = CS.SaveToLocalFile(FALSE,FALSE) bNextRec = CS.GetNextItem If bNextRec = FALSE Then Exit Do Loop bool = CS.CloseRecord(TRUE)
22
Connexion macro tips & tricks Copy data directly into MS Office programs: Dim CS As Object Set CS = CreateObject("Connex.Client") bool = CS.GetField("092", 1, sCall) bool = CS.GetField("245", 1, sTitle) Dim XL as Object Set XL = CreateObject("Excel.Application") XL.Sheets("Sheet1").Select XL.Range("A1").Value = "Call #" XL.Range("A2").Value = sCall XL.Range("B1").Value = "Title" XL.Range("B2").Value = sTitle (Check the VBA help file in your version of Excel for the proper commands to use.)
23
Further resources OCLC-CAT mailing list Archives are now available OCLC’s Connexion macros web page http://www.oclc.org/connexion/support/macros.htm OML for the Complete Beginner http://users.rcn.com/aardy/oml/lessons/index.html Joel’s OML web page http://users.rcn.com/aardy/oml/index.html Harvey’s OML web page http://www.ahml.info/oml/
24
Questions, comments, etc. To contact us after the live presentation: Harvey Hahn Joel Hahn
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.