Integration: Scanning Under Programmatic Control
Overview
Essentially, to scan under programmatic control the
user performs the normal documented procedures for starting
Image-Master at a scanning capable workstation. This includes
starting the program, logging into Image-Master, selecting the
desired database, and invoking the Scanning Module.
Once the Scanning Module loads, DDE server
services are permitted and the following conversations will be
honored from your application:
Example 1:
Service: IMASTER
Topic: SYSTEM
Executable: IMASTER.EXE (required to be running and in the
Scanning Module by the user)
Request Type(s) Supported: EXECUTE
DDE
Execute = SCAN (attended scanning) and SCANB (fully automated
scanning) support the loading of index filing fields prior to the
scan request being initiated.
The
format is as follows:
SCAN=fieldname1=value1,fieldname2=value2, ...and so on.
Loading
of field(s) during scanning is purely optional. The syntax also
supports a DOS batch file compatible form that encloses the index
fields in quotes as in: SCAN="fieldname1=value1..." In all forms,
the case of the commands and fieldnames are irrelevant, but the
case of the values are preserved.
Note
that fieldname123 is a literal which represents a valid, defined,
index field from the currently selected database. If a third-party
application tries to pass an undefined fieldname, the user will be
advised and that field will be skipped. Any other valid fields will
be loaded as expected.
Note
that value123 is AN EXPRESSION! (One of FoxPro's greatest
features). That means for simple literal assignments, the proper
delimiters must be included around the value.
For
example:
Storing a character literal: ADDRESS='123 Any Street' (note
the SINGLE quotes around the value)
Storing a date literal: TDATE={01/17/1996} (note the curly
brackets around the value) and so on...
Note
that since the value is an expression, more complex data can be
exchanged.
For
example:
Using an internal FoxPro function: TDATE=DATE() (this would
store the current system date in the field)
Using a third-party data source: DEALER=EXTNFN()+'extra
literal value' quite simply, any expression that evaluates to the
correct data type would work.
Example 2:
SCAN="COMPANY='Able Fish Industries',TELEPH='(819) 555-1864'"
(This
uses the DOS compatible method. The corresponding batch command for
a DOS app might be.. ...DISP32.EXE ...\IMASTER.EXE,SCAN=%1 and then
the passed parameter would be "COMPANY='Able Fish
Industries',TELEPH='(819) 555-1864'")
As
mentioned earlier, the value(s) are loaded into the appropriate
fields prior to the start of scanning. Therefore, the typical
workflow would be for the third-party application to send the
request, the scanning operator loads the document set into the
scanner as instructed, scans and QC's the document set, fills in
any remaining index fields, and then chooses done.
Related Topics
Introduction
Image-Master Third-Party Integration
|