The Control Center software opens this window during the Add rule/section generation, for an OutSearched rule.

 

OutSearch_Binary using a binary comparison for the argument. Once found, one the following keys, listed in their priorities, are performed:
OutSearch_Windows Same as above, but possible positionsequenzes between the characters are ignored. Those are inserted by the old driver technology of HP LaserJet 4000 times.
OutSearch_Text Same as Search_Windows, but NOT case sensitive

It gives access to the most common used function keys. If nothing out of this window is needed simply click on cancel. But still note, that only those function keys can be used with OutSearch:

 

StoreNextWordToVariable Enter a variable name: #MyVariableName#. It is recommended to initialize the variable in the rule GLOBAL with the key Variable.Optional you may enter the minimum length of the information: #MyVariableName#;Length
StoreNextWordToIntVariable Same as above, but Information is supposed to be a valid number, otherwise 0 is stored.
Add text (Add_Binary) Any text which is added behind the searched text.
Call external software Pass any collected information via command line parameters to external software. Note: there is no way to read anything back.
Trigger on variables Maybe the most powerful secondary trigger. You can evaluate the content or even part of the content of the provided variable. Example: If the previous searched invoice number starts with 75 then use the letter head of company A

 

 

 

And not listed in the user interface are those keys:

 

RememberFilePos Stores the actual file position for later use in a variable.
OverWriteInOutFile This key enables to write direct in the outgoing data stream at a certain position. The problem is, that at the time the SEARCH_ and/ or Trigger rules/Sections are executed there is normally nothing written out. So most likely it is used in combination with OutSearch_ commands for inserting a command on the top of the page, or even behind the form feed. The latest version of the software version ELP does eliminate this problem using the key: InsertOnPreviousPage. The key syntax is

OverWriteInOutFile=#FilePosition#;Text.

Certainly the position is gathered before using the RememberFilePos key.

For text position as well as the insertion text, you may use any collected variables: OverWrtiteinoutFile=#MyLastFormFeedPosition#; This page is empty\x0C.

The following example is of theoretical nature, and can be done today much easier with the InsertOnPreviousPage key or with splitting the file. Anyway, a batch printing job with invoices have to printed duplexed to save the environment. However a front page should go on a new sheet of paper:

[Insert Space after form feed when reading data in]

Search_Binary=\x0C

; Add just null characters, which do nothing in the stream at all

Add_Binary=\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

; And print all in duplex

ELP_Command=C1:1S1;

[When wrting out the data stream, remember the last form feed position]

OutSearch_Binary=\x0C

RememberFilePos=#MyLAstFormFeedFilePos#

[When on the page is the beginning of a new invoice]

OutSearch_Binary=InvoiceNo.:

; This term is only on the first page of a new invoice, so insert on top of page to eject the page#

; meaning, that if the page would have been on the back side of a paper, then move it over to the next paper (make it a front page)

OverWriteInOutFile=#MyLAstFormFeedFilePos#;\x1B&l0H

 

VERY IMPORTANT NOTE: The written out files like OutArchiveDir and DEBUG_OutPort will NOT()! have this data stream change!

 

IniFile Most likely used in printer sections. Switch to any other command file. Caution: All Triggers and Search keys are set to the new file and the ones from the old file are erased.
Search_Only_Once If this key is used in a Search_xxx triggered section, the rule is fully performed, but then the search key is removed from the search list. This means, the search rule will be only performed once -> the first time the key is found
Counter Every time when a section is activated through a SEARCH_ key (not Search_RowNo) and this COUNTER key is defined, the provided variable in incremented by default by 1 or any other positive/negative value which can be added after as semicolon:Counter=[#]VariableName[#][<Semicol>StepValue] or Counter=[#]VariableName[#][<Semicol>[*Value][+Value][/Value][-Value][%Value]
TriggerSection If all trigger conditions of the named rule are true, the rule is performed as well, right at the position the searched item was found. This could be very early in the process especially before other rules may apply or here while writing out the data stream. There is an example for this dor inserting an colored data sheet after X copies here.
Variable Various functions like LEFT(), RIGHT(), MIDSTR(), STRPOS(), STRREP() etc. can be used. Counters and much more.

 

Those keys are mainly used in conjunction with:

2. splitting the data stream into X archived print files, using an archive file name based upon a value found in the data stream, like a invoice number.

[GLOBAL]

; Preset flag variable to open the first archive file only once

Variable=#IsItAnInvoice#:FALSE

[Search last Invoice number]

; The invoice number is the next word after the search text. While searching the outgoing data stream the variable contains always the correct invoice number

OutSearch_Windows=Invoice No:

; Store the value to the variable

StoreNextWordToVariable=#InvoiceNo#

; Now for the first opening while reading in the first invoice number is needed, the same command above is obviously used.

Search_Windows=Invoice No:

; The first one while reading the stream is enough

Search_Only_Once=ON

; And the data stream is indeed an invoice!

Variable=#IsItAnInvoice#:TRUE

[Split after the next form feed]

; Search for a trigger expression on the last page of an invoice

Search_Binary=Total amount incl. vat

; Insert the split command

Add_Binary=\x1B)s-997Z

; You may enter the ADD command direct in the print stream. In this case the rule is not needed at all

[Archive the Stream]

; Primary Trigger is always true, as we need only the next

Trigger_binary=1

; Secondary trigger to be analyzed

Trigger_Variable=#IsItAnInvoice#:TRUE

OutArchiveDir=#ELP_FORMS_PATH#Archive;Inv_#InvoiceNo#.prn

; Turn the splitting function on

OutArchiveSplitFiles=ON

; Do not print anything

NoPrinting=ON

2. Change PCL Sequences which had been already passed when the real document trigger is found. So for example change page initialization stuff like here:

[GLOBAL]
PreParsing=ON

[REGULAR INVOICE]

Trigger_Binary=REGULAR INVOICE

; When this text is found

ELP_Command=C1G1500X#PREPARSEPAGECOUNT#;

; G1500 print colored form on every page X#PREPARSEPAGECOUNT# Don't put the form on the last + 1 page

inifile=#ELP_FORMS_PATH#RegInv.ini

; change font and line spacing and add page size, duplex etc.

--- file RegInv.ini

[Change Init while writing data out]

OutSearch_binary=\x1B(s0p16.67h8.5v0bT\x1B&lO

; only add will work here!!! A4, 1 Top line, Duplex, Letter Gothic and a little less then lines per inch

Add_Binary=\x1B&l26a1e1S\x1B(sp13.5hsb4102T\x1B&l7.51C

Related articles: New rule/section, Theory of ELP rules activation