Files
CGW/CGWB0200.PRG
T
Jason Soltys 7905c43278 first commit
2026-07-14 00:41:31 -05:00

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 &COPYFROM 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