home *** CD-ROM | disk | FTP | other *** search
- /* faxdbase.rexx
- *
- * D.Varley 14JUL95
- * Example faxing from database list, written for John Block
- * This uses code from other examples, could call as functions,
- * but code placed inline for example.
- * His database format is:
- * firstname lastname
- * blank
- * number
- * blank
- * etc
- */
-
- /* Change these variables as required */
-
- dbname = "dbase.txt" /* Your database text file */
- fxinc = "t:file.afx" /* Your precompiled fax file, etc */
- from = "786530" /* Your own number */
- resol = "Fine:" /* Fax resolution */
- retries = 3 /* Times to retry sending */
-
- /* These should be ok as is... */
-
- fxtmp = "t:fxtmp" /* Temporary fax text file */
-
- /* Open database file */
-
- if ~open(fi,dbname,R) then do
- say "Can't open " || dbname
- exit
- end
-
- /* Loop through all entries, building faxes and spool files */
-
- do while ~eof(fi)
-
- /* Read in a data record
- * Note that this area should be changed according to
- * your data format.
- */
-
- name = strip(readln(fi)) /* Name */
- dummy = readln(fi) /* Blank line */
- number = strip(readln(fi)) /* Number */
- dummy = readln(fi) /* Blank line */
-
- if name = "" then exit
-
- /* open fax header file */
-
- if ~open(fo,fxtmp,'W') then do
- say "Can't open " || fxtmp
- exit
- end
-
- /* Write fax text file */
-
- writeln(fo,".FCOM")
-
- /* Write include for you address, etc here */
-
- parse var name first last
-
- s = "Attention: " || name
- writeln(fo,s)
- writeln(fo,"")
-
- /* If first name > 1 letter, write "Dear name,"
- * else assume initial, write "Dear Sir"
- */
-
- if length(first) > 1 then do
- s = "Dear " || first || ","
- end
- else do
- s = "Dear Sir,"
- end
- writeln(fo,s)
- writeln(fo,".INC " || fxinc)
- close(fo)
-
-
- /* Get Fax-file name */
-
- sfnum = 0;
- do sfnum = 0 to 1000
- ffname = "FAXSPOOL:S_"||sfnum||".AFX"
- if ~exists(ffname) then leave
- if sfnum >= 999 then do
- say "Error: Can't get fax file"
- exit(999)
- end
- end
-
- /* Build the fax file */
-
- address command "afax:c/mkafax " || fxtmp || " " || ffname
-
- /* Get spool-file name */
-
- sfnum = 0;
- do sfnum = 0 to 1000
- sfname = "FAXSPOOL:F_"||sfnum||".SPL"
- if ~exists(sfname) then leave
- if sfnum >= 999 then do
- say "Error: Can't get spool file"
- exit(999)
- end
- end
-
- /* Write the spool file */
-
- if ~open('sfile', sfname, 'W') then do
- say "Error: Can't open "||sfname
- exit
- end
-
- writeln('sfile', "From: "||from)
- writeln('sfile', "To: "||number)
- writeln('sfile', "Source: No File")
- writeln('sfile', "Fax: "||ffname)
- writeln('sfile', resol)
- writeln('sfile', "Retries: "||retries)
-
- close('sfile')
-
- say ffname||" Spooled to "||number||" using Spool File "||sfname
- end
-
- say "All Done !"
- say "Make sure spooler is running."
-
-
-