The following is the example first cut at coding our session outline.
Refer to Lesson #18a for info on conventions used in this example:

{:START}
=========================  GLOBAL VARIABLES ========================
    {SETV repdir,c:\comm\mail\}
    {SETV qwkdir,c:\comm\mail\}
    {SETV zprog,c:\comm\dsz.com}
    {SETV bday_r,08~04~51|}
    {SETV fon_r,123-4567|}
    {SETV anykey_r,|}
=========================  MARKING/DIALING =========================
.  covered in previous lessons, but we can come back to this if you
.  prefer
===========================  LINKED MACRO ==========================
{:LNK}
----------------------------  DATA READ ----------------------------
    {ROPE %_hom%%bbsid.cfg}
    {READ esc_p}{READ esc_r}
    {READ bulet_p}{READ bulet_r}
    {READ persmail_p}{READ persmail_r}
    {READ main_p}{READ main_r}
    {READ supmen1_p}{READ supmen1_r}
    {READ supmen2_p}{READ supmen2_r}
    {READ mail_p}{READ mail_r}
    {READ quit_r}
    {READ suffix}
    {READ success_p}
    {READ anykey_p}
    {READ nomail_p}
    {RCLO}
------------------------------  LOGIN ------------------------------
    {SSLO esc_r,%esc_p}
    {SSLO anykey_r,%anykey_p}
    {LOOK first name}{SEND jim|}
    {LOOK last name}{SEND bennett|}
    {LOOK password}{SEND %_pas|}
----------------------------  MAIN MENU ----------------------------
    {SSLO persmail_r,%persmail_p}
    {SSLO anykey_r,%anykey_p}
    {SSLO bulet_r,%bulet_p}
    {SSLO bday_r,birthday}
    {SSLO fon_r,phone number}
    {LOOK %main_p}{SEND %main_r}
-------------------------  MAIL DOOR PROMPT ------------------------
    {SSLO supmen1_r,%supmen1_p}
    {SSLO supmen2_r,%supmen2_p}
    {LOOK %mail_p}
--------------------------  MAIL TRANSFER --------------------------
    {IFEX %repdir%%bbsid.rep,,norep}
    {SEND u%suffix}
    {LOOK ^XB01}
    {EXEC %zprog port %_por sz -m %repdir%%bbsid.rep}
    {CALO del_ret,del_rep,%success_p}
  {:DEL_RET}
    {LOOK %mail_p}
  {:NOREP}
    {SEND d%suffix}
    {SSLO y/n_r,%y/n_p}
    {GOLO no_mail,nomail_p}
    {LOOK ^XB00}
    {EXEC %zprog port %_por rz -m %qwkdir}
 {:NOMAIL}
    {SSLO quit_r,%mail_p}
-----------------------------  LOG OFF -----------------------------
    {LOOK main_p}{SEND g%suffix}
    {SSLO anykey_r,%anykey_p}
    {LOOK ^jNO CARRIER^m}
-------------------------  GOODBYE/CLEANUP -------------------------
{:GBY}
    {SETV bulet_p}{SETV bulet_r}{SETV persmail_p}{SETV persmail_r}
    {SETV main_p}{SETV main_r}{SETV supmen1_p}{SETV supmen1_r}
    {SETV supmen2_p}{SETV supmen2_r}{SETV mail_p}{SETV mail_r}
    {SETV quit_r}{SETV suffix}{SETV success_p}{SETV anykey_p}
    {SETV nomail_p}
.
. To be completed later
========================  CALLED SUBROUTINES =======================
{:DEL_REP}
    {EXEC-N del %repdir%%bbsid.rep}{RETU}

Again, this is a rough "first cut"..further refinements are going to
be necessary for things such as error trapping, capture files,
SETLook parameters, and additional variables (as required).
Explanations for the various sub-sections of the Linked Macro area
will be contained in following lessons.
