* DON LOWENSTEIN -BUILD LABEL FILE ARRAY- CGW0400 9-5-95 PROCEDURE BUILDLBL(CALLPARM) LOCAL CONVKEYX, FILEPARMS, LGET_KEY, FLD_INFO:={}, SAVESEL := SELECT() LOCAL WORKVAR, SAVESCR, MARR, NEW_OLD, ONE_MANY, PRES_TREAS PRIVATE PRNTARR := {}, PARENTFILE, CHILDFILE, MDESC, CUTOFF, PIC, FILEFILTER PRIVATE PRNTNAME, KEYVAR, RANGETYPE, NDXEXP, RANGEARR := {}, LVLBRK, SORTARR := {} PRIVATE PARENTFILTER := NIL, REPTHEAD, DEFINEPROC:= NIL **PRIVATE DET_SUMM := .F., DET_LINE_EXTRA := {}, FOOTERLINES := {} PRIVATE _TOFILE := .F., DET_LINE_EXTRA := {}, FOOTERLINES := {} PRIVATE LBRK_FOOTER := {} PRIVATE REPTONLY := .F., BLD_PROC // 13-15 PRIVATE DBF_FLD_INFO := {} PRIVATE LABELFILE := NIL PRIVATE OUTPORT := NIL PRIVATE NUMLBLS := 1 PRIVATE NUMBATCH := 1 PRIVATE MGET_KEY PUBLIC LBL_DATA := CALLPARM CALLPARM = UPPER(ALLTRIM(CALLPARM)) DO CASE ******************************************************************* CASE CALLPARM = 'CUSTOMER' // PRNTNAME = 'CUSTOMER LABELS' IF CALLPARM = 'CUSTOMER-MANY' PARENTFILE = 'CUST_MAST' ELSE FILEPARMS := DBOPEN('CUST_MAST') CLS SAYTITLE(PRNTNAME, 'LABEL') LGET_KEY := GET_KEY(FILEPARMS) IF LASTKEY() = 27 .OR. EMPTY(LGET_KEY) RETURN NIL ENDIF IF SELECT('USERFILEX') > 0 CLOSE USERFILEX ENDIF COPY NEXT 1 TO &USERFILEX PARENTFILE := 'USERFILEX' ENDIF IF CALLPARM == "CUSTOMER-MANY-SHIP" .OR. ; CALLPARM == "CUSTOMER-ONE-SHIP" DEFINEPROC := {|| SHP_CUSTLBL() } ELSE DEFINEPROC := {|| BLD_CUSTLBL() } ENDIF LABELFILE := WHICH_LABEL() IF LABELFILE = NIL RETURN NIL ENDIF IF CALLPARM = 'CUSTOMER-MANY' MDESC = 'Cust#' PIC = '' KEYVAR = 'CUST_ID' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = 1 NDXEXP = 'CUST_ID' LVLBRK = {} AADD(SORTARR, {'Cust#', KEYVAR, NDXEXP, SYSNTX, LVLBRK}) AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'Name' PIC = '' KEYVAR = 'COMP_NAME' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = 2 NDXEXP = 'COMP_NAME' LVLBRK = {} AADD(SORTARR, {'Name', KEYVAR, NDXEXP, SYSNTX, LVLBRK}) AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'ZIP Code' PIC = '' KEYVAR = 'CUST_ZIP' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL NDXEXP = 'CUST_ZIP+COMP_NAME' LVLBRK = {} AADD(SORTARR, {'ZIP Code', KEYVAR, NDXEXP, SYSNTX, LVLBRK}) AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'State' PIC = '!!' KEYVAR = 'CUST_STATE' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'Salesman' PIC = '' KEYVAR = 'SLSMAN' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'Terms Code' PIC = '' KEYVAR = 'TERMS' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'Delivery Route' PIC = '' KEYVAR = 'DEL_ROUTE' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'Price Sheet' PIC = '' KEYVAR = 'PRICE_SHT' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) MDESC = 'Tax Schedule' PIC = '' KEYVAR = 'TAXSCH' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL AADD(RANGEARR, {MDESC, KEYVAR, PIC, RANGETYPE, CUTOFF}) ELSE MDESC = 'One LABEL for Customer - ' + CUST_MAST->CUST_ID PIC = '' KEYVAR = 'CUST_ID' RANGETYPE = 'R' CUTOFF = .F. SYSNTX = NIL NDXEXP = 'CUST_ID' LVLBRK = {} AADD(SORTARR, {MDESC, KEYVAR, NDXEXP, SYSNTX, LVLBRK}) ENDIF PRNTARR := LOAD_LBLARR() ************************************************************************ OTHERWISE PRNTARR := NIL ENDCASE RETURN PRNTARR ********************************************************** FUNCTION WHICH_LABEL() // GET WHICH LABELS LOCAL SAVESCR := SAVESCREEN() LOCAL MARR := {}, WORKVAR, LABELFILE @ 02,0 CLEAR AADD(MARR,'Standard labels, 3 across, 5 Lines ( 15/16")') AADD(MARR,'Laser labels, 3 across, 5 Lines') AADD(MARR,'Standard labels, 1 across, 8 Lines (1 7/16")') AADD(MARR,'Standard labels, 1 across, 5 Lines ( 15/16") ') // WORKVAR = PICKLIST(MARR,10,, 'Which Labels?') IF LASTKEY() = 27 RETURN NIL ENDIF IF WORKVAR = 1 LABELFILE = 'LBL3X1' // { 'LBL3X1', LBL_SIZE } // LBL_TYPE 9 IS A MESSAGE '1 ACROSS, 2 X 3 ELSE IF WORKVAR = 2 LABELFILE = 'CGWLBL7' // laser labels ELSE // 8 lines IF WORKVAR = 3 LABELFILE = 'CGWLBL9' // 5 lines - BIG ELSE IF WORKVAR = 4 LABELFILE = 'CGWLBL2' // 5 lines - LITTLE ELSE LABELFILE := NIL ENDIF ENDIF ENDIF ENDIF RESTSCREEN(,,,,SAVESCR) RETURN LABELFILE