How to SCAN substrings in a dbf - Summer 87
Moderador: Moderadores
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
How to SCAN substrings in a dbf - Summer 87
Ok, I used this trick to find my point of error........
@ 24, 0 SAY cPath + cString + IndexExt()
Inkey(0)
I like that! I copied and pasted in a bunch of places so I could narrow it down and this is where the point of error is:
IF LEN(cString) > 0
Error type is Miscellaneous and the error Description is Type Mismatch. I'm going to research "LEN" now.
@ 24, 0 SAY cPath + cString + IndexExt()
Inkey(0)
I like that! I copied and pasted in a bunch of places so I could narrow it down and this is where the point of error is:
IF LEN(cString) > 0
Error type is Miscellaneous and the error Description is Type Mismatch. I'm going to research "LEN" now.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
How to SCAN substrings in a dbf - Summer 87
Hi!
As you have told us, the same code runs fine in Harbour. So, I can only think there is a bug in Clipper Summer 87...
Lets change the way we test it:
replace the line with this new one:
I forgot to declare cString variable. Add the line below.
It's better to ensure the main table is positioned at it's top. Add another line as indicated below:
Tell us the news, please.
As you have told us, the same code runs fine in Harbour. So, I can only think there is a bug in Clipper Summer 87...
Lets change the way we test it:
replace the line
Código: Selecionar todos
IF Len( cString) > 0Código: Selecionar todos
IF cString <> ""Código: Selecionar todos
PROCEDURE REC_FND
PRIVATE REC2FIND, SAV_REC
PRIVATE cOldArea, cOldScreen
PRIVATE cPath
PRIVATE cString <<<--- Add this line
Código: Selecionar todos
* Save current work area
cOldArea = Select()
GO TOP <<<--- Add this line
* In this version, temporary files are created
* in the local C drive root to avoid duplicate
* file names on a network environment
cPath = "C:\"
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
How to SCAN substrings in a dbf - Summer 87
Thanks! Same error. I notice this though, when I comment out this line: cString = "" I don't get the error. After researching i had tried the cstring <> "", i tried rearranging the paranthesis (never know) and i tried adding the word NIL instead of "". None of that had worked. I guess there is a bug.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
How to SCAN substrings in a dbf - Summer 87
Hi!
Really sinister...
Lets us inspect cString one step before the test:
Really sinister...
Lets us inspect cString one step before the test:
Código: Selecionar todos
@ 24,0 say cString
Inkey(0)
IF cString <> ""
* something was found. Save it...
APPEND BLANK
IF .Not. NetErr()
tmpTable->COMPNY_NAM = cases->COMPNY_NAM
tmpTable->CASE_LNAME = Upper( cString )
ELSE
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
How to SCAN substrings in a dbf - Summer 87
Hi!
Just to give this topic a solution, I installed Oracle Virtual Box + Windows XP + Clipper Summer'87 + PLink86.
Then I created the Test.Prg program, shown below, to test the REC_FND procedure. It's fully functional now.
The main problem was that the temporary table was closed when doing SELECT tmpTable, differently from what is stated in Clipper Summer manual:Just in case someone needs it someday...
Just to give this topic a solution, I installed Oracle Virtual Box + Windows XP + Clipper Summer'87 + PLink86.
Then I created the Test.Prg program, shown below, to test the REC_FND procedure. It's fully functional now.
The main problem was that the temporary table was closed when doing SELECT tmpTable, differently from what is stated in Clipper Summer manual:
CREATE FROM
Syntax: CREATE <file1>/(<expC1>) FROM <file2>/(<expC2>)
.
.
.
<File1> is automatically opened in the current work area
after it is CREATEd.
Código: Selecionar todos
*-------------------------------------------------------------------------------
*
* Test.Prg - Used to wrap REC_FND procedure for testing purposes
*
* Compile - Clipper Test
* Link - PLink86 FI Test, Ndx LIB Extend
*
* Note - Uses dBase III indices (.NDX)
* Requires Ndx.Obj in the Clipper Summer 87 folder
*
* Author - Alexandre Santos - Mar/2013
*-------------------------------------------------------------------------------
PRIVATE ESC_KEY, GET_CLR, cBorder
cBorder = CHR(218) + CHR(196) + CHR(191) + CHR(179) + CHR(217) + CHR(196) + CHR(192) + CHR(179)
ESC_KEY = 27
GET_CLR = "B/W, W+/B*"
SetColor( GET_CLR )
Set Scoreboard off
CLEAR SCREEN
@ 0, 0, 24, 79 BOX cBorder
Setup()
USE TstCases ALIAS CASES
SET INDEX TO Idx1,Idx2,Idx3,Idx4,Idx5,Idx6,Idx7
DO WHILE LastKey() <> ESC_KEY
REC_FND()
@2,2 SAY "---------------------------------------------------------------------------"
@3,2 SAY " Record # : " + LTrim( Str( Recno() ) )
@4,2 SAY " Company Name: " + COMPNY_NAM
@5,2 SAY " First Name : " + CASE_FNAME
@6,2 SAY " Last Name : " + CASE_LNAME
@7,2 SAY "---------------------------------------------------------------------------"
ENDDO
QUIT
*---------------------------------------------------------------------------
PROCEDURE REC_FND
PRIVATE REC2FIND, SAV_REC
PRIVATE cOldArea, cOldScreen
PRIVATE cPath
PRIVATE cBorder
PRIVATE lErrorFlag
* tmpTable Field list to show with DbEdit()
DECLARE aFldLst[1]
aFldLst[1] = "CASE_LNAME"
lErrorFlag = .F.
* Box border characters
cBorder = CHR(218) + CHR(196) + CHR(191) + CHR(179) + CHR(217) + CHR(196) + CHR(192) + CHR(179)
*---------------------------------
* Save current position in database if search fails
*--------------------------------------------------
SAV_REC = recno()
set color to &GET_CLR
READ && ===================> Why is this READ here? Is there any pending GET in the caller procedure?
* Continue if escape wasn't pressed
*----------------------------------
IF LASTKEY() # ESC_KEY
REC2FIND = space(40)
do DISP_MSG with 'Client (include punctuation): '
@row(),col() get REC2FIND
read
* Continue if the escape key was not pressed
*-------------------------------------------
IF LASTKEY() # ESC_KEY
* Remove trailing spaces
*-----------------------
REC2FIND = UPPER(trim(REC2FIND))
*-- AlxSts - Start ---------------------*
* Save current work area
cOldArea = Select()
* In this version, temporary files are created
* in the local C drive root to avoid duplicate
* file names on a network environment
cPath = "C:\"
* If tmpTable exists, delete it and it's index file
cString = "tmpTable"
IF File(cPath + cString + ".dbf")
ERASE (cPath + cString + ".dbf")
ERASE (cPath + cString + IndexExt() )
ENDIF
* Summer'87 offers no support for multidimensional arrays.
* Use a temporary table instead...
* Create a name to a second temporary Table
* used to hold the tmpTable structure definitions
cString = Left( cString, Len( cString ) - 1 ) + "_"
* select an empty work area
SELECT 0
* Create an empty table to store tmpTable structure info in the new work area...
* The Create command leaves the newly created file open...
CREATE (cPath + cString)
* insert struct info...
* field # 1
APPEND BLANK
REPLACE Field_name WITH "COMPNY_NAM"
REPLACE Field_type WITH "C"
REPLACE Field_len WITH 25
REPLACE Field_dec WITH 0
* field # 2
APPEND BLANK
REPLACE Field_name WITH "CASE_LNAME"
REPLACE Field_type WITH "C"
REPLACE Field_len WITH 40
REPLACE Field_dec WITH 0
* close struct table
USE
* Create tmpTable in the current work area using
* structure definition FROM the other table...
* The Create command leaves the newly created file open...
CREATE (cPath + "tmpTable" ) FROM (cPath + cString)
* The manual says:
* "<File1> is automatically opened in the current work area
* after it is CREATEd."
* This information is false. You MUST open it...
USE (cPath + "tmpTable" ) EXCLUSIVE ALIAS tmpTable
* tmpTable is now the currently selected work area... switch to CASES
* and loop the entire main table...
SELECT CASES
GO TOP
DO WHILE ! Eof()
cString = ""
* search LNAME first because if REC2FIND exists in both fields, LNAME takes precedence
IF (REC2FIND $ UPPER(CASE_LNAME))
* Person's last and first names
cString = Trim( CASE_LNAME ) + ", " + Trim(CASE_FNAME)
ELSEIF (REC2FIND $ UPPER(cases->COMPNY_NAM))
* Company name
cString = cases->COMPNY_NAM
ENDIF
IF Len( cString) > 0
* something was found. Save it...
SELECT tmpTable
APPEND BLANK
IF .Not. NetErr()
REPLACE tmpTable->COMPNY_NAM WITH cases->COMPNY_NAM
REPLACE tmpTable->CASE_LNAME WITH Upper( cString )
ELSE
* Error. Display some message and Exit
do DISP_MSG with [Error writing temporary file. Press a key to exit.]
iNKEY(0)
lErrorFlag = .T.
EXIT
* SELECT CASES
* go SAV_REC
* RETURN
ENDIF
SELECT CASES
ENDIF
SKIP
ENDDO
IF .Not. lErrorFlag
* make tmpTable the current selected work area.
SELECT tmpTable
* If anything was found...
IF LastRec() > 0
* Create an index to sort search results
INDEX ON CASE_LNAME TO (cPath + "tmpTable")
GO TOP
* Save the screen area used by popup window
*---------------------
cOldScreen = SAVESCREEN(5, 18, 20, 61)
* Draw a box with single border
*---------------------
@ 5, 18, 20, 61 BOX cBorder
* Browse records in tmp table until user
* cancels browsing (ESC) or a record is selected (ENTER)
*---------------------
DBEDIT( 6, 19, 19, 60, aFldLst, "_REC_FND_", "" , " Use navigation keys to select a name " )
* Restore screen region
*---------------------
RESTSCREEN(5, 18, 20, 61, cOldScreen)
* Restore previous work area
*---------------------
SELECT( cOldArea )
* now, the cases table is the currently selected area
IF LASTKEY() # ESC_KEY
* User selected some record.
* Save company name from tmp table...
* This field is the index key in order # 7 of table CASES
*---------------------
REC2FIND = TRIM(tmpTable->COMPNY_NAM)
* Seek for selected company name
* in the original table...
*---------------------
* Get client index 7, ordered by company name key field
*--------------------
set order to 7
* Search using the key
*---------------------
set exact off
seek REC2FIND
set exact on
* Return to the first index
*--------------------------
* set order 1 as current (probably a company id field...)
set order to 1
* If found, put the highlight bar on the record
*----------------------------------------------
IF !Eof()
do SCRL_TOS
ELSE
* If not found, tell the user
*----------------------------
do DISP_MSG with [Client, ]+trim(REC2FIND)+[, not found. Press a key.]
inkey(0)
lErrorFlag = .T.
ENDIF
ELSE
* user cancelled...
* go SAV_REC
lErrorFlag = .T.
ENDIF
ELSE
* no matches found...
* Select( cOldArea )
do DISP_MSG with [Client, ]+trim(REC2FIND)+[, not found. Press a key.]
inkey(0)
*go SAV_REC
lErrorFlag = .T.
ENDIF
ENDIF
* delete tmpTable...
SELECT tmpTable
USE && use without args closes current work area
cString = "tmpTable"
ERASE (cPath + cString + ".dbf")
ERASE (cPath + cString + IndexExt() )
* delete structure info Table...
cString = Left( cString, Len( cString ) - 1 ) + "_"
ERASE (cPath + cString + ".dbf")
* restore the cases table as currently selected work area
SELECT( cOldArea )
* if errors occurred
IF lErrorFlag
* restore record pointer to previous position
GO SAV_REC
ENDIF
ENDIF
*-- AlxSts - End ---------------------*
ENDIF
RETURN
*----------------------------
* User function for DbEdit()
*----------------------------
FUNCTION _REC_FND_
PARAMETERS status, fld_ptr
PRIVATE request
*
key_stroke = LASTKEY()
*
*Table: Requests to DBEDIT() from User Function
*----------------------------------------------------------
*Value Description
*----------------------------------------------------------
* 0 Quit DBEDIT()
* 1 Continue DBEDIT()
* 2 Force reread/repaint and continue;
* after repaint, process keys, and go to idle
* 3 Append mode (not recommended)
*----------------------------------------------------------
DO CASE
CASE status = 0
* Idle. Continue
request = 1
CASE status = 1
* Beginning-of-file.
request = 1
CASE status = 2
* End-of-file.
request = 1
CASE status = 3
* Empty database file.
request = 0
CASE status = 4
* Key exception.
IF key_stroke = 27
* Exit
request = 0
ELSEIF key_stroke = 13
* Record selected...
* exit with temp table file pointer over selected record
request = 0
ELSE
* other key. Who cares?
request = 1
ENDIF
OTHERWISE
request = 1
ENDCASE
*
RETURN request
*
* Eof --------------------------------------------------------------------------
*----------------------------------
PROCEDURE Setup
PRIVATE aStruct
PRIVATE cPath
PRIVATE cString
cPath = "C:\"
cString = "Struct"
if ! File("TstCases" + ".dbf")
* select an empty work area
SELECT 0
* Create an empty table to store tmpTable structure info in the new work area...
CREATE (cPath + cString)
* insert struct info...
* field # 1
APPEND BLANK
REPLACE Field_name WITH "COMPNY_NAM"
REPLACE Field_type WITH "C"
REPLACE Field_len WITH 25
REPLACE Field_dec WITH 0
* field # 2
APPEND BLANK
REPLACE Field_name WITH "CASE_LNAME"
REPLACE Field_type WITH "C"
REPLACE Field_len WITH 15
REPLACE Field_dec WITH 0
* field # 2
APPEND BLANK
REPLACE Field_name WITH "CASE_FNAME"
REPLACE Field_type WITH "C"
REPLACE Field_len WITH 25
REPLACE Field_dec WITH 0
* close struct table
USE
SELECT 0
Create TstCases From (cPath + cString)
ERASE (cPath + cString + ".dbf")
USE TstCases EXCLUSIVE
APPEND BLANK
REPLACE CASE_LNAME WITH "CAMICADO", CASE_FNAME WITH "RODRIGO", COMPNY_NAM WITH "COMPANY 1"
APPEND BLANK
REPLACE CASE_LNAME WITH "XIMENES CABRAL", CASE_FNAME WITH "FABRICIO", COMPNY_NAM WITH "COMPANY 2"
APPEND BLANK
REPLACE CASE_LNAME WITH "RECUPERO", CASE_FNAME WITH "PATRICIA", COMPNY_NAM WITH "COMPANY 3"
APPEND BLANK
REPLACE CASE_LNAME WITH "CHAGAS", CASE_FNAME WITH "SERGIO ", COMPNY_NAM WITH "COMPANY 4"
APPEND BLANK
REPLACE CASE_LNAME WITH "DUARTE DA SILVA", CASE_FNAME WITH "DENIZE JUDITH", COMPNY_NAM WITH "COMPANY 5"
APPEND BLANK
REPLACE CASE_LNAME WITH "FERREIRA DUARTE", CASE_FNAME WITH "ANA PAULA ", COMPNY_NAM WITH "COMPANY 6"
APPEND BLANK
REPLACE CASE_LNAME WITH "RIEF", CASE_FNAME WITH "RAFAEL", COMPNY_NAM WITH "COMPANY 7"
APPEND BLANK
REPLACE CASE_LNAME WITH "BATISTA ROCHA", CASE_FNAME WITH "RAFAEL", COMPNY_NAM WITH "COMPANY 8"
APPEND BLANK
REPLACE CASE_LNAME WITH "OLIVEIRA", CASE_FNAME WITH "MARCELO", COMPNY_NAM WITH "COMPANY 9"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARIANO DA SILVA VIANA", CASE_FNAME WITH "MARIA", COMPNY_NAM WITH "COMPANY 10"
APPEND BLANK
REPLACE CASE_LNAME WITH "BUSATTA", CASE_FNAME WITH "NILVA", COMPNY_NAM WITH "COMPANY 11"
APPEND BLANK
REPLACE CASE_LNAME WITH "MUNIZ JR", CASE_FNAME WITH "ALFREDO", COMPNY_NAM WITH "COMPANY 12"
APPEND BLANK
REPLACE CASE_LNAME WITH "AMALFI", CASE_FNAME WITH "VANICE", COMPNY_NAM WITH "COMPANY 13"
APPEND BLANK
REPLACE CASE_LNAME WITH "SOUZA", CASE_FNAME WITH "GUSTAVO", COMPNY_NAM WITH "COMPANY 14"
APPEND BLANK
REPLACE CASE_LNAME WITH "SGARIONI", CASE_FNAME WITH "LUIZ CARLOS", COMPNY_NAM WITH "COMPANY 15"
APPEND BLANK
REPLACE CASE_LNAME WITH "SALLAI", CASE_FNAME WITH "PEDRO", COMPNY_NAM WITH "COMPANY 16"
APPEND BLANK
REPLACE CASE_LNAME WITH "ZURLO", CASE_FNAME WITH "CONSUELO", COMPNY_NAM WITH "COMPANY 17"
APPEND BLANK
REPLACE CASE_LNAME WITH "PEDERIVA NETO", CASE_FNAME WITH "JOAO", COMPNY_NAM WITH "COMPANY 18"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARRA", CASE_FNAME WITH "OSMAR ", COMPNY_NAM WITH "COMPANY 19"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARTTINS", CASE_FNAME WITH "SANDRA ", COMPNY_NAM WITH "COMPANY 20"
APPEND BLANK
REPLACE CASE_LNAME WITH "DEISE FERREIRA", CASE_FNAME WITH "DEISE", COMPNY_NAM WITH "COMPANY 21"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARSOLA", CASE_FNAME WITH "LUCAS", COMPNY_NAM WITH "COMPANY 22"
APPEND BLANK
REPLACE CASE_LNAME WITH "BIANCHIN BETTI", CASE_FNAME WITH "DANIELA", COMPNY_NAM WITH "COMPANY 23"
APPEND BLANK
REPLACE CASE_LNAME WITH "MACIEL", CASE_FNAME WITH "LÊDO ", COMPNY_NAM WITH "COMPANY 24"
APPEND BLANK
REPLACE CASE_LNAME WITH "C DE OLIVEIRA", CASE_FNAME WITH "DARCY", COMPNY_NAM WITH "COMPANY 25"
APPEND BLANK
REPLACE CASE_LNAME WITH "OLIVEIRA", CASE_FNAME WITH "MAURICIO", COMPNY_NAM WITH "COMPANY 26"
APPEND BLANK
REPLACE CASE_LNAME WITH "TANAMATI", CASE_FNAME WITH "GERALDO", COMPNY_NAM WITH "COMPANY 27"
APPEND BLANK
REPLACE CASE_LNAME WITH "DE MACEDO COELHO", CASE_FNAME WITH "FELIPE", COMPNY_NAM WITH "COMPANY 28"
APPEND BLANK
REPLACE CASE_LNAME WITH "ZANELLATO", CASE_FNAME WITH "ELIANE", COMPNY_NAM WITH "COMPANY 29"
APPEND BLANK
REPLACE CASE_LNAME WITH "FERREIRA", CASE_FNAME WITH "PAULO", COMPNY_NAM WITH "COMPANY 30"
APPEND BLANK
REPLACE CASE_LNAME WITH "ANDRADES", CASE_FNAME WITH "GIOVANI", COMPNY_NAM WITH "COMPANY 31"
APPEND BLANK
REPLACE CASE_LNAME WITH "FARIAS", CASE_FNAME WITH "FERNANDA", COMPNY_NAM WITH "COMPANY 32"
APPEND BLANK
REPLACE CASE_LNAME WITH "PONTIM", CASE_FNAME WITH "THAIS", COMPNY_NAM WITH "COMPANY 33"
APPEND BLANK
REPLACE CASE_LNAME WITH "RODRIGUES DE CAMPOS STORTI", CASE_FNAME WITH "ELIANE", COMPNY_NAM WITH "COMPANY 34"
APPEND BLANK
REPLACE CASE_LNAME WITH "ALVES", CASE_FNAME WITH "GISLAINE APARECIDA", COMPNY_NAM WITH "COMPANY 35"
APPEND BLANK
REPLACE CASE_LNAME WITH "ABREU LELES", CASE_FNAME WITH "SILVIA CRISTINA ", COMPNY_NAM WITH "COMPANY 36"
APPEND BLANK
REPLACE CASE_LNAME WITH "REIS", CASE_FNAME WITH "SILVIA", COMPNY_NAM WITH "COMPANY 37"
APPEND BLANK
REPLACE CASE_LNAME WITH "MAZZA", CASE_FNAME WITH "RAFAEL", COMPNY_NAM WITH "COMPANY 38"
APPEND BLANK
REPLACE CASE_LNAME WITH "DONINI", CASE_FNAME WITH "DANIEL", COMPNY_NAM WITH "COMPANY 39"
APPEND BLANK
REPLACE CASE_LNAME WITH "FRANCO", CASE_FNAME WITH "DENISE", COMPNY_NAM WITH "COMPANY 40"
APPEND BLANK
REPLACE CASE_LNAME WITH "VALEJO", CASE_FNAME WITH "JEISON ", COMPNY_NAM WITH "COMPANY 41"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARCELA REBELLO", CASE_FNAME WITH "CARLA", COMPNY_NAM WITH "COMPANY 42"
APPEND BLANK
REPLACE CASE_LNAME WITH "DE AMORIM", CASE_FNAME WITH "JOSIAS", COMPNY_NAM WITH "COMPANY 43"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARQUES DOS SANTOS", CASE_FNAME WITH "MARIA LUIZA ", COMPNY_NAM WITH "COMPANY 44"
APPEND BLANK
REPLACE CASE_LNAME WITH "SALAM VON SALTIEL", CASE_FNAME WITH "TANIA MARIS REUS ", COMPNY_NAM WITH "COMPANY 45"
APPEND BLANK
REPLACE CASE_LNAME WITH "DAMAS", CASE_FNAME WITH "FABRICIO", COMPNY_NAM WITH "COMPANY 46"
APPEND BLANK
REPLACE CASE_LNAME WITH "GAUDENCIO", CASE_FNAME WITH "JOSE LUIZ", COMPNY_NAM WITH "COMPANY 47"
APPEND BLANK
REPLACE CASE_LNAME WITH "DA SILVA ANDRADE", CASE_FNAME WITH "TANIA LUCIA", COMPNY_NAM WITH "COMPANY 48"
APPEND BLANK
REPLACE CASE_LNAME WITH "MONTEIRO DE MELO", CASE_FNAME WITH "NORBERTO", COMPNY_NAM WITH "COMPANY 49"
APPEND BLANK
REPLACE CASE_LNAME WITH "LOPES CARVALHO", CASE_FNAME WITH "RICHARD", COMPNY_NAM WITH "COMPANY 50"
APPEND BLANK
REPLACE CASE_LNAME WITH "TISI RIBEIRO", CASE_FNAME WITH "JOAO DANIEL", COMPNY_NAM WITH "COMPANY 51"
APPEND BLANK
REPLACE CASE_LNAME WITH "PIRES BADKE", CASE_FNAME WITH "JULIANA", COMPNY_NAM WITH "COMPANY 52"
APPEND BLANK
REPLACE CASE_LNAME WITH "DAVINO", CASE_FNAME WITH "CATIA", COMPNY_NAM WITH "COMPANY 53"
APPEND BLANK
REPLACE CASE_LNAME WITH "GONCALVES BARRERA", CASE_FNAME WITH "PEDRO", COMPNY_NAM WITH "COMPANY 54"
APPEND BLANK
REPLACE CASE_LNAME WITH "KECHICHIAN", CASE_FNAME WITH "MARGARETE", COMPNY_NAM WITH "COMPANY 55"
APPEND BLANK
REPLACE CASE_LNAME WITH "QUINTO", CASE_FNAME WITH "ANA LUIZA ", COMPNY_NAM WITH "COMPANY 56"
APPEND BLANK
REPLACE CASE_LNAME WITH "MEDINA", CASE_FNAME WITH "VALESSA", COMPNY_NAM WITH "COMPANY 57"
APPEND BLANK
REPLACE CASE_LNAME WITH "FREITAS", CASE_FNAME WITH "MARIANA ROQUE DE", COMPNY_NAM WITH "COMPANY 58"
APPEND BLANK
REPLACE CASE_LNAME WITH "LUCIA NETO DE SOUZA", CASE_FNAME WITH "GLORIA", COMPNY_NAM WITH "COMPANY 59"
APPEND BLANK
REPLACE CASE_LNAME WITH "SCANAVINI", CASE_FNAME WITH "SIMONE", COMPNY_NAM WITH "COMPANY 60"
APPEND BLANK
REPLACE CASE_LNAME WITH "LOPES SILVEIRA", CASE_FNAME WITH "FLAVIA", COMPNY_NAM WITH "COMPANY 61"
APPEND BLANK
REPLACE CASE_LNAME WITH "CAZATI", CASE_FNAME WITH "CARLOS", COMPNY_NAM WITH "COMPANY 62"
APPEND BLANK
REPLACE CASE_LNAME WITH "KANASHIRO", CASE_FNAME WITH "SERGIO", COMPNY_NAM WITH "COMPANY 63"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARTINS", CASE_FNAME WITH "FLAVIA", COMPNY_NAM WITH "COMPANY 64"
APPEND BLANK
REPLACE CASE_LNAME WITH "MELO BARBOZA JUNIOR", CASE_FNAME WITH "LUIZ CARLOS", COMPNY_NAM WITH "COMPANY 65"
APPEND BLANK
REPLACE CASE_LNAME WITH "FERREIRA NAGAO", CASE_FNAME WITH "JANAINA", COMPNY_NAM WITH "COMPANY 66"
APPEND BLANK
REPLACE CASE_LNAME WITH "CHRISTINO DE ALMEIDA", CASE_FNAME WITH "ALICE AOARECIDA", COMPNY_NAM WITH "COMPANY 67"
APPEND BLANK
REPLACE CASE_LNAME WITH "SUSI", CASE_FNAME WITH "ANA", COMPNY_NAM WITH "COMPANY 68"
APPEND BLANK
REPLACE CASE_LNAME WITH "KAWAKITA", CASE_FNAME WITH "CASSIO ", COMPNY_NAM WITH "COMPANY 69"
APPEND BLANK
REPLACE CASE_LNAME WITH "PIRES DA SILVA", CASE_FNAME WITH "GILBERTO", COMPNY_NAM WITH "COMPANY 70"
APPEND BLANK
REPLACE CASE_LNAME WITH "GIORGETTO", CASE_FNAME WITH "GABRIELLA", COMPNY_NAM WITH "COMPANY 71"
APPEND BLANK
REPLACE CASE_LNAME WITH "MARQUES ALVES", CASE_FNAME WITH "JAQUELINE ", COMPNY_NAM WITH "COMPANY 72"
APPEND BLANK
REPLACE CASE_LNAME WITH "ESPINDOLA", CASE_FNAME WITH "ERIKA", COMPNY_NAM WITH "COMPANY 73"
APPEND BLANK
REPLACE CASE_LNAME WITH "KRUZICH", CASE_FNAME WITH "FABIO", COMPNY_NAM WITH "COMPANY 74"
APPEND BLANK
REPLACE CASE_LNAME WITH "JAKEL", CASE_FNAME WITH "DAYANE", COMPNY_NAM WITH "COMPANY 75"
APPEND BLANK
REPLACE CASE_LNAME WITH "GOBBATO", CASE_FNAME WITH "BRUNO", COMPNY_NAM WITH "COMPANY 76"
APPEND BLANK
REPLACE CASE_LNAME WITH "GONCALVES FERREIRA", CASE_FNAME WITH "MARCIA", COMPNY_NAM WITH "COMPANY 77"
APPEND BLANK
REPLACE CASE_LNAME WITH "CAMPELO", CASE_FNAME WITH "LUCIANA ", COMPNY_NAM WITH "COMPANY 78"
APPEND BLANK
REPLACE CASE_LNAME WITH "DA SILVA", CASE_FNAME WITH "JOAO VICTOR", COMPNY_NAM WITH "COMPANY 79"
APPEND BLANK
REPLACE CASE_LNAME WITH "SOUZA", CASE_FNAME WITH "CELESTE ", COMPNY_NAM WITH "COMPANY 80"
APPEND BLANK
REPLACE CASE_LNAME WITH "PORTELLA", CASE_FNAME WITH "SILVIO", COMPNY_NAM WITH "COMPANY 81"
APPEND BLANK
REPLACE CASE_LNAME WITH "MATOS", CASE_FNAME WITH "NECIVALDO", COMPNY_NAM WITH "COMPANY 82"
APPEND BLANK
REPLACE CASE_LNAME WITH "COBUCI SOARES", CASE_FNAME WITH "MONICA", COMPNY_NAM WITH "COMPANY 83"
APPEND BLANK
REPLACE CASE_LNAME WITH "TEIXEIRA", CASE_FNAME WITH "ANDRE", COMPNY_NAM WITH "COMPANY 84"
APPEND BLANK
REPLACE CASE_LNAME WITH "VICTORAZZO", CASE_FNAME WITH "DANILO", COMPNY_NAM WITH "COMPANY 85"
APPEND BLANK
REPLACE CASE_LNAME WITH "POLITO", CASE_FNAME WITH "ISABELA", COMPNY_NAM WITH "COMPANY 86"
APPEND BLANK
REPLACE CASE_LNAME WITH "BERNARDINO", CASE_FNAME WITH "LUIZ", COMPNY_NAM WITH "COMPANY 87"
APPEND BLANK
REPLACE CASE_LNAME WITH "LIMA", CASE_FNAME WITH "LUCAS", COMPNY_NAM WITH "COMPANY 88"
APPEND BLANK
REPLACE CASE_LNAME WITH "PEREIRA LIMA", CASE_FNAME WITH "ASSAHI", COMPNY_NAM WITH "COMPANY 89"
APPEND BLANK
REPLACE CASE_LNAME WITH "CRUZ SOBRINHO", CASE_FNAME WITH "FRANCISCA MICHELE", COMPNY_NAM WITH "COMPANY 90"
APPEND BLANK
REPLACE CASE_LNAME WITH "MADEIRA", CASE_FNAME WITH "URSULA", COMPNY_NAM WITH "COMPANY 91"
APPEND BLANK
REPLACE CASE_LNAME WITH "DAVANZO DURAND", CASE_FNAME WITH "MARCELLA ", COMPNY_NAM WITH "COMPANY 92"
APPEND BLANK
REPLACE CASE_LNAME WITH "COLOMBO LOPES DOS SANTOS", CASE_FNAME WITH "DEISE ", COMPNY_NAM WITH "COMPANY 93"
APPEND BLANK
REPLACE CASE_LNAME WITH "KAZUNARI HOTTA", CASE_FNAME WITH "ROBINSON", COMPNY_NAM WITH "COMPANY 94"
APPEND BLANK
REPLACE CASE_LNAME WITH "DIAS DOS SANTOS", CASE_FNAME WITH "SHEILA", COMPNY_NAM WITH "COMPANY 95"
APPEND BLANK
REPLACE CASE_LNAME WITH "DA PAZ SILVA", CASE_FNAME WITH "MARIA ", COMPNY_NAM WITH "COMPANY 96"
APPEND BLANK
REPLACE CASE_LNAME WITH "F S CRUZ", CASE_FNAME WITH "WILLIAM", COMPNY_NAM WITH "COMPANY 97"
APPEND BLANK
REPLACE CASE_LNAME WITH "MONSEF FILHO", CASE_FNAME WITH "ORLANDO", COMPNY_NAM WITH "COMPANY 98"
APPEND BLANK
REPLACE CASE_LNAME WITH "NISHIMURA", CASE_FNAME WITH "DEISE", COMPNY_NAM WITH "COMPANY 99"
APPEND BLANK
REPLACE CASE_LNAME WITH "LARANJO PACHECO", CASE_FNAME WITH "CELSO", COMPNY_NAM WITH "COMPANY 100"
* REC2FIND uses oorder 7 of cases table
* create 7 index files with the same key, just for testing...
Index on COMPNY_NAM to Idx1
Index on COMPNY_NAM to Idx2
Index on COMPNY_NAM to Idx3
Index on COMPNY_NAM to Idx4
Index on COMPNY_NAM to Idx5
Index on COMPNY_NAM to Idx6
Index on COMPNY_NAM to Idx7
USE
ENDIF
RETURN
*----------------------------------
PROCEDURE DISP_MSG
PARAMETER cArg
@24,1 say cArg
RETURN
*----------------------------------
PROCEDURE SCRL_TOS
RETURN
*----------------------------------
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)