Prezados, segue em anexo o programa que faz a chamada, o programa que cria os Ãndices e o arquivo LNK.
Se eu eliminar alguma parte do programa funciona. Por exemplo, eliminar a procedure organiza5() funciona.
As variáveis de ambiente estão : F:150 // DYNF:8 // SWAPK:65535 // SWAPPATH:c:\ // TEMPPATH:c:\
Desde já agradeço pela ajuda.
----------------------------------------
#include "FiveWin.ch"
function main()
local oMenu
public pDIR := "\RCA\"
private oWnd
request DBFCDX
rddSetDefault("DBFCDX")
SetHandleCount(150)
set date brit
set deleted on
set 3dlook on
MENU oMenu
MENUITEM "&Teste" ;
ACTION rca900()
ENDMENU
define window oWnd MENU oMENU
SET MESSAGE OF oWnd TO "Copyright 2005" ;
CENTERED KEYBOARD DATE TIME
activate window oWnd MAXIMIZED
------------------------------------------------
/*********
*
* Programa.....: RCA900.PRG
* Autor........: Rondinelli Pinheiro Marra.
* Data.........: 12/07/05.
* Ult. Alt.....: 12/07/05.
* Alterado por.:
* Objetivo.....: Atualizacao de indice.
*
*/
// >>>>> ATENCAO <<<<<.
// Qualquer indice acrescentado nos arquivos de Pedidos e Caixa
// deve ser acrescentado tambem no programa RCA216B.PRG
#include "FiveWin.ch"
procedure RCA900()
msg("ATEN€ÇO:;;Em caso de Rede, NÇO prossiga enquanto os " + ;
"outros terminais estiverem utilizando o Sistema!")
if sn("Prossegue com a atualiza‡Æo de arquivo")
cursorwait()
organiza1()
msg("Organiza 1")
organiza2()
msg("Organiza 2")
organiza3()
msg("Organiza 3")
organiza4()
msg("Organiza 4")
organiza5()
msg("Organiza 5")
organiza6()
msg("Organiza 6")
organiza7()
msg("Organiza 7")
tone(300,1)
tone(100,1)
msg("Arquivos atualizados com sucesso.")
endif
return
****************************
static procedure organiza1()
****************************
ferase(pDIR + "NRCAIXA.CDX")
if !net_use("NRCAIXA",,"E")
return
endif
pack
index on NRCAIXA + dtos(DATA) tag (pDIR + "NRCAIXAX") to (pDIR + "NRCAIXA")
close databases
// Todo indice do Caixa deve ser executado no Cxadia tambem.
ferase(pDIR + "CAIXA.CDX")
if !net_use("CAIXA",,"E")
return
endif
index on DATA tag (pDIR + "INDCDAT") to (pDIR + "CAIXA")
index on NRORDEM tag (pDIR + "INDCORD") to (pDIR + "CAIXA")
index on val(NRORDEM) tag (pDIR + "CAINRVAL") to (pDIR + "CAIXA")
close databases
ferase(pDIR + "CXADIA.CDX")
if !net_use("CXADIA",,"E")
return
endif
index on DATA tag (pDIR + "DNDCDAT") to (pDIR + "CXADIA")
index on NRORDEM tag (pDIR + "DNDCORD") to (pDIR + "CXADIA")
index on val(NRORDEM) tag (pDIR + "DAINRVAL") to (pDIR + "CXADIA")
close databases
ferase(pDIR + "PED_CANC.CDX")
if !net_use("PED_CANC",,"E")
return
endif
index on NRORDEM tag (pDIR + "PEC_NR") to (pDIR + "PED_CANC")
index on DATA_CANC tag (pDIR + "PEC_DATA") to (pDIR + "PED_CANC")
close databases
ferase(pDIR + "NR_ORCA.CDX")
if !net_use("NR_ORCA",,"E")
return
endif
pack
index on NUMERO tag (pDIR + "NRORCAME") to (pDIR + "NR_ORCA")
index on val(NRPREVENDA) tag (pDIR + "NRPREVEX") to (pDIR + "NR_ORCA")
close databases
ferase(pDIR + "NR_PREV.CDX")
if !net_use("NR_PREV",,"E")
return
endif
pack
index on NUMERO tag (pDIR + "PRENRORC") to (pDIR + "NR_PREV")
index on val(NRPREVENDA) tag (pDIR + "PRENRPRE") to (pDIR + "NR_PREV")
close databases
ferase(pDIR + "ENTRAPRO.CDX")
if !net_use("ENTRAPRO",,"E")
return
endif
index on dtoc(DTENTRA)+NRNOTA tag (pDIR + "ENTRA") to (pDIR + "ENTRAPRO")
index on CODPRO tag (pDIR + "ENTPRO") to (pDIR + "ENTRAPRO")
index on DESCPRO tag (pDIR + "ENTRADES") to (pDIR + "ENTRAPRO")
index on CODPRO+dtos(DTENTRA) tag (pDIR + "ENTRAX") to (pDIR + "ENTRAPRO")
close databases
ferase(pDIR + "PAGAR.CDX")
if !net_use("PAGAR",,"E")
return
endif
index on PAFORNECE tag (pDIR + "FORNECEPA") to (pDIR + "PAGAR")
index on PATITULO tag (pDIR + "TITULOPA") to (pDIR + "PAGAR")
index on PAVENCI tag (pDIR + "VENCIPA") to (pDIR + "PAGAR")
index on PADTENT tag (pDIR + "DTENTPA") to (pDIR + "PAGAR")
close databases
ferase(pDIR + "PAGO.CDX")
if !net_use("PAGO",,"E")
return
endif
index on POTITULO tag (pDIR + "PAGOTIT") to (pDIR + "PAGO")
index on POFORNECE tag (pDIR + "PAGOFOR") to (pDIR + "PAGO")
index on dtos(PODTPAG) tag (pDIR + "PAGODT") to (pDIR + "PAGO")
index on dtos(POEMISSAO) tag (pDIR + "PAGOEMI") to (pDIR + "PAGO")
close databases
ferase(pDIR + "CHEQFARM.CDX")
if !net_use("CHEQFARM",,"E")
return
endif
pack
index on NUMERO tag (pDIR + "CHFARNR") to (pDIR + "CHEQFARM")
index on NOME + dtos(DTVENCI) tag (pDIR + "CHFARNOM") to (pDIR + "CHEQFARM")
index on DTVENCI tag (pDIR + "CHFARVEN") to (pDIR + "CHEQFARM")
index on DTPAG tag (pDIR + "CHFARPAG") to (pDIR + "CHEQFARM")
index on NOME + dtos(DTPAG) tag (pDIR + "CHFARPGN") to (pDIR + "CHEQFARM")
close databases
ferase(pDIR + "PATIVO.CDX")
if !net_use("PATIVO",,"E")
return
endif
index on CODIGO tag (pDIR + "PATIVOCD") to (pDIR + "PATIVO")
index on DESCRICAO tag (pDIR + "PATIVONM") to (pDIR + "PATIVO")
close databases
ferase(pDIR + "DOMICIL.CDX")
if !net_use("DOMICIL",,"E")
return
endif
index on NUMERO tag (pDIR + "DOMICILX") to (pDIR + "DOMICIL")
close databases
ferase(pDIR + "DTQUICON.CDX")
if !net_use("DTQUICON",,"E")
return
endif
index on NOMECONV tag (pDIR + "DTQUICOX") to (pDIR + "DTQUICON")
close databases
ferase(pDIR + "ENCERRA.CDX")
if !net_use("ENCERRA",,"E")
return
endif
index on DATA tag (pDIR + "XENCERRA") to (pDIR + "ENCERRA")
close databases
ferase(pDIR + "NOMPED.CDX")
if !net_use("NOMPED",,"E")
return
endif
index on NOMPED tag (pDIR + "NOMPEDX") to (pDIR + "NOMPED")
close databases
ferase(pDIR + "FALTAS.CDX")
if !net_use("FALTAS",,"E")
return
endif
pack
index on CODIGO tag (pDIR + "FALTAS") to (pDIR + "FALTAS")
index on DESCRICAO tag (pDIR + "FALTAS2") to (pDIR + "FALTAS")
close databases
ferase(pDIR + "NFISCAL.CDX")
if !net_use("NFISCAL",,"E")
return
endif
index on NRNOTAF tag (pDIR + "NRNOTA") to (pDIR + "NFISCAL")
close databases
if !net_use("SUGCOMPRA",,"E")
return
endif
pack
close databases
return
****************************
static procedure organiza2()
****************************
ferase(pDIR + "RECEBIDO.CDX")
if !net_use("RECEBIDO",,"E")
return
endif
index on CLIENTE tag (pDIR + "TITURECX") to (pDIR + "RECEBIDO")
index on NRORDEM tag (pDIR + "TITURETX") to (pDIR + "RECEBIDO")
index on alltrim(NRORDEM)+PRODUTO tag (pDIR + "RECEB03") to (pDIR + "RECEBIDO")
index on CLIENTE+dtos(DTPAGTO) tag (pDIR + "RECEB01") to (pDIR + "RECEBIDO")
index on dtos(DTPAGTO)+CLIENTE tag (pDIR + "RECEB02") to (pDIR + "RECEBIDO")
use
if !net_use("RECEBER")
return
endif
//barra("Aguarde, efetuando baixa automatica de recebimentos ...")
go top
do while !eof()
if PG = "PG" .and. PRODUTO # "RESCON"
if rlock()
delete
unlock
endif
endif
skip
enddo
close databases
ferase(pDIR + "RECEBER.CDX")
if !net_use("RECEBER",,"E")
return
endif
index on NRORDEM tag (pDIR + "TITULOTX") to (pDIR + "RECEBER")
index on CLIENTE tag (pDIR + "TITULOCX") to (pDIR + "RECEBER")
index on PRODUTO tag (pDIR + "RECEBPRO") to (pDIR + "RECEBER")
index on alltrim(NRORDEM)+PRODUTO tag (pDIR + "RECEBER1") to (pDIR + "RECEBER")
index on CLIENTE+dtos(DTCOMPRA) tag (pDIR + "RECEBER2") to (pDIR + "RECEBER")
index on dtos(DTCOMPRA) tag (pDIR + "RECEBER3") to (pDIR + "RECEBER")
use
return
****************************
static procedure organiza3()
****************************
ferase(pDIR + "CLIENTES.CDX")
if !net_use("CLIENTES",,"E")
return
endif
index on CCODIGO tag (pDIR + "CLICODIG") to (pDIR + "CLIENTES")
index on CNOME tag (pDIR + "CLINOME") to (pDIR + "CLIENTES")
index on CCODIGO+CNOME tag (pDIR + "CLICONO") to (pDIR + "CLIENTES")
index on CBLOQUEIO tag (pDIR + "CLIBOQ") to (pDIR + "CLIENTES")
index on strtran(strtran(strtran(CCGC,"."),"-"),"/") ;
tag (pDIR + "CLICPF") to (pDIR + "CLIENTES")
index on CTELEFONE tag (pDIR + "CLITELE") to (pDIR + "CLIENTES")
index on CTEL_ENTR1 tag (pDIR + "CLITELE1") to (pDIR + "CLIENTES")
index on CTEL_ENTR2 tag (pDIR + "CLITELE2") to (pDIR + "CLIENTES")
use
return
****************************
static procedure organiza4()
****************************
ferase(pDIR + "HISTPROD.CDX")
if !net_use("HISTPROD",,"E")
return
endif
pack
index on PRODUTO tag (pDIR + "HISTPRODX") to (pDIR + "HISTPROD")
use
ferase(pDIR + "BALCON.CDX")
if !net_use("BALCON",,"E")
return
endif
index on BCODIGO tag (pDIR + "BALCODIG") to (pDIR + "BALCON")
index on BNOME tag (pDIR + "BALNOME") to (pDIR + "BALCON")
index on BCODIGO+BNOME tag (pDIR + "BALCONO") to (pDIR + "BALCON")
index on val(BCODIGO) tag (pDIR + "VALBAL") to (pDIR + "BALCON")
use
ferase(pDIR + "CONVENIO.CDX")
if !net_use("CONVENIO",,"E")
return
endif
index on CODIGO tag (pDIR + "CONCODIG") to (pDIR + "CONVENIO")
index on NOME tag (pDIR + "CONNOME") to (pDIR + "CONVENIO")
use
ferase(pDIR + "FORNECE.CDX")
if !net_use("FORNECE",,"E")
return
endif
index on FCODIGO tag (pDIR + "FORCODIG") to (pDIR + "FORNECE")
index on FNOME tag (pDIR + "FORNOME") to (pDIR + "FORNECE")
use
ferase(pDIR + "TIPOPRO.CDX")
if !net_use("TIPOPRO",,"E")
return
endif
index on TPCODIGO tag (pDIR + "TPCODIG") to (pDIR + "TIPOPRO")
index on TPDESC tag (pDIR + "TPNOME") to (pDIR + "TIPOPRO")
use
ferase(pDIR + "GRUPO.CDX")
if !net_use("GRUPO",,"E")
return
endif
index on GRUPO tag (pDIR + "GRUPOX") to (pDIR + "GRUPO")
index on DESCRICAO tag (pDIR + "GRUPOY") to (pDIR + "GRUPO")
use
ferase(pDIR + "SUBGRUPO.CDX")
if !net_use("SUBGRUPO",,"E")
return
endif
index on CODIGO tag (pDIR + "SUBGRUPX") to (pDIR + "SUBGRUPO")
index on DESCRICAO tag (pDIR + "SUBGRUPY") to (pDIR + "SUBGRUPO")
use
ferase(pDIR + "CRTCRE.CDX")
if !net_use("CRTCRE",,"E")
return
endif
index on CODIGO tag (pDIR + "CRTCRECD") to (pDIR + "CRTCRE")
index on NOME tag (pDIR + "CRTCRENM") to (pDIR + "CRTCRE")
use
return
****************************
static procedure organiza5()
****************************
local cBAIXAR
if !net_use("PARAME")
return
endif
cBAIXAR := CHEQUE_B
close databases
ferase(pDIR + "CHEQUES.CDX")
if !net_use("CHEQUES",,"E")
return
endif
index on NUMERO tag (pDIR + "NUMEROCH") to (pDIR + "CHEQUES")
index on NOME tag (pDIR + "NOMECH") to (pDIR + "CHEQUES")
index on DTVENCI tag (pDIR + "VENCICH") to (pDIR + "CHEQUES")
index on TITULO tag (pDIR + "TITULOCH") to (pDIR + "CHEQUES")
index on CLIENTE tag (pDIR + "CLIENTCH") to (pDIR + "CHEQUES")
index on CPF + NUMERO tag (pDIR + "CHQCPF") to (pDIR + "CHEQUES")
use
ferase(pDIR + "CHPAGO.CDX")
if !net_use("CHPAGO",,"E")
return
endif
index on NUMERO tag (pDIR + "NUMECHPG") to (pDIR + "CHPAGO")
index on NOME tag (pDIR + "NOMECHPG") to (pDIR + "CHPAGO")
index on DTPAG tag (pDIR + "PAGOCHPG") to (pDIR + "CHPAGO")
index on TITULO tag (pDIR + "TITUCHPG") to (pDIR + "CHPAGO")
use
if cBAIXAR = "S"
if !net_use("CHEQUES","CHEQUES")
return
endif
if !net_use("CHPAGO","CHPAGO")
return
endif
// barra("Aguarde, efetuando baixa automatica de cheques ...")
select CHEQUES
go top
do while !eof()
select CHEQUES
if DTVENCI <= DATE()
select CHPAGO
addrec(0)
replace NUMERO with CHEQUES->NUMERO ,;
NOME with CHEQUES->NOME ,;
DTENTRADA with CHEQUES->DTENTRADA ,;
DTVENCI with CHEQUES->DTVENCI ,;
DTPAG with date() ,;
VALORPAG with CHEQUES->VALOR ,;
BANCO with CHEQUES->BANCO ,;
AGENCIA with CHEQUES->AGENCIA ,;
TITULO with CHEQUES->TITULO ,;
CLIENTE with CHEQUES->CLIENTE ,;
TITULOS with CHEQUES->TITULOS ,;
TELEFONE with CHEQUES->TELEFONE
unlock
select CHEQUES
rec_lock()
delete
unlock
endif
skip
enddo
close all
endif
return
****************************
static procedure organiza6()
****************************
// Todo indice do Pedidos deve ser executado no Peddia tambem.
ferase(pDIR + "PEDIDOS.CDX")
if !net_use("PEDIDOS",,"E")
return
endif
index on NRORDEM tag (pDIR + "PDNRX") to (pDIR + "PEDIDOS")
index on CLIENTE tag (pDIR + "PDCLIENTE") to (pDIR + "PEDIDOS")
index on UN_DESC tag (pDIR + "PDDESCR") to (pDIR + "PEDIDOS")
index on DTEMINF tag (pDIR + "PDDATA") to (pDIR + "PEDIDOS")
index on TIPVENDA + str(NRORDEM, 6) tag (pDIR + "PTIPVEN") to (pDIR + "PEDIDOS")
index on TIPO+UN_DESC+CLIENTE tag (pDIR + "PDEPTA") to (pDIR + "PEDIDOS")
use
ferase(pDIR + "PEDDIA.CDX")
if !net_use("PEDDIA",,"E")
return
endif
index on NRORDEM tag (pDIR + "DDNRX") to (pDIR + "PEDDIA")
index on CLIENTE tag (pDIR + "DDCLIENTE") to (pDIR + "PEDDIA")
index on UN_DESC tag (pDIR + "DDDESCR") to (pDIR + "PEDDIA")
index on DTEMINF tag (pDIR + "DDDATA") to (pDIR + "PEDDIA")
index on TIPVENDA + str(NRORDEM, 6) tag (pDIR + "DTIPVEN") to (pDIR + "PEDDIA")
index on TIPO+UN_DESC+CLIENTE tag (pDIR + "DDEPTA") to (pDIR + "PEDDIA")
use
return
****************************
static procedure organiza7()
****************************
ferase(pDIR + "ESTOQUE.CDX")
if !net_use("ESTOQUE",,"E")
return
endif
index on ECODIGO tag (pDIR + "ESTOCOD") to (pDIR + "ESTOQUE")
index on EDESCRICAO tag (pDIR + "ESTONOME") to (pDIR + "ESTOQUE")
index on ECODBARRA tag (pDIR + "ESTOBARR") to (pDIR + "ESTOQUE")
index on EC_ELETRO1 tag (pDIR + "ESTOQUEI") to (pDIR + "ESTOQUE")
index on ELUNAR tag (pDIR + "ESTOQUEM") to (pDIR + "ESTOQUE")
index on EPROFARMA tag (pDIR + "ESTPROF") to (pDIR + "ESTOQUE")
index on EPANARELLO tag (pDIR + "ESTPANAR") to (pDIR + "ESTOQUE")
index on ESANTACRUZ tag (pDIR + "ESTSCRUZ") to (pDIR + "ESTOQUE")
index on ECOMPROFAR tag (pDIR + "ESTCOMPR") to (pDIR + "ESTOQUE")
index on EPRVENDA tag (pDIR + "ESTPRVEN") to (pDIR + "ESTOQUE")
index on EFORNECE tag (pDIR + "ESTFOR") to (pDIR + "ESTOQUE")
index on ETIPOPROD tag (pDIR + "ESTOTIP") to (pDIR + "ESTOQUE")
index on EFORNECE + EDESCRICAO tag (pDIR + "ESTFORD") to (pDIR + "ESTOQUE")
index on ETIPOPROD + EDESCRICAO tag (pDIR + "ESTIPOD") to (pDIR + "ESTOQUE")
index on EFILTRO tag (pDIR + "ESTFILT") to (pDIR + "ESTOQUE")
use
return
-----------------------------------------------------------
BLINKER INCREMENTAL OFF
BLINKER CLIPPER SYMBOL OFF
BLINKER EXECUTABLE COMPRESS // Gera executavel compactado.
NOBELL
PACKCODE
PACKDATA
//Define o programa e tamanho de pilha
DEFBEGIN
name 'TESTE'
description 'Sistema de funcoes'
exetype Windows 3.1
code moveable discardable preload
data preload moveable
stacksize 12500
heapsize 8500
segment 'PLANKTON_TEXT' nondiscardable
segment 'EXTEND_TEXT' nondiscardable
segment 'OM_TEXT' nondiscardable
segment 'OSMEM_TEXT' nondiscardable
segment 'SORTOF_TEXT' nondiscardable
segment 'STACK_TEXT' nondiscardable
DEFEND
//Define os programas a serem linkados
BEGIN AREA
FILE TESTE
FILE DBCONTR
FILE CONTROLS
FILE RCA900
ENDAREA
LIB DbfCdx, Five, FiveC, Objects, WinApi, Clipper, Extend
OUTPUT TESTE.EXE
----------------------------------------------------------
Clipper 5.2e, Fivewin 1.92, Blinker 7, Windows 2000