What is this: @DbLookup("SFile" : "NoCache"; @DbName; "";@NoteID))

  • I’m tweaking the mail template for R6, and I find this in the SFLabels Field formula on the Memo Form:-

@DbLookup(“SFile” : “NoCache”; @DbName; “”;@NoteID))

  • Naturally Help says nothing about a “class” of “SFile”, nor is there a peep about called DbLookup with two parameters just plain missing.

  • Anybody know what’s happening here? Thanks for your time…

Subject: What is this: @DbLookup(“SFile” : “NoCache”; @DbName; “”;@NoteID))…

Sounds like a lookup outside of Notes.Checks the computers ODBC sources.

HTH,

Collin

KC8TKA

Subject: If you look in your Notes Executable directory, you will find the following…

2 files: ndbnotes.dll and ndbodbc.dll. If you have installed SwiftFile, you will also have ndbsfile.dll. @DbLookup and @DbColumn use the string to determine which dll to call to fetch the data from.

Subject: RE: If you look in your Notes Executable directory, you will find the following…

  • I finally determined it was something for the “SwiftFile” plug-in. Thanks for telling me what, precisely, adds the functionality, though!- I see other “ndb*.dll” files there, too. I presume those are also adding DbLookup classes, or something similar? For instance, I have Team Studio installed, and there is an “ndbtms.dll” file there along with the others.

  • Thanks for your time…

Subject: These are all “external database drivers”

Caution: more than you ever wanted to know about such things…

The C API documents how these are built, and they are a very flexible and powerful way to extend formula language. Our company’s first product, the @YourCommand Toolkit was built with this technology in R3, and we just released our @Midas Formulas last year, so it is also an enduring technology. (Note: Notes/Domino technology is so backwardly compatible that the first @YourCommand Toolkit built for 3.33 in 1994/1995 will still work in Notes 6.5 without re-compilation).

Besides the @DbColumn and @DbLookup, you will also see @DbCommand, which is widely used by third parties who build these things. There does not need to actually be an external database. mind you, but that is the original reason these were made.

Subject: RE: These are all “external database drivers”

  • Huh. I’ve only done LSXes with the C++ API; my only foray into the C API is because, at least at the time, the C++ API didn’t expose the requisite functionality for rich text manipulation. I had to do some really ugly coding to acquire the correct C object within my C++ code, based upon the C++ object I already had, in order to do something simple, like update the value of a rich text field. It caused an RBoD, even though the “docs” indicated what I was doing was in fact valid, and the C++ API development team couldn’t figure out why it was doing it at LotusSphere one year, even with my code at their disposal. (shrug) It’s been years and years since I did anything like that.- Didn’t know Formula supported a simliar concept. That’s nice to know.

  • Thanks for your time…

Subject: *No problem (and I’ve done some of that rich text stuff in LSX’s as well. All C API as well)