first commit
This commit is contained in:
+193
@@ -0,0 +1,193 @@
|
||||
* MIKE LEWIS - UPDATE CUSTMAST FROM GREAT PLAINS DBF - CGW1170 04-26-94
|
||||
|
||||
#INCLUDE 'RQB.CH'
|
||||
#include "RASQLB.CH"
|
||||
* #INCLUDE 'F:\CLIP52\RASQLB\52\RQB.CH'
|
||||
* #include "F:\CLIP52\RASQLB\52\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
|
||||
*****************************************************
|
||||
FUNCTION CGWB1170
|
||||
// UPDATE CUSTOMER DBF WITH GREAT PLAINS INFO
|
||||
|
||||
LOCAL MSTRUCT, MFLD_NAMES
|
||||
LOCAL FLDS_TO_GET := {}, GP_FLD, CGW_FLD, MVAL
|
||||
LOCAL BARM_FACTOR, XXX, OPT, MWORK_AREA
|
||||
LOCAL MBANK
|
||||
|
||||
|
||||
CLS
|
||||
@ 10,15 SAY 'About to UPDATE the CUSTOMER File from the'
|
||||
@ 11,15 SAY 'Great Plains File. This process may take '
|
||||
@ 12,15 SAY 'several minutes to complete.'
|
||||
OPT = ' '
|
||||
@ 14,20 SAY 'Do you wish to continue? (Y/N)' GET OPT PICTURE '!' VALID OPT$'YN'
|
||||
READ
|
||||
IF LASTKEY() = 27 .OR. OPT$'N'
|
||||
RETURN
|
||||
ENDIF
|
||||
|
||||
// GO OPEN AND SETUP BTRIEVR FILE
|
||||
RESULT = SET_BTREV()
|
||||
MTABLE = RESULT[1]
|
||||
MSTRUCT = RESULT[2]
|
||||
|
||||
|
||||
MWORK_AREA = N_XSELECT()
|
||||
|
||||
// OPEN UP CGW MASTER FILE
|
||||
DBOPEN('CUST_MAST')
|
||||
*-NET_USE('CGW0CM', .F., 5, 'CUST_MAST') && CUSTOMER CHANGE FLAG
|
||||
*-SET INDEX TO CGW1CM,CGW2CM,CGW3CM,CGW4CM
|
||||
|
||||
|
||||
|
||||
FLDS_TO_GET = GPFLDLIST()
|
||||
|
||||
*-QBROWSE(2,2,20,79)
|
||||
|
||||
|
||||
BARM_FACTOR = SETBARM(,, 20, N_XLASTREC() )
|
||||
|
||||
XXX = 0
|
||||
N_XGOTOTOP() // TOP OF BTRIVE FILE
|
||||
DO WHILE !N_XEOF()
|
||||
XXX++
|
||||
BARM_UPDATE(,,XXX, BARM_FACTOR)
|
||||
MCUSNO = N_XFETCH(A_CUSNO) // GET CURRENT GREAT PLAINS CUSTOMER ID
|
||||
MBANK = N_XFETCH('BANK') // GET CURRENT CUSTOMER ID
|
||||
|
||||
SELECT CUST_MAST
|
||||
*-SEEK MCUSNO
|
||||
SEEK MBANK // CGW CUST ID
|
||||
IF !FOUND()
|
||||
ADD_REC(1)
|
||||
REPLACE GP_CUST WITH MCUSNO
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
// TEMPORARY FOR NOW
|
||||
*- REPLACE CUST_ID WITH MCUSNO
|
||||
REPLACE CUST_ID WITH MBANK
|
||||
|
||||
|
||||
|
||||
ELSE
|
||||
REC_LOCK(1)
|
||||
ENDIF
|
||||
N_XSELECT(MWORK_AREA) // SELECT BTRIEVE FILE
|
||||
|
||||
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 = SETDASH(GP_FLD)
|
||||
|
||||
CASE GP_FLD == 'FAX'
|
||||
MVAL = SETDASH(GP_FLD)
|
||||
|
||||
CASE GP_FLD == 'SHIPPHN'
|
||||
MVAL = SETDASH(GP_FLD)
|
||||
|
||||
CASE GP_FLD == 'SHIPFAX'
|
||||
MVAL = SETDASH(GP_FLD)
|
||||
|
||||
CASE GP_FLD == 'TERMS'
|
||||
MVAL = STR(N_XFETCH(GP_FLD),12)
|
||||
|
||||
CASE GP_FLD == 'SHP_METHOD'
|
||||
MVAL = STR(N_XFETCH(GP_FLD),5)
|
||||
|
||||
CASE GP_FLD = 'SHIP'
|
||||
// ONLY GET SHIPPING INFO FOR CUSTOMERS WITH '01' OR '02'
|
||||
// IN THE LAST 2 DIGITS IN THE CUST ID
|
||||
IF RIGHT(MBANK,2) = '01' .OR. RIGHT(MBANK,2) = '02'
|
||||
MVAL = N_XFETCH(GP_FLD)
|
||||
ELSE
|
||||
MVAL = ''
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
OTHERWISE
|
||||
MVAL = N_XFETCH(GP_FLD)
|
||||
|
||||
ENDCASE
|
||||
|
||||
|
||||
*- IF EMPTY(CUST_MAST->&CGW_FLD)
|
||||
REPLACE CUST_MAST->&CGW_FLD WITH MVAL
|
||||
*- ENDIF
|
||||
|
||||
NEXT
|
||||
|
||||
|
||||
N_XSKIP(1)
|
||||
ENDDO
|
||||
CLOSE DATABASES
|
||||
RETURN
|
||||
|
||||
* * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*- FUNCTION SET_BTREV
|
||||
*- // OPEN UP THE BTRIEVE FILE
|
||||
*-
|
||||
*- CLS
|
||||
*- WAIT_BOX(' *** UPDATING CUSTOMER FILE *** ',;
|
||||
*- ' *** PLEASE WAIT *** ')
|
||||
*-
|
||||
*- N_XLOGIN()
|
||||
*- N_XERRLVL(3)
|
||||
*-
|
||||
*- MSTRUCT := {}
|
||||
*- MFLD_NAMES := {}
|
||||
*- SELECT 0
|
||||
*-
|
||||
*- NET_USE('CGWBTREV', .F., 5, 'DEFINITIONS') && CUSTOMER CHANGE FLAG
|
||||
*- DO WHILE !EOF()
|
||||
*- AADD(MSTRUCT, FNAME + TYPE + LENGTH + DECIMAL_PT + NUM_DECS + FILLER + SEMI_COLON)
|
||||
*- AADD(MFLD_NAMES, FNAME)
|
||||
*- SKIP 1
|
||||
*- ENDDO
|
||||
*- USE
|
||||
*-
|
||||
*-
|
||||
*- NET_USE('&CONTROL', .F., 5, 'CONTROL') && CUSTOMER CHANGE FLAG
|
||||
*- MPATH = ALLTRIM(CONTROL->BTR_PATH)
|
||||
*- MTABLE = MPATH + 'CUSMAS.DAT'
|
||||
*- USE
|
||||
*-
|
||||
*- SET DEFAULT FILETYPE TO '.DAT'
|
||||
*- SET RDD TO 'RQBRDD'
|
||||
*-
|
||||
*- N_XSELECT(0) // SELECT NEXT EMPTY BTRIEVE WORK AREA
|
||||
*- N_XUSE(MTABLE, MSTRUCT)
|
||||
*-
|
||||
*-
|
||||
*- SET DEFAULT FILETYPE TO
|
||||
*- SET RDD TO
|
||||
*-
|
||||
*- RETURN {MTABLE, MSTRUCT}
|
||||
*-
|
||||
* * * * * * * * * * * * * * * * * *
|
||||
FUNCTION SETDASH(MFIELD)
|
||||
// PUT IN DASHES FOR THE PHONE NUMBER IN &MFILD
|
||||
|
||||
LOCAL MVAL
|
||||
|
||||
MVAL = TRIM(N_XFETCH(MFIELD)) // GET PHONE NUMBER
|
||||
MVAL = LEFT(MVAL,3) + '-' + SUBSTR(MVAL,4,3) + '-' + RIGHT(MVAL,4)
|
||||
RETURN MVAL
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user