#INCLUDE 'RQB.CH' #include "RASQLB.CH" #INCLUDE 'INKEY.CH' // CONSTANTS #define T_CM_CUSNO 1 // 1ST Index order for CUSMAS.DAT (customer #) #define T_CM_NAME 2 // 2nd Index order for CUSMAS.DAT (customer name) #define A_CUSNO 2 // 2nd Element in CUSMAS Field Array (customer #) #define A_NAME 4 // 4TH Element in CUSMAS Field Array (customer name) EXTERNAL N_XVIA // BTRIEVE /////////////////////////// FUNCTION BROWSE_TABLE(MFILE, MFIELD_ARR, MHEADER) // BROWSE THE MFILE LOCAL NTOP, NLEFT, NBOTT, NRIGHT LOCAL MPROC, MPIC, SAVESEL := N_XSELECT() N_XSELECT(MFILE) // SELECT THE BROWSE FILE WORK AREA NTOP = 3 NBOTT = 20 NLEFT = 1 NRIGHT = 79 //PARAMETER p_row1,p_col1,p_row2,p_col2,MFIELD_ARR,p_proc,p_pic,MHEADER QBROWSE(NTOP, NLEFT, NBOTT, NRIGHT, MFIELD_ARR, MPROC, MPIC, MHEADER) N_XSELECT(SAVESEL) // RESTORE SAVED WORK AREA RETURN * * * * * * * * * * * * * * * * * * FUNCTION CGWBBROW(MFILE) // BROWSE THE GREAT PLAINS FILE THRU BTRIEVE LOCAL MPATH, MTABLE, MHEADER, MFIELD_ARR:= {}, MHEAD_ARR := {} LOCAL MLEN N_XLOGIN() N_XERRLVL(3) NET_USE('&CONTROL', .F., 5, 'CONTROL') && CUSTOMER CHANGE FLAG MPATH = ALLTRIM(CONTROL->BTR_PATH) MTABLE = MPATH + MFILE + '.DAT' USE MSTRUCT := {} MFLD_NAMES := {} SELECT 0 NET_USE('CGWBTREV', .F., 5, 'DEFINITIONS') && CUSTOMER CHANGE FLAG DO WHILE !EOF() IF TRIM(SYSNAME) == MFILE AADD(MSTRUCT, FNAME + TYPE + LENGTH + DECIMAL_PT + NUM_DECS + FILLER + SEMI_COLON) IF FNAME <> 'FILL' .AND. AT('ARCM', FNAME) = 0 AADD(MFLD_NAMES, FNAME) MLEN = MAX( VAL(LENGTH), LEN(ALLTRIM(FNAME)) ) AADD(MHEAD_ARR, SUBS(FNAME,1,MLEN) ) ENDIF ENDIF SKIP 1 ENDDO USE SET DEFAULT FILETYPE TO '.DAT' SET RDD TO 'RQBRDD' NEW_STRUCT := RQBSTRUCT(MFILE) N_XSELECT(0) // SELECT NEXT EMPTY BTRIEVE WORK AREA N_XUSE(MTABLE, MSTRUCT) N_XORDER(1) // SET TO CORRECT INDEX ORDER N_XSRECSIZ() N_XRECSIZ() SET DEFAULT FILETYPE TO SET RDD TO CLS MHEADER := {} MFIELD_ARR := {} AADD(MFIELD_ARR, 'CUSNO') AADD(MHEADER, 'GP CUST#') AADD(MFIELD_ARR, 'BANK') AADD(MHEADER, 'CGW CUST#') AADD(MFIELD_ARR, 'NAME') AADD(MHEADER, 'CUST NAME') AADD(MFIELD_ARR, 'ADD1') AADD(MHEADER, 'ADDRESS') AADD(MFIELD_ARR, 'CITY') AADD(MHEADER, 'CITY') AADD(MFIELD_ARR, 'STATE') AADD(MHEADER, 'STATE') AADD(MFIELD_ARR, 'ZIP') AADD(MHEADER, 'ZIP') AADD(MFIELD_ARR, 'PHONE') AADD(MHEADER, 'PHONE') AADD(MFIELD_ARR, 'FAX') AADD(MHEADER, 'FAX') AADD(MFIELD_ARR, 'TAXSCH') AADD(MHEADER, 'TAX SCH.') AADD(MFIELD_ARR, 'SHIPNAME') AADD(MHEADER, 'SHIPPING NAME') AADD(MFIELD_ARR, 'SHIPADD1') AADD(MHEADER, 'SHIPPING ADDR1') AADD(MFIELD_ARR, 'SHIPADD2') AADD(MHEADER, 'SHIPPING ADDR2') AADD(MFIELD_ARR, 'SHIPCITY') AADD(MHEADER, 'SHIPPING CITY') AADD(MFIELD_ARR, 'SHIPST') AADD(MHEADER, 'SHIPPING STATE') AADD(MFIELD_ARR, 'SHIPZIP') AADD(MHEADER, 'SHIPPING ZIP') AADD(MFIELD_ARR, 'SHP_METHOD') AADD(MHEADER, 'SHP_METHOD') AADD(MFIELD_ARR, 'TERMS') AADD(MHEADER, 'TERMS') AADD(MFIELD_ARR, 'SLSMAN') AADD(MHEADER, 'SALESMAN') AADD(MFIELD_ARR, 'CLIMIT') AADD(MHEADER, 'CREDIT LIMIT') BROWSE_TABLE(MTABLE, MFLD_NAMES, MHEAD_ARR) N_XCLOSE(.T.) // CLOSE ALL BTRIVE FILES! RETURN