* SCSTKREP.PRG V1.02 BY DEREK FOUNTAIN * Outputs a stock report to the specified file * Uses a new file with one very large field to dump the data CLS AT 0,34 SAY "STOCK REPORT" AT 2,19 SAY "This report involves generating a work file" AT 3,25 SAY "This process may take some time" AT 5,8 SAY "Please confirm you wish to generate the report file (Y/N) >>>" LET confirm$=" " AT 5,70 GET confirm$ IF UPPER(confirm$)="N" RELEASE confirm$ RETURN ENDIF CLS AT 0,34 SAY "STOCK REPORT" AT 3,24 SAY "Creating work file - Please wait" SELECT 2 CREATE REP FROM REP.DEF SELECT 1 USE SCPROD INDEX SCPROD.NDX GO TOP DO WHILE EOF()=0 SELECT 2 APPEND BLANK SELECT 1 LET mline$=1:CODE$+" "+1:DESC$+" " LET msupp$=1:SUPP$ LET loc=RECNO() USE SCSUPP INDEX SCSUPP.NDX FIND msupp$ LET msupp$=1:NAME$ IF EOF()=1 LET msupp$="Supplier not on file " ENDIF USE SCPROD INDEX SCPROD.NDX GO loc LET var1=1:BUY_AT LET lvar1=LEN("&var1") LET var2=1:SELL_AT LET lvar2=LEN("&var2") LET var3=1:VALUE LET lvar3=LEN("&var3") LET var4=1:STOCK LET lvar4=LEN("&var4") LET lmsupp=LEN(TRIM(msupp$)) LET 2:LINE$=mline$+" "+msupp$ LET 2:LINE$=TRIM(2:LINE$)+SUBSTR(" ",1,25-lmsupp)+" &var1" LET 2:LINE$=TRIM(2:LINE$)+SUBSTR(" ",1,10-lvar1)+" &var2" LET 2:LINE$=TRIM(2:LINE$)+SUBSTR(" ",1,10-lvar2)+" &var3" LET 2:LINE$=TRIM(2:LINE$)+SUBSTR(" ",1,10-lvar3)+" &var4" LET 2:LINE$=TRIM(2:LINE$)+SUBSTR(" ",1,10-lvar4)+" "+1:LUPDATE$ SKIP ENDDO SELECT 2 GO TOP AT 3,24 SAY " " DO WHILE 1=1 AT 2,20 SAY "Please enter the name of the output file" LET filenam$=" " AT 6,25 SAY "Leave the name blank to abandon" AT 4,30 GET filenam$ IF filenam$=" " USE DELETE FILE REP SELECT 1 RELEASE confirm$,msupp$,filenam$,over$,mline$,loc,var1,var2,var3,var4,lvar1,lvar2,lvar3,lvar4 RETURN ENDIF AT 2,20 SAY " " AT 4,30 SAY " " AT 6,25 SAY " " LET over$="Y" IF FILE(filenam$)=1 AT 3,20 SAY "File exists - Overwrite it? (Y/N) >>>" LET over$=" " DO WHILE over$=" " AT 3,59 GET over$ IF WHERE(over$,"YyNn")=0 LET over$=" " ENDIF ENDDO ENDIF AT 3,20 SAY " " IF UPPER(over$)="Y" AT 3,20 SAY "Copying data to Pipedream file "+filenam$ COPY TO &filenam$ PD AT 3,20 SAY " " AT 3,11 SAY "Process completed - The file MUST be loaded as plain text" AT 5,27 SAY "Press any key to continue" WAIT USE DELETE FILE REP SELECT 1 RELEASE confirm$,msupp$,filenam$,over$,mline$,loc,var1,var2,var3,var4,lvar1,lvar2,lvar3,lvar4 RETURN ENDIF ENDDO