1 SUB M11ACR (FUNC$,F.END%) & 2 !******************************************************************** & ! & ! & ! M11ACR & ! & ! Determines function (Add, Change, Remove, Display) for maintenance & ! of the Mailing List addresses & ! & ! & !******************************************************************** & ! 3 ! Subprogram : M11ACR & ! Version : 0 28-Jan-82 & ! Programmer : John Montrym & ! Jean Fullerton & ! Releaser : & ! 11 !-------------------------------------------------------------------- & ! & ! & ! C O P Y R I G H T & ! & ! & !-------------------------------------------------------------------- 100 ! & ! & ! & ! Summary: & ! & ! This subprogram is the Smart Mailer add/change/remove dispatch & ! module. It returns FUNC$ to SMAIL which indicates whether to ADD, & ! CHANGE, or REMOVE. & ! & ! notes for future enhancements: & ! Allow changes to a user-defined Primary ID (12160) & ! & ! & ! Calling Module: SMAIL & !-------------------------------------------------------------------- 200 ! & ! & ! Interfaces: & ! & ! & ! 300 !-------------------------------------------------------------------- & ! & ! & ! Input / Output & ! & ! & ! & ! CHANNEL FILE NAME MAP NAME STATUS AT ENTRY/EXIT & ! ------- --------- -------- -------------------- & ! CH.KB User keyboard None Closed/Closed & ! CH.ADD Address file MAPADD Closed/Closed & ! CH.SCR Screen file None Closed/Closed & ! & ! 400 !-------------------------------------------------------------------- & ! & ! & ! Variables and Arrays & ! & ! & ! & ! ERL Line in which error occurred & ! ERR Set to error after error & ! 600 !******************************************************************** & ! & ! & ! Common Declarations & ! & ! & !******************************************************************** & & 650 !******************************************************************** & ! & ! & ! MAP Statements & ! & ! & !******************************************************************** & & 700 !-------------------------------------------------------------------- & ! & ! & ! Subprograms & ! & ! & ! & ! M11SCD Displays a screen & ! M11SCR Reads input from user keyboard & ! M11SCW Writes text at specififed coordinates & ! & ! 800 !-------------------------------------------------------------------- & ! & ! Subroutines: & ! & ! & !-------------------------------------------------------------------- & ! & ! Functions: & ! & ! & !-------------------------------------------------------------------- & 1000 !******************************************************************** & ! & ! & ! S T A R T S U B P R O G R A M L O G I C & ! & ! & !******************************************************************** & 1010 ON ERROR GOTO 19000 & \ ERR.CALLNAM$ = ERR.PROGNAM$ & \ ERR.PROGNAM$ = "M11ACR VER:00" & \ ERR.SUBNAM$ = "" & \ ERR.MSG$ = "Unexpected fatal error." & ! Set standard error trap. & ! Set up common for error reporting. & 1100 !-------------------------------------------------------------------- & ! & ! & ! Welcome & ! & ! & !-------------------------------------------------------------------- & 1130 CALL M11SCD (SCR.UPDATE.MENU%) & ! Show the update menu. & 1135 CALL M11SCR (FUNC$, 19%, 48%, 1%, "A", "A", F.END%) & \ GO TO 9000 IF F.END% & ! Get the menu selection. & 1140 IF FUNC$ = "?" THEN CALL M11SCD (SCR.HLP.6%) & \ M11.MSG$ = "" & \ GO SUB 14900 & \ GO TO 9000 IF F.END% & \ GO TO 1130 & ! User wants help. & 1150 IF POS ("ACRD", FUNC$, 1%) = 0% THEN & M11.MSG$ = "Type A, C, R, D, ? or END." & \ CALL M11SCW (M11.MSG$, 24%, 1%) & \ GO TO 1135 & ! Only allow these functions. & 9000 !******************************************************************** & ! & ! & ! E N D O F P R O C E S S I N G & ! & ! & !******************************************************************** & & ERR.PROGNAM$ = ERR.CALLNAM$ & \ UNLOCK #CH.ADD% & \ GO TO 32767 & ! Jump around the junk and leave. & & & 10000 !******************************************************************** & ! & ! & ! Local Subroutines & ! & ! & !******************************************************************** & 15000 !*************************************************************** & ! & ! & ! F U N C T I O N S L O C A L T O & ! & ! T H I S S U B P R O G R A M & ! & ! & !*************************************************************** & 19000 !*************************************************************** & ! & ! & ! S T A N D A R D E R R O R H A N D L I N G & ! & ! & !*************************************************************** & 19010 GO TO 19990 IF ERN$ <> SEG$ (ERR.PROGNAM$,1%,6%) & ! Only tracing back an error from another subprogram. & 19900 ERR.ERL% = ERL & \ ERR.ERR% = ERR & \ ERR.CODE% = FATAL.ERROR% & 19990 ON ERROR GO BACK & ! Return to calling program for fatal error processing. & 32767 SUBEND