STORE T TO LST::ING STORE TRANS:CD + 'SH' TO SYS::SH DO WHILE LST::ING STORE SELECT:1 TO SE::LECT1 STORE SELECT:2 TO SE::LECT2 STORE SELECT:3 TO SE::LECT3 STORE SELECT:4 TO SE::LECT4 STORE ' ' TO MC::PS , MF::IND STORE 0 TO MF::INT STORE 3 TO I:LN STORE ' ' TO T::IT ERASE @ 0,0 SAY TRANS:CD + ' ' + BLD:DATE @ 0,40 SAY VER: @ 1,5 SAY TRIM(HEADER) + ' - DISPLAY ALL' IF SELECT:1 <> ' ' @ I:LN,5 SAY '1. DISPLAY RECORDS ON ' + SELECT:1 STORE T::IT + ' .AND. MF::INT <> 1' TO T::IT STORE I:LN + 1 TO I:LN IF TYPE(&SE::LECT1) = 'C' STORE $(SPACE,1,LEN(&SE::LECT1)) TO F::1 ELSE STORE 0 TO F::1 ENDIF ENDIF IF SELECT:2 <> ' ' @ I:LN,5 SAY '2. DISPLAY RECORDS ON ' + SELECT:2 STORE T::IT + ' .AND. MF::INT <> 2' TO T::IT STORE I:LN + 1 TO I:LN IF TYPE(&SE::LECT2) = 'C' STORE $(SPACE,1,LEN(&SE::LECT2)) TO F::2 ELSE STORE 0 TO F::2 ENDIF ENDIF IF SELECT:3 <> ' ' @ I:LN,5 SAY '3. DISPLAY RECORDS ON ' + SELECT:3 STORE T::IT + ' .AND. MF::INT <> 3' TO T::IT STORE I:LN + 1 TO I:LN IF TYPE(&SE::LECT3) = 'C' STORE $(SPACE,1,LEN(&SE::LECT3)) TO F::3 ELSE STORE 0 TO F::3 ENDIF ENDIF IF SELECT:4 <> ' ' @ I:LN,5 SAY '4. DISPLAY RECORDS ON ' + SELECT:4 STORE T::IT + ' .AND. MF::INT <> 4' TO T::IT STORE I:LN + 1 TO I:LN IF TYPE(&SE::LECT4) = 'C' STORE $(SPACE,1,LEN(&SE::LECT4)) TO F::4 ELSE STORE 0 TO F::4 ENDIF ENDIF @ I:LN,5 SAY '5. LIST FIELDS' STORE I:LN + 1 TO I:LN @ I:LN,5 SAY '6. RETURN TO MAIN MENU' STORE LEN(T::IT) - 7 TO I:STOP STORE $(T::IT,8,I:STOP) TO T::IT DO WHILE &T::IT .AND. MF::INT <> 6 .AND. MF::INT <> 5 @ 23,5 SAY 'ENTER NUMBER OF DESIRED "FIND PROCESS" ' GET MF::IND READ STORE VAL(MF::IND) TO MF::NR , MF::INT STORE ' ' TO MF::IND ENDDO RELEASE I:LN , T::IT DO CASE CASE MF::INT = 1 @ 15,5 SAY SELECT:1 GET F::1 READ IF TYPE(&SE::LECT1) = 'C' STORE TRIM(!(F::1)) TO F::1 LOCATE FOR F::1 $ &SE::LECT1 ELSE LOCATE FOR F::1 = &SE::LECT1 ENDIF CASE MF::INT = 2 @ 15,5 SAY SELECT:2 GET F::2 READ IF TYPE(&SE::LECT2) = 'C' STORE TRIM(!(F::2)) TO F::2 LOCATE FOR F::2 $ &SE::LECT2 ELSE LOCATE FOR F::2 = &SE::LECT2 ENDIF CASE MF::INT = 3 @ 15,5 SAY SELECT:3 GET F::3 READ IF TYPE(&SE::LECT3) = 'C' STORE TRIM(!(F::3)) TO F::3 LOCATE FOR F::3 $ &SE::LECT3 ELSE LOCATE FOR F::3 = &SE::LECT3 ENDIF CASE MF::INT = 4 @ 15,5 SAY SELECT:4 GET F::4 READ IF TYPE(&SE::LECT4) = 'C' STORE TRIM(!(F::4)) TO F::4 LOCATE FOR F::4 $ &SE::LECT4 ELSE LOCATE FOR F::4 = &SE::LECT4 ENDIF CASE MF::INT = 5 STORE TRANS:CD + 'AS' TO SYS::SEL DO &SYS::SEL RELEASE SYS::SEL CASE MF::INT = 6 RETURN OTHERWISE ENDCASE DO WHILE * .AND. MF::INT < 5 CONTINUE IF EOF STORE 6 TO MF::INT ENDIF ENDDO IF EOF .AND. MF::INT <> 5 @ 22,20 SAY 'RECORD NOT FOUND' STORE ' ' TO MC::PS DO WHILE MC::PS <> 'M' .AND. MC::PS <> 'P' @ 23,5 SAY 'MAIN MENU = M, PROCESS = P ' GET MC::PS READ STORE !(MC::PS) TO MC::PS ENDDO ENDIF IF MC::PS = 'M' STORE F TO LST::ING LOOP ELSE IF MC::PS = 'P' LOOP ENDIF ENDIF STORE T TO CYC::LING DO WHILE CYC::LING IF MF::INT <> 5 ERASE STORE ' ' TO MC::PS @ 0,0 SAY TRANS:CD + ' ' + BLD:DATE @ 0,40 SAY VER: @ 01,5 SAY TRIM(HEADER) + ' - DISPLAY ALL' ************** **************** DO &SYS::SH STORE ' ' TO MC::PS DO WHILE MC::PS <> 'M' .AND. MC::PS <> 'C' .AND. MC::PS <> 'P' @ 23,5 SAY 'MAIN MENU = M, CANCEL = C, PROCESS = P ' GET MC::PS READ STORE !(MC::PS) TO MC::PS ENDDO DO CASE CASE MC::PS = 'P' CONTINUE CASE MC::PS = 'M' STORE F TO LST::ING , CYC::LING LOOP CASE MC::PS = 'C' STORE F TO CYC::LING LOOP ENDCASE DO WHILE * .AND. MF::INT <> 7 CONTINUE IF EOF STORE 7 TO MF::INT ENDIF ENDDO ENDIF IF EOF .OR. MF::INT = 5 STORE F TO LST::ING , CYC::LING STORE ' ' TO MC::PS DO WHILE MC::PS <> 'M' .AND. MC::PS <> 'P' @ 22,20 SAY 'FUNCTION COMPLETE' @ 23,0 SAY ' ' @ 23,5 SAY 'MAIN MENU = M, PROCESS = P ' GET MC::PS READ STORE !(MC::PS) TO MC::PS ENDDO ENDIF ENDDO IF MC::PS = 'P' STORE T TO LST::ING ENDIF ENDDO RETURN