Jim, Just do it like this:
set width 240 set null ' ' out c:\rep1.$$$ PRINT procexe1 + WHERE chgflg = 2 AND reason = '1' + ORDER BY reason, invoice out screen out printer type c:\rep1.$$$ out screen out c:\rep2.$$$ PRINT procexe + WHERE chgflg = 2 AND reason > '1'+ ORDER BY reason, invoice out screen out printer type c:\rep2.$$$ out screen In the event you have a printer problem, you still have the files c:\rep1.$$$ and c:\rep2.$$$, just print them out again. Troy Sosamon ===== Original Message from [EMAIL PROTECTED] at 1/09/02 8:30 am >G-Day all > >We have the following code that has worked up until we installed the DOS 65 >build 1.842xRT03 at one of our subsidiary plants. I am goind to install the >inline patch when I go down there today. I was just wondering if anyone has >seen something similar to this, and could reccommend some suggestions. > >CASE 'Process Exceptions' > CLS > WRITE 'TUFTCO FINISHING' AT 1,2 > WRITE 'Exception Processing Module' AT 2,2 > DECLARE cursor1 CURSOR + > FOR SELECT invoice, itemnum, qty, price, extnded FROM phdetail + > WHERE chgflg = 1 > OPEN cursor1 > FETCH cursor1 + > INTO vinv INDICATOR vi1, vitem INDICATOR vi2, vqty + > INDICATOR vi3, vprice INDICATOR vi4, vexten INDICATOR vi5 > SELECT cost FROM itemfile WHERE itemnum = .vitem > IF SQLCODE = 100 THEN > CLS FROM 3 TO 24 > WRITE 'INVOICE NUMBER: ' AT 4,5 > SHOW VAR vinv AT 4,21 > WRITE 'ITEM NUMBER: ' AT 5,5 > SHOW VAR vitem AT 5,21 > SET VAR msg1 TEXT = 'ITEM NOT IN FILE. NOTE THE ITEM' > SET VAR msg2 TEXT = ' & INVOICE ABOVE, ADD IT & RERUN EXCEPTIONS.' > SET VAR msg TEXT = (msg1 & msg2) > PAUSE 1 USING .msg AT CENTER CENTER > CLEAR VAR msg% > FETCH cursor1 + > INTO vinv INDICATOR vi1, vitem INDICATOR vi2, vqty + > INDICATOR vi3, vprice INDICATOR vi4, vexten INDICATOR vi5 > ENDIF > WHILE SQLCODE <> 100 THEN > CLS FROM 3 TO 24 > WRITE 'INVOICE NUMBER: ' AT 4,5 > SHOW VAR vinv AT 4,21 > WRITE 'ITEM NUMBER: ' AT 5,5 > SHOW VAR vitem AT 5,21 > WRITE 'QUANTITY:' AT 6,5 > SHOW VAR vqty AT 6,21 > WRITE 'PRICE: ' AT 7,5 > SHOW VAR vprice AT 7,21 > WRITE 'TOTAL: ' AT 8,5 > SHOW VAR vexten AT 8,21 > SET VAR vvnum = vendnum IN phheader WHERE invoice = .vinv > SET VAR vvend = vendname IN vendors WHERE vendnum = .vvnum > WRITE 'VENDOR: ' AT 10,5 > SHOW VAR vvend AT 10,21 > SET VAR vdate = trandate IN phheader WHERE invoice = .vinv > WRITE 'INV DATE: ' AT 11,5 > SHOW VAR vdate AT 11,21 > SET VAR vcost = cost IN itemfile WHERE itemnum = .vitem > WRITE 'ITEM COST: ' AT 13,5 > SHOW VAR vcost AT 13,21 > WRITE 'TOTAL COST: ' AT 14,5 > SET VAR vcsttot CURRENCY > SET VAR vcsttot = (.vcost * .vqty) > SHOW VAR vcsttot AT 14,21 > WRITE + > 'Purchase Price of this Item exceeds Current Cost in Inventory.' + > AT 16,5 > SET VAR vdiff CURRENCY > SET VAR vdiff = (.vexten - .vcsttot) > WRITE 'TOTAL DIFFERENCE: ' AT 17,5 > SHOW VAR vdiff AT 17,25 > LABEL excepts > WRITE 'Exceptions should be cleared as follows:' AT 19,5 > WRITE '(1) Update Current Cost in Kardex File, (2) One time ' + > AT 20,5 > WRITE 'purchase-do not update cost, 3) Immaterial Difference-Do ' + > AT 21,5 > WRITE 'not update cost.' AT 22,5 > SET VAR vcho TEXT > LABEL check2 > FILLIN vcho USING 'CHOICE===> ' AT 23,25 > IF vcho <> '1' AND vcho <> '2' AND vcho <> '3' THEN > CLS FROM 23 TO 24 > GOTO check2 > ENDIF > LABEL CHECK > SET VAR vans TEXT > FILLIN vans = 0 USING 'ARE YOU SURE? ([Y]/N)' AT 24,21 > IF vans = 'N' THEN > CLS FROM 20 TO 24 > GOTO excepts > ENDIF > IF vans <> 'N' AND vans <> 'Y' AND vans <> '[ENTER]' THEN > GOTO CHECK > ENDIF > IF vcho = '1' THEN > UPDATE phdetail SET reason = (.vcho) WHERE CURRENT OF cursor1 > UPDATE phdetail SET diff = (.vdiff) WHERE CURRENT OF cursor1 > SET VAR vpr1 CURRENCY > SET VAR vprd1 DATE > SET VAR vcstdte DATE > SET VAR vpr1 = prior1 IN itemfile WHERE itemnum = .vitem > SET VAR vprd1 = prdate1 IN itemfile WHERE itemnum = .vitem > SET VAR vcstdte = costdate IN itemfile WHERE itemnum = .vitem > UPDATE itemfile SET prior2 = (.vpr1), prdate2 = + > (.vprd1), prior1 = (.vcost), prdate1 = (.vcstdte), cost = + > (.vprice), costdate = (.vdate), updflg = 1 + > WHERE itemnum = .vitem > UPDATE phdetail SET chgflg = 2 WHERE CURRENT OF cursor1 > ELSE > UPDATE phdetail SET reason = (.vcho), diff = + > (.vdiff), chgflg = 2 WHERE CURRENT OF cursor1 > ENDIF > FETCH cursor1 + > INTO vinv INDICATOR vi1, vitem INDICATOR vi2, vqty + > INDICATOR vi3, vprice INDICATOR vi4, vexten INDICATOR vi5 > ENDWHILE > CLS > OUTPUT PRINTER WITH rpt1.rpt XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > PRINT procexe1 + > WHERE chgflg = 2 AND reason = '1' + > ORDER BY reason, invoice > OUTPUT SCREEN > OUTPUT PRINTER WITH rpt2.rpt > PRINT procexe + > WHERE chgflg = 2 AND reason > '1'+ > ORDER BY reason, invoice > OUTPUT SCREEN > UPDATE phdetail SET chgflg = 0 WHERE chgflg = 2 > DROP CURSOR cursor1 > RUN makeplay.cmd USING .pick11, 6 > BREAK > ENDSW > BREAK > >The problem lies at the line where I put all the XXXXXXXXXXXXXXXXXXXXXXXXXX's >The statements: > >PRINT procexe1 + >WHERE chgflg = 2 AND reason = '1' + >ORDER BY reason, invoice > >PRINT procexe + >WHERE chgflg = 2 AND reason > '1'+ >ORDER BY reason, invoice > >Did have SORTED BY obsolete wording that I changed, but this did not seem to >make any difference. > >The problem I am having is that the when it get's to these it use to send it >to the EPSON printer. Now it sends the results of procexe1 and procexe to the >screen instead. > >I have to confess that I don't fully understand any reasoning for the OUTPUT >PRINTER WITH rpt1.rpt and OUTPUT PRINTER WITH rpt2.rpt statements other than >at one time one of the original programmers did this in case the printing >failed for some reason.. > >In looking at what was in these rpt1.rpt and rpt2.rpt both seemed to be dated >around ????-1996 so I don't think this part has run for a long time now >anyway. > >One big question I have is if I was to send these reports to a file and then >use ??? syntax to send them to the printer, what would be the correct syntax, >and would the embedded control codes get read by the printer so it would >print landscape and compressed. If not then I will have to use some kind of >GOTO loop to ask the user if they printer properly. > >One other question is does the FILLIN still work in RBase6.5.. I see it in >the list of Obsolete commands but does this only apply to Windows version? >The FILLIN that is embedded in this code seems to be prompting the user >correctly now, but I haven't fully tested it.. > >One other question. Does the Where current of Cursor work still without >problems? I see in the obsolete command where the IN #n says to use it in >the dos version, but it says to use UPDATE/SET VAR testing in the WIN >version. Would it be better change the code to the WIN style UPDATE/SET VAR >now and not have to deal with it later or is there a hitch with this? > >Thanks for any feedback. > >Jim Limburg > >================================================ >TO SEE MESSAGE POSTING GUIDELINES: >Send a plain text email to [EMAIL PROTECTED] >In the message body, put just two words: INTRO rbase-l >================================================ >TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] >In the message body, put just two words: UNSUBSCRIBE rbase-l ================================================ TO SEE MESSAGE POSTING GUIDELINES: Send a plain text email to [EMAIL PROTECTED] In the message body, put just two words: INTRO rbase-l ================================================ TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] In the message body, put just two words: UNSUBSCRIBE rbase-l
