PPWIZARD Manual
[Bottom][Contents][Search][Prev]: #import - SQL DATABASES[Next]: #import - Fixed Field Records

#import - Delimited Records

These type of #Imports have clearly defined fields. You would frequently wish to display these in a table (say in a HTML page) however nothing says that you need to do so. If you wish to create macros and then #include a template file then that is also possible.

Within a record the fields are delimited by a single character such as a tab or comma.

Field Information Parameters

On these types of imports "FieldInfo" followings the "DefineName" parameter.

You must specify field information for each field up to the last one you are interested in. The field information is of the format:

[{NewColumn}]TitleText

The optional "NewColumn" specifies the column you wish the field to be moved to. This need only be supplied if you wish to change the order, by default the first field is column 1 etc.

The "title text" specifies the value for the field in the header record. A blank "title" is used to indicate that we don't require a field and it should be dropped.

DEFINITIONS/OPTIONS

If you can't understand how these options work then I suggest you try using /debug or #debug to watch what variables the import uses etc.

You should also check out an example of importing a file into multiple HTML pages based on the contents of one of the fields.

Examples - Comma Delimited

A tab delimited file is probably be best format to use however this example will use comma delimited as its a bit hard to display a tab! Assume the following file is being imported (Importme.CMA):

Dennis,Bareis,Programmer
Wendy,Buxton,Librarian
Fred,Nerk,Idiot


Please treat each of the following examples in isolation and assume that no #defines other than those specifically shown for that example have been set. Please note that I could have used ",,," instead of "CMA" when specifying the format.

The following code will display the 3 fields in the order they occur (in a completely default table format):

    #import IMPORTME.CMA "CMA" '' "First Name" "Last Name" "Job"
    

We now wish to simply swap the order of the "Job" column so it becomes first:

    #import IMPORTME.CMA CMA '' "{2}First Name" "{3}Last Name" "{1}Job"
    

Lets drop the last name altogether so that we only see the first name and job columns:

    #import IMPORTME.CMA CMA '' "First Name" "" "Job"
    

Lets display the above table using slightly different table formatting (column borders thinner, table border fatter, headings centered on yellow background and record data left justified):

    #define IMPORT_TABLE_ATTRIBS    BORDER=20 CELLSPACING=1
    #define IMPORT_HEADING_COLUMNS  ALIGN=CENTER BGCOLOR=YELLOW
    #define IMPORT_RECORD_COLUMNS   ALIGN=LEFT
    #import IMPORTME.CMA CMA '' "First Name" "" "Job"
    

As above but column 2 is centered:

    #define IMPORT_TABLE_ATTRIBS    BORDER=20 CELLSPACING=1
    #define IMPORT_HEADING_COLUMNS  ALIGN=CENTER BGCOLOR=YELLOW
    #define IMPORT_RECORD_COLUMNS   ALIGN=LEFT
    #define IMPORT_RECORD_COLUMN_2  ALIGN=CENTER
    #import IMPORTME.CMA CMA '' "First Name" "" "Job"
    


Examples - More Complex

This example is based on a real one situation at work. We export date from Microsoft's access/Excel and want this data to appear in a table.

The following main points are demonstrated:

  1. The use of #defines and line continuation to format things to be easier to read and understand.

  2. The use of #autotag to translate some of the text (for example "priority") to minimize the width of the columns.

  3. More complex overriding of defaults to get smaller font size etc.

  4. More field dropping but also swapping of fields.
<HTML>

;--- Problem database data exported from Excel (trying from access) ---------
<CENTER><H1>Release 98.0.1</H1></CENTER>

;--- Setup table definitions ------------------------------------------------
#define    IMPORT_TABLE_ATTRIBS    BORDER=5 CELLSPACING=1
#define    IMPORT_BLANK_FIELD      -
;**      CommentBlock  /* (Tuesday 23/06/1998, 13:00:55, by Dennis_Bareis) */
;**+--------------------------------------------------------------------------
;**|#define    IMPORT_HEADING_COLUMNS  ALIGN=CENTER BGCOLOR=YELLOW
;**|#define    IMPORT_RECORD_COLUMNS   ALIGN=CENTER
;**|#define    IMPORT_RECORD_COLUMN_2  ALIGN=LEFT
;**|#define    IMPORT_RECORD_COLUMN_4  ALIGN=LEFT
;**+--------------------------------------------------------------------------
;**                    /* (Tuesday 23/06/1998, 13:00:55, by Dennis_Bareis) */

;--- Define some data translations (shorten Priority + Problem Type) --------
#AutoTag ">High<"       ">H<"
#AutoTag ">Low<"        ">L<"
#AutoTag ">Medium<"     ">M<"
#AutoTag ">Change<"     ">C<"
#AutoTag ">Error<"      ">E<"

;--- Try these --------------------------------------------------------------
#define  IMPORT_HEADER  <TR>                                                      -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column1}  -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column2}  -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column3}  -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column4}  -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column5}  -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column6}  -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column7}  -\
                        <TH ALIGN=CENTER BGCOLOR=YELLOW><FONT SIZE=-1>{$Column8}  -\
                        </TR>
#define  IMPORT_RECORD  <TR>                                                      -\
                        <TD ALIGN=CENTER><FONT SIZE=-1>{$Column1}                 -\
                        <TD ALIGN=LEFT><FONT SIZE=-1>{$Column2}                   -\
                        <TD ALIGN=CENTER><FONT SIZE=-1>{$Column3}                 -\
                        <TD ALIGN=LEFT><FONT SIZE=-1>{$Column4}                   -\
                        <TD ALIGN=CENTER><FONT SIZE=-1>{$Column5}                 -\
                        <TD ALIGN=CENTER><FONT SIZE=-1>{$Column6}                 -\
                        <TD ALIGN=CENTER><FONT SIZE=-1>{$Column7}                 -\
                        <TD ALIGN=CENTER><FONT SIZE=-1>{$Column8}                 -\
                        </TR>

;--- Specify the fields -----------------------------------------------------
#define  FIELD_NAMES    "{1}Problem<BR>#"                \
                        "{2}Title"                       \
                        "{5}P<BR>r<BR>i"                 \
                        "{8}Pre<BR>/<BR>Spar"            \
                        "{6}T<BR>y<BR>p<BR>e"            \
                        "{3}Application"                 \
                        ""                               \
                        ""                               \
                        "{7}Fixed By"                    \
                        ""                               \
                        ""                               \
                        ""                               \
                        ""                               \
                        ""                               \
                        "{4}User Impact"

;--- Make the changes (autotag some text) -----------------------------------
#AutoTag ON
#import "export.tab" TAB- ""    <$FIELD_NAMES>
#AutoTag OFF


</HTML>




Examples - IPF Import

The following code:

#define IMPORT_NEWLINE_CHAR    <?NewLine>.br<?NewLine>
#define IMPORT_BEFORE          :table cols='15 15 10'.
#define IMPORT_HEADER          :row.                              -\
                               :c.:hp9.{$Column1}:ehp9.           -\
                               :c.:hp9.{$Column2}:ehp9.           -\
                               :c.:hp9.{$Column3}:ehp9.
#define IMPORT_RECORD          :row.                              -\
                               :c.{$Column1}                      -\
                               :c.{$Column2}                      -\
                               :c.{$Column3}
#define IMPORT_AFTER           :etable.


#define IMPORT_RECORD_COLUMNS   ALIGN=LEFT

#import "EXAMPLE.CMA" CMA '' "First Name"  "Surname"   "Job"


Example - Use of Filter

#DefineRexx IMPORT_RECORD_FILTER
            if Column.1 = "Wendy" then
               Remove='This is "Wendy" record'    ;;Don't want this record
            else
               Column.1 = translate(Column.1)     ;;Make column #1 upper case
#DefineRexx
#import ImportMe.CMA CMA "" "First<BR>Name" "Surname" "Job"


[Top][Contents][Search][Prev]: #import - SQL DATABASES[Next]: #import - Fixed Field Records

PPWIZARD Manual
My whole website and this manual itself was developed using PPWIZARD (free preprocessor written by Dennis Bareis)
Tuesday January 02 2001 at 7:37am