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

  1. * Program CSEGSESS - Generates SESSFILE file of people's Session Assignments
  2. Store d+':SESSFILE' to M1FILE
  3. ACCEPT 'Do you need to have a new SESSFILE created? ' to xx
  4. If !(xx)='Y'
  5. Erase
  6. @ 2,10 say 'Sessions file generation process'
  7. ? 'This program prints out data errors when found, so ready the printer.'
  8. @ 5,0 say  'Now scanning the EDIRFILE for Session codes and names.'
  9. Select secondary
  10. Store 'SESS=' to spac
  11. Find &SPAC
  12. If # = 0
  13.   Accept 'No Sessions found in EDIRFILE. Press <retn> to terminate.' to XX
  14. else
  15. Store chr(31) to chr31
  16. Store '=' to actlist
  17. ? '  Event Sessions are: '
  18. Do while spact='SESS=' .and. .not. EOF
  19.   ? $(spact,6,55)
  20.   Store actlist+$(spact,6,5)+'=' to actlist
  21.   SKIP
  22. enddo
  23. ?
  24. ? 'Now copying MEMBERS that have Sessions to file SESSFILE.'
  25. Select primary
  26. Use &MFILE
  27. Set talk on
  28. COPY to &M1FILE for sessions <> '     '
  29. Set talk off
  30. USE &M1FILE
  31. GOTO BOTTOM
  32. Store #+1 to lastrec
  33. GOTO top
  34. Store 1 to reccount
  35. ? 'Now expanding SESSFILE file for multi-sessions people.'
  36. ? 'Ready the printer for printing Session code errors.'
  37. Set format to print
  38. @ 1,20 say 'Sessions code errors in MEMBERSE file - '+curdate
  39. Store 3 to curline
  40. Store 0 to recnumB
  41. Store 0 to recc
  42. Do while # < lastrec
  43.     Store SESSIONS to sess
  44.     Store # to currec
  45.     Store 1 to fieldcnt
  46.     Do while fieldcnt < 49
  47.       Store $(sess,fieldcnt,5)+'=' to spactiv
  48.       If spactiv='     ='
  49.         Store 49 to fieldcnt
  50.       else
  51.         If @(spactiv,actlist)=0
  52.          Store $(sess,fieldcnt,49-fieldcnt) to badspact
  53.          If fieldcnt=1
  54.            Delete
  55.          endif
  56.          Store 50 to fieldcnt
  57.        else
  58.          STORE $(SESS,FIELDCNT,5)+'.' TO SPACTIV
  59.          IF $(SESS,FIELDCNT+5,1)='"'
  60.            STORE $(SPActiv,1,5)+chr31 TO SPACTIV
  61.          ENDIF
  62.          If fieldcnt>1
  63.          Store last:name to xlast
  64.          Store first:name to xfirst
  65.          Store membstatus to xmemb
  66.          Store home:phone to xhph
  67.          Store address to xaddr
  68.          Store city:state to xcityst
  69.          Store zip to xzip
  70.          Store birthdate to xbirth
  71.          Store ss:sc:memb to xsssc
  72.          Store room to xroom
  73.          Store transpor to xtrans
  74.          Store dates to xdates
  75.          Append blank
  76.          Replace last:name with xlast
  77.          Replace first:name with xfirst
  78.          Replace membstatus with xmemb
  79.          Replace home:phone with xhph
  80.          Replace address with xaddr
  81.          Replace city:state with xcityst
  82.          Replace zip with xzip
  83.          Replace birthdate with xbirth
  84.          Replace ss:sc:memb with xsssc
  85.          Replace room with xroom
  86.          Replace transpor with xtrans
  87.          Replace sessions with spactiv
  88.          Replace dates with xdates
  89.          GOTO currec
  90.          ELSE
  91.            REPLACE SESSIONS WITH SPACTIV
  92.          endif
  93.         Store fieldcnt+6 to fieldcnt
  94.         endif
  95.       endif
  96.     enddo
  97.   If fieldcnt = 50
  98. @ curline,1 say $(badspact,1,6)+'   '+last:name+$(first:name,1,20)+home:phone+;
  99. $(address,1,15)
  100.     If *
  101.       REPLACE SESSIONS with '~~~'
  102.     endif
  103.     Store curline+1 to curline
  104.     If curline > 63
  105.       EJECT
  106.       Store 1 to curline
  107.     endif
  108.   endif
  109.   SKIP
  110.   Store recc+1 to recc
  111.   If recc = 20
  112.     Store 0 to recc
  113.     Store recnumb+20 to recnumb
  114.     Set format to screen
  115.     ? recnumb,' records processed.'
  116.     Set format to print
  117.   endif
  118. enddo
  119. EJECT
  120. Set format to screen
  121. USE &M1FILE
  122. ? 'Expansion is complete. Now indexing SESSFILE by Session name.'
  123. Set talk on
  124. Index on sessions+last:name+first:name to &M1FILE
  125. Set talk off
  126. USE &M1FILE index &M1FILE
  127. ? 'SESSFILE generation is complete.'
  128. Release spac,actcount,actlist,reccount,xlast,xfirst,xmemb,xhph,xaddr,xzip
  129. Release xcityst,xbirth,xsssc,spactiv,xskills,xdates,curline,chr31
  130. Release M1FILE,LASTREC,RECNUMB,RECC,CURREC,FIELDCNT,BADSPACT,SP:ACTIVTY
  131. endif
  132. else
  133.   Store d+':SESSFILE' to M1FILE
  134.   Use &M1FILE index &M1FILE
  135. endif
  136. Select secondary
  137. Store ' ' to ssel
  138. Do while ssel<>'Q'
  139. ?
  140. Accept 'Enter a Session code ' to ssel
  141. Store F to validd
  142. Do while .not. validd
  143.  Store T to validd
  144.  If !(ssel)='Q'.or.ssel=' '
  145.    Store 'Q' to ssel
  146.  else
  147.    Store 'SESS='+ssel to sfind
  148.    Select secondary
  149.    Find &sfind
  150.    If #=0
  151.      Accept 'This Session is not found in EDIRFILE. Enter again ' to ssel
  152.      Store F to validd
  153.    endif
  154.  endif
  155. enddo
  156. Select primary
  157. Find &ssel
  158. If ssel<>'Q'.and. #<>0
  159.   ?
  160.   ? ' ',$(spact,12,44),$(ename,1,20),' ',date()
  161.   SKIP
  162.   Do while sessions=ssel .and. .not. EOF
  163.     Store 0 to I
  164.     Do while I<22 .and. sessions=ssel .and. .not. EOF
  165.       Store I+1 to I
  166.       ? last:name,first:name,home:phone,address
  167.       SKIP
  168.     enddo
  169.     If sessions=ssel
  170.       Accept 'Press <return> to continue ' to xx
  171.     endif
  172.   enddo
  173.   ? '  End-of-Sessions '
  174. endif
  175. enddo
  176. Select primary
  177. Use &MFILE index &MFILE
  178. endif
  179. endif
  180. RETURN
  181.  
  182. ons <> '     '
  183. Set talk off
  184. USE &M1FILE
  185. GOTO BOTTOM
  186. Store #+1 to lastrec
  187. GOTO top
  188. Store 1 to reccount
  189. ? 'Now expanding SESSFILE file for multi-sessions people.'
  190. Set format to print
  191. @ 1,20