Macro Substitution Feature
Within the body of an e-mail message, you can place macros that will be replaced (substituted) for values out of the
subscriber address (SUBS) or subscriptions (SUBS2) tables, or through lookups. Macros are entered in to the body of the message in the following format:
<#MacroName#>
Each macro must have a name surrounded with the start ("<#") and end ("#>") macro tokens. The macro names are defined in the FIELDS table and can take
the form of one of the following four types:
|
Type |
Format |
Description |
|
System Substitute Macro |
<#_SYSTEMSUB_#> |
These are system variables which can be placed
within your message in specific spots.
An example is the _SALUTATION_ macro, which
is the salutation line defined for the message (i.e., "DEAR MR. SMITH:"). This allows
you to place the salutation somewhere other then the top of the message, which
is the default. The system looks for the
<#_SALUTATION_#> macro and replaces it with the computed value of the
salutation line as set on the broadcast screen. |
|
Field Name Substitute Macro |
<#FIELDNAME#> |
This is a straight macro-to-field value substitution. Any field in the SUBS and SUBS2 tables can be substituted anywhere within the body of the e-mail message. The value is returned as a character string with all spaces before and after removed. If, for example, you wanted the subscriber's ID to be placed in the system, you would enter in
<#ID#> as the macro and the Subs.ID field value would
be dropped into its places. |
|
Description Lookup Maro |
<#FIELDNAME.DESC#> |
Some fields, such as Country, State, Industry, Source, and other code fields, have the full description for the code in the CODE table.
Placing the name of the field followed with a period and the word "DESC"
in the body of the e-mail message will trigger a lookup of that description from
the code table. An example would be <#INDUSTRY.DESC#>, which would be substituted for the description in the CODE table for the industry code sorted in the SUBS2 table for the publication in question.
This can also be used with any of the date fields to return Month, Day Year
format instead of MM/DD/YYYY format (<#DATEIN.DESC#> = June 23, 2003 vs. <#DATEIN#>
= 06/23/2003). |
|
Executable Script Macro |
<#FIELDNAME.EXEC#> |
For more complicated requirements, small Visual
FoxPro programs can be written and stored in the FIELDS table, which can be
executed on the fly. An example would be a custom program written to return a
directory listing from various tables in the system to be placed in the middle
of the e-mail message. Note that scripts MUST only be written by experienced VFP programmers and tested thoroughly outside of the system before use. Contact
Mendon Associates Inc. if you have such a need, and we can discuss creating scripts for you, or
your using one of our existing ones. |
Using one of these four macro types gives you unlimited possibilities for customizing e-mail messages
on the fly. Each macro you place is verified before mailing attempts, or before previews are allowed.
If an error is detected, you will be informed to ensure that your macros are correctly defined. Add this
feature with the ability to pull images from your web-site through HTML coding, and you have a dynamic
tool for communicating with your audience.
|