89 lines
1.8 KiB
Plaintext
89 lines
1.8 KiB
Plaintext
*MIKE LEWIS - ADD NEW REC TO BTRIEVE FILE - 05-17-94
|
|
|
|
FUNCTION CGWB1100
|
|
|
|
LOCAL MSTRUCT, MFLD_NAMES
|
|
LOCAL FLDS_TO_GET := {}, GP_FLD, CGW_FLD, MVAL
|
|
LOCAL BARM_FACTOR, XXX, OPT, MWORK_AREA
|
|
LOCAL MBANK, NEWREC := .F.
|
|
|
|
// GO OPEN AND SETUP BTRIEVE FILE
|
|
RESULT = SET_BTREV('CUSMAS', 'CUST_MAST')
|
|
MTABLE = RESULT[1]
|
|
MSTRUCT = RESULT[2]
|
|
MWORK_AREA = N_XSELECT()
|
|
|
|
NET_USE('&USERFILEX', .F., 5, 'CUST_MAST') && CUSTOMER CHANGE FLAG
|
|
*-NET_USE('CGW0CM', .F., 5, 'CUST_MAST') && CUSTOMER CHANGE FLAG
|
|
*-SET INDEX TO CGW1CM,CGW2CM,CGW3CM,CGW4CM
|
|
|
|
|
|
FLDS_TO_GET = GPFLDLIST()
|
|
|
|
|
|
SELECT CUST_MAST
|
|
DO WHILE !EOF()
|
|
MCUST_ID = GP_CUST // GET GREAT PLAINS CUST ID TO ADD
|
|
IF !N_XSEEK(MCUST_ID) // SEEK THE RECORD KEY
|
|
NEWREC = .T.
|
|
|
|
// CLEAR THE RECORD BUFFER WORK AREA
|
|
N_XSELECT(MWORK_AREA) // SELECT BTRIEVE FILE
|
|
N_XCLRBUF()
|
|
ENDIF
|
|
|
|
FOR L = 1 TO LEN(FLDS_TO_GET)
|
|
GP_FLD = FLDS_TO_GET[L,1]
|
|
CGW_FLD = FLDS_TO_GET[L,2]
|
|
|
|
DO CASE
|
|
|
|
CASE GP_FLD == 'PHONE'
|
|
MVAL = STRIPDASH(CGW_FLD)
|
|
|
|
CASE GP_FLD == 'FAX'
|
|
MVAL = STRIPDASH(CGW_FLD)
|
|
|
|
CASE GP_FLD == 'SHIPPHN'
|
|
MVAL = STRIPDASH(CGW_FLD)
|
|
|
|
CASE GP_FLD == 'SHIPFAX'
|
|
MVAL = STRIPDASH(CGW_FLD)
|
|
|
|
CASE GP_FLD == 'TERMS'
|
|
MVAL = VAL(CUST_MAST->&CGW_FLD)
|
|
|
|
CASE GP_FLD == 'SHP_METHOD'
|
|
MVAL = VAL(CUST_MAST->&CGW_FLD)
|
|
|
|
|
|
OTHERWISE
|
|
MVAL = CUST_MAST->&CGW_FLD
|
|
|
|
ENDCASE
|
|
|
|
|
|
N_XREPLACE( GP_FLD, MVAL) // UPDATE RECORD BUFFER
|
|
|
|
NEXT
|
|
IF NEWREC
|
|
N_XINSERT() // ADD NEW RECORD WITH BUFFER INFO
|
|
ELSE
|
|
N_XUPDATE() // UPDATE OLD RECORD
|
|
ENDIF
|
|
SKIP 1
|
|
ENDDO
|
|
|
|
CLOSE DATABASES
|
|
RETURN
|
|
|
|
* * * * * * * * * * * * * * * * * *
|
|
FUNCTION STRIPDASH(MFIELD)
|
|
// TAKE OUT THE DASHES IN &MFILD
|
|
|
|
LOCAL MVAL
|
|
|
|
MVAL = &MFIELD
|
|
MVAL = STRTRAN(MVAL, '-', '')
|
|
RETURN MVAL
|
|
|