home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / chrchpr2.zip / CSEADD.CMD < prev    next >
OS/2 REXX Batch file  |  1987-01-06  |  7KB  |  206 lines

  1. * Program CSEADD - Allows adding a record to MEMBERS file, checking validity.
  2. Store T to MATCHING
  3. Do while MATCHING
  4.   Store '                 ' to lastname
  5.   Store ' ' to firstname
  6.   Store ' ' to homephone
  7.   Accept '  LAST NAME  ' to lastname
  8.   Accept '  FIRST NAME ' to firstname
  9.   Accept '  HOME PHONE ' to homephone
  10.   Accept '     Ok? ' to XX
  11.   If !($(XX,1,1)) = 'Q' .or. !($(XX,1,1)) = 'Y' .or. xx=' '
  12.     Store F to MATCHING
  13.   endif
  14. enddo
  15. If !(XX) <> 'Q'
  16.   Select primary
  17.   Store F to MATCH
  18.   Store T to MATCHING
  19.   Find &lastname
  20.   If # = 0
  21.     Store F to MATCHING
  22.   else
  23.     Do while MATCHING .and. last:name=lastname .and. .not. EOF
  24.       If first:name = firstname
  25.         If len(trim(homephone)) = 1 .or. home:phone = homephone
  26.           Store T to MATCH
  27.           Store F to MATCHING
  28.         endif
  29.       endif
  30.       If .not. MATCH
  31.         SKIP
  32.       endif
  33.     enddo
  34.   endif
  35.   If MATCH
  36.     Store T to INVALCC
  37.   Accept ' Duplicate name found.  Do you want to edit it?  [Y/N/D]  ' to INNF
  38.     Do while INVALCC
  39.  Store F to invalcc
  40.  Do case
  41.    CASE !(INNF) = 'Q'
  42.      Store F to MATCHING
  43.    CASE !(INNF) = 'Y'
  44.      Store # to recnumb
  45.      Store 'A' to ESEL
  46.      Store 0.00 to pd1
  47.      Store 0.00 to pd2
  48.      Store pd1+val($(paid1,1,9)) to pd1
  49.      Store pd2+val($(paid2,1,9)) to pd2
  50. *    Replace amount:due with amount-(pd1+pd2)
  51.      Store amount-(pd1+pd2) to amount:due
  52.      Store $(paid1,10,8) to pdate1
  53.      Store $(paid2,10,8) to pdate2
  54.      ERASE
  55.      Set intensity on
  56.      Store $(dates,6,2)+'/'+$(dates,8,2) to ODATES
  57.      Store STR(#,5) to RECSTR
  58.      @ 2,10 say '  CSEVENT   -   Editing record number '+RECSTR
  59.      @ 5,1  say 'LAST NAME  '  GET LAST:NAME
  60.      @ 5,40 SAY 'FIRST NAME '  GET FIRST:NAME
  61.      @ 6,40 say 'HOME PHONE '  get home:phone
  62.      @ 6,1  SAY 'ADDRESS    '  GET ADDRESS
  63.      @ 7,1  SAY 'CITY,STATE '  GET CITY:STATE
  64.      @ 7,40 SAY 'ZIP CODE   '  GET ZIP
  65.      @  8,1  SAY 'BIRTHDATE  ' GET BIRTHDATE PICTURE 'XX/XX/XX-XXX'
  66.      @  8,40 SAY 'MEMBSTATUS ' GET MEMBSTATUS
  67.      @  9,1  SAY 'SS/SC MEMB ' GET SS:SC:MEMB
  68.      @  9,40 SAY 'COMMENTS   ' get COMMENTS
  69.      @ 11,1 say 'LODGING  = '+ROOM
  70.      @ 12,1 say 'TRANSPORTATION  = '+transpor
  71.      @ 10,40 say 'AMOUNT  $' get amount
  72.      @ 11,40 say 'PAID-1  $' get pd1
  73.      @ 12,40 say 'PAID-2  $' get pd2
  74.      @ 13,40 say 'OWED    $' say amount:due
  75.      @ 13,1 say 'SESSIONS  ' GET SESSIONS
  76.      @ 14,1 say 'EQUIPMENT ' GET EQUIPMENT
  77.      @ 15,10 say 'Press <ctrl-W> when editing is complete.'
  78.      READ
  79.      If val($(paid1,1,9))<>pd1
  80.        Replace paid1 with str(pd1,9,2)+' '+indate
  81.      endif
  82.      If val($(paid2,1,9))<>pd2
  83.        Replace paid2 with str(pd2,9,2)+' '+indate
  84.      endif
  85. *    Replace amount:due with amount-(pd1+pd2)
  86.      Set intensity off
  87.    CASE !(INNF) = 'N' .or. !(INNF) = 'D'
  88.      Store F to MATCHING
  89.    OTHERWISE
  90.      Accept 'Enter [Y/N/D] only ' to INNF
  91.      Store T to invalcc
  92.    ENDCASE
  93.    enddo
  94.   endif
  95.   If .not. MATCH
  96.     Append BLANK
  97.     Replace LAST:NAME with lastname
  98.     Replace first:name with firstname
  99.     Replace home:phone with homephone
  100.     Store 0.00 to pd1
  101.     Store 0.00 to pd2
  102.     Replace amount with val(ecost)
  103.     ERASE
  104.     Replace dates with indate+','+indate
  105.     Set intensity on
  106.     @ 3,15 say 'CSEVENTS          Adding Record '+STR(#,5)
  107.     @ 7,1  say 'LAST NAME  '  GET LAST:NAME
  108.     @ 7,40 SAY 'FIRST NAME '  GET FIRST:NAME
  109.     @ 8,40 say 'HOME PHONE '  get home:phone
  110.     @ 8,1  SAY 'ADDRESS    '  GET ADDRESS
  111.     @ 9,1  SAY 'CITY,STATE '  GET CITY:STATE
  112.     @ 9,40 SAY 'ZIP CODE   '  GET ZIP
  113.     @ 10,1  SAY 'BIRTHDATE  ' GET BIRTHDATE PICTURE 'XX/XX/XX-XXX'
  114.     @ 10,40 SAY 'MEMB STATUS' GET MEMBSTATUS
  115.     @ 11,1  SAY 'SS/SC MEMB ' GET SS:SC:MEMB
  116.     @ 11,40 SAY 'COMMENTS   ' get COMMENTS
  117.     @ 12,18 say 'AMOUNT   $' get amount
  118.     @ 12,40 say 'PAID-1   $' get pd1
  119.     @ 13,40 say 'PAID-2   $' get pd2
  120.     @ 14,1  say 'SESSIONS   ' GET SESSIONS
  121.     @ 15,1  say 'EQUIPMENT  ' GET EQUIPMENT
  122.     @ 17,20 say 'Press ctrl-W to continue'
  123.     READ
  124.     Replace paid1 with str(pd1,9,2)+' '+indate
  125.     Replace paid2 with str(pd2,9,2)+' '+indate
  126. *   Replace amount:due with amount-(pd1+pd2)
  127.     Set intensity off
  128.  ? 
  129.  Store F to goodlodg
  130.  Do while .not. goodlodg
  131.  Do while .not. goodlodg
  132.   ? '    VALID LODGINGS: ',romvalid
  133.   ? 'Lodging code format: LLL RRRR  - LLL=Building,  RRRR=Room/Bed'
  134.   Accept '   Select a Lodging code (3,4 characters) ' to inlodg
  135.   Store inlodg+'        ' to inlodg
  136.   Store $(inlodg,1,3) to inlodgx
  137.   Store $(inlodg,5,5) to inlodgy
  138.   ? 'BUILDING: ',inlodgx,'      ROOM/BED: ',inlodgy
  139.   Store '='+inlodgx to innlodge
  140.   Store T to goodlodg
  141.   If !(inlodg)='Q     '.or.inlodg='         '
  142.     Store '         ' to inlodg
  143.   else
  144.    If @(innlodge,romvalid)=0
  145.     ? 'Lodging code is not found. Enter another.' 
  146.     Store F to goodlodg
  147.    endif
  148.   endif
  149.  enddo
  150.  If inlodg<>'         '
  151.   Select secondary
  152.   Store 'ROOM='+$(inlodg,1,9) to xx
  153.   Find &xx
  154.   If #=0 .or. $(spact,15,22)='                      '
  155.     Append blank
  156.     Replace spact with xx+$(P.last:name,1,11)+' '+$(P.first:name,1,10)
  157.     Select primary
  158.     Replace room with inlodg
  159.   else
  160.     ? 'This Lodging is already assigned. Enter another.'
  161.     Store F to goodlodg
  162.   endif
  163.  endif
  164.  enddo
  165.  ? 'Now assigned: ',xx,'  ',P.last:name,P.first:name
  166.  ?
  167.  Store F to goodlodg
  168.  Do while .not. goodlodg
  169.   ? 'VALID TRANSPORTATION CODES: ',tranvalid
  170.   Accept '      Select a Transportation code (5 characters) ' to inlodg
  171.   STORE INLODG+'    ' to inlodg
  172.   Store $(inlodg,1,5) to inlodg
  173.   Store '='+inlodg to innlodge
  174.   Store T to goodlodg
  175.   If !(inlodg)='Q    '.or.inlodg='     '
  176.     Store '     ' to inlodg
  177.   else
  178.    If @(innlodge,tranvalid)=0
  179.     ? 'Transportation code is not found. Enter another '
  180.     Store F to goodlodg
  181.    endif
  182.   endif
  183.  enddo
  184.  If !(inlodg)<>'     '
  185.    Select primary
  186.    Store $(last:name,1,11)+' '+$(first:name,1,10) to nfind
  187.    Replace transpor with inlodg
  188.    Select secondary
  189.    Append blank
  190.    Replace spact with 'TRAN='+inlodg+' '+nfind
  191.    ? 'Now assigned:  ',spact
  192.  else
  193.    ? 'Now assigned:  TRAN=_____'
  194.  endif
  195. RETURN
  196. S   ' get COMMENTS
  197.      @ 11,1 say 'LODGING  = '+ROOM
  198.      @ 12,1 say 'TRANSPORTATION  = '+transpor
  199.      @ 10,40 say 'AMOUNT  $' get amount
  200.      @ 11,40 say 'PAID-1  $' get pd1
  201.      @ 12,40 say 'PAID-2  $' get pd2
  202.      @ 13,40 say 'OWED    $' say amount:due
  203.      @ 13,1 say 'SESSIONS  ' GET SESSIONS
  204.      @ 14,1 say 'EQUIPMENT ' GET EQUIPMENT
  205.      @ 15,10 say 'Press <ctrl-W> when editing is complete.'
  206.      RE