137 lines
3.8 KiB
Plaintext
137 lines
3.8 KiB
Plaintext
* MIKE LEWIS -BUILD ADD, CHANGE, DELETE ARRAY- CGW0200 4-08-93
|
|
PROCEDURE BUILDACD(MALIAS, SCR_NUM)
|
|
|
|
LOCAL ACDARR := {}
|
|
LOCAL SCRNUM
|
|
LOCAL FILELIST := {}
|
|
LOCAL PREPROC := {}
|
|
LOCAL POSTPROC := ''
|
|
LOCAL OFFSET := 0
|
|
LOCAL EDITPROC := ''
|
|
LOCAL COMPLETEKEY := NIL
|
|
LOCAL CONVERT_KEY := ''
|
|
LOCAL RELATED_DBF := ''
|
|
LOCAL DOPROC
|
|
LOCAL XTRA_HEADING
|
|
LOCAL XTRA_CARGO
|
|
|
|
IF SELECT('IMPCUST') = 0
|
|
IC_PARMS = DBOPEN('IMPCUST')
|
|
ENDIF
|
|
//**** ACDARR LAYOUT ****\\
|
|
// 1 = FILE ALIAS
|
|
// 2 = SCREEN NUMBER
|
|
// 3 = ARRAY OF FILES THAT NEED TO BE OPEN
|
|
// 4 = PROC TO EXECUTE BEFORE THE SAYS AND GETS
|
|
// ie TO PAINT ADDITIONAL INFO ON SCREEN, etc.....
|
|
// 5 = PROC TO EXECUTE AFTER THE GETS
|
|
// ie TO UPDATE ANY NON RELATED VARIABLES ......
|
|
// 6 = HORIZONTAL OFFSET FOR SCREEN GETS
|
|
// 7 = PROC TO EDIT THE GET FIELDS
|
|
// 8 = ARRAY OF PARTIAL KEYS WHICH MAKE RECORD UNIQUE.
|
|
// IF ARRAY IS EMPTY, THEN ONLY ONE COMPONENT OF THE KEY
|
|
// 9 = KEY CONVERSION PROC - IE PAD WITH LEADING ZEROS, ETC.
|
|
// 10 = LIST OF DBF'S THAT SHOULD BE CONSIDERED WHEN DELETING INFO
|
|
// 1 ARRAY FOR EACH DBF. ELEMENT 1 = DBF ALIAS NAME, ELEM 2 = INDEX SEEK ORDER
|
|
// 11 = OPTIONAL TOP HEADING FOR ACD_BROWSE
|
|
// 12 = OPTIONAL ACD CARGO FOR HOT KEYS USED IN ACD_BROWSE
|
|
|
|
DO CASE
|
|
|
|
// DATA DICTIONARY
|
|
CASE MALIAS = 'DATADICT'
|
|
SCRNUM = '0950'
|
|
AADD(ACDARR, {MALIAS, SCRNUM, FILELIST, PREPROC, ; // 1-4
|
|
POSTPROC, OFFSET, EDITPROC, COMPLETEKEY, ; // 5-8
|
|
CONVERT_KEY, RELATED_DBF}) // 9-10
|
|
|
|
|
|
|
|
// CUSTOMER MASTER
|
|
CASE MALIAS = 'CUST_MAST'
|
|
SCRNUM := '1170'
|
|
RELATED_DBF := { {'CUST_PRICE',1} }
|
|
PREPROC := { {'ORD_PAINT(9,14,9,47, "LNOR")','P'} } // paint bill to/ship to
|
|
AADD(ACDARR, {MALIAS, SCRNUM, FILELIST, PREPROC, ; // 1-4
|
|
POSTPROC, OFFSET, EDITPROC, COMPLETEKEY, ; // 5-8
|
|
CONVERT_KEY, RELATED_DBF}) // 9-10
|
|
|
|
|
|
|
|
// PASSWORDS
|
|
CASE MALIAS = 'PASSWORD'
|
|
SCRNUM = '6100'
|
|
PREPROC = { {'XXXPASSP()','P'} } // PAINTS INSTRUCTION BOX ON SCREEN
|
|
POSTPROC = 'XXXPASSS()' // UPDATE PASSWORD AND AUTHORIZATION VARIABLES
|
|
// IF THE CURRENT USER CHANGES HIS OPTIONS
|
|
OFFSET = -5
|
|
|
|
AADD(ACDARR, {MALIAS, SCRNUM, FILELIST, PREPROC, ; // 1-4
|
|
POSTPROC, OFFSET, EDITPROC, COMPLETEKEY, ; // 5-8
|
|
CONVERT_KEY, RELATED_DBF}) // 9-10
|
|
|
|
|
|
|
|
ENDCASE
|
|
|
|
RETURN ACDARR
|
|
|
|
|
|
|
|
CLOSE DATABASES
|
|
RETURN ACDARR
|
|
|
|
*********************************************************************
|
|
*********************************************************************
|
|
*********************************************************************
|
|
|
|
*********************************************************************
|
|
*********************************************************************
|
|
*********************************************************************
|
|
FUNCTION COPYSTD()
|
|
LOCAL SAVESEL := SELECT(), SAVEFILT
|
|
LOCAL COPYFROM := ALLTRIM( ATTRIBUTES )
|
|
|
|
SELECT ATTRIBUTES
|
|
USE
|
|
SELECT USERFILE2
|
|
// APPEND ALL FROM &ATTRIBUTES FOR ATT_TYPE = 'S'
|
|
APPEND ALL FROM ©FROM FOR ATT_TYPE = 'S'
|
|
DBOPEN('ATTRIBUTES')
|
|
SELECT (SAVESEL)
|
|
RETURN .T.
|
|
|
|
**********************************************
|
|
FUNCTION KEY_CONV(ENTERED_KEY, PTYPE) // PUT LEADING SPACES IN ORDER_NUM
|
|
LOCAL MSPACES, RETVAL := .T., REPVAR, REPVARNAME
|
|
LOCAL MLEN
|
|
|
|
|
|
IF EMPTY(ENTERED_KEY)
|
|
RETURN ''
|
|
ENDIF
|
|
|
|
|
|
IF AT('?', ENTERED_KEY) > 0
|
|
DO CASE
|
|
CASE PTYPE = NIL
|
|
RETURN ENTERED_KEY
|
|
CASE PTYPE = 'RM' // R = REPLACE DATABASE / M = SET MEMORY VARIABLE
|
|
RETURN .T.
|
|
ENDCASE
|
|
ENDIF
|
|
|
|
MLEN = LEN(ENTERED_KEY)
|
|
MSPACES = SPACE(MLEN)
|
|
IF EMPTY(ENTERED_KEY) // AND RETURN THE RESULT
|
|
RETURN ''
|
|
ELSE
|
|
ENTERED_KEY = ALLTRIM(ENTERED_KEY)
|
|
RETVAL = RIGHT(MSPACES+ENTERED_KEY, MLEN)
|
|
ENDIF
|
|
|
|
|
|
RETURN RETVAL
|
|
|
|
|
|
|