a estrutura do banco num array. Em outra rotinha com o nome ::converterDBF() eu tenho uma opção de converter
o banco ou seja,se eu mudar a estrutura do banco na rotina ::getEstrBco(nbanco) o banco DBF irá mudar também.
O meu problema esta na hora de verificar se a estrutura do meu DBF ta diferente da estrutura criado na rotina ::getEstrBco(nbanco).
Eu vejo a diferença tanto na quantidade de campos quanto no nome do campo,no tipo,no tamanho.
Vou mostrar como faço essa verificação.
Acontece que na hora de verificar a quantidade de campos: eu seleciono o banco e dou um dbstruct() jogando
numa variavel e depois dou um len na variavel. Daí retorno a nova estrutura atraves do method ::getEstrBco(nbanco)
jogo em outra varial e dou um len e depois comparo. Acontece que o dbstruct que eu utilizo na tabela dbf ta vindo com o
a mesma quantida de campos que está na minha nova estrutura, eu não sei como isso está acontecendo,ja abrir o dbf e verifiquei
e não está igual. Mas tem um porém, essa rotina de ::converterDBF() é feito para varias pastas sendo que tem o mesmo
dbf em todas as pastas, algumas tabelas de determinadas pastas estão apresentando a diferença.
E o que eu pude perceber é que ta sendo feita a alteração em dbf sim o outro não,dbf sim outro não, o que não era pra acontecer dessa forma.
Alguem aqui tem disponibilidade p verificar o fonte e me ajudar?
pq ja faz dias que estou tentando resolver e não to conseguindo.
Primeiro: Estrutura nova do banco
Código: Selecionar todos
METHOD getEstrBco(nbanco) CLASS SGBD
local i := nbanco
astruct := {}
DO CASE
CASE i == 1 // TABELA DE FUNCIONÁRIO - FLFUNC
AADD( astruct, {"CODIGO" , "N", 6, 0} )
AADD( astruct, {"CCUSTO" , "C", 3, 0} )
AADD( astruct, {"CCUSTO1" , "C", 3, 0} )
AADD( astruct, {"NOME" , "C", 52, 0} )
AADD( astruct, {"PAI" , "C", 50, 0} )
AADD( astruct, {"MAE" , "C", 50, 0} )
AADD( astruct, {"ENDERECO" , "C", 45, 0} )
AADD( astruct, {"CIDADE" , "C", 20, 0} )
AADD( astruct, {"BAIRRO" , "C", 15, 0} )
AADD( astruct, {"CEP" , "N", 9, 0} )
AADD( astruct, {"ESTADO" , "C", 2, 0} )
AADD( astruct, {"FONE" , "C", 10, 0} )
AADD( astruct, {"BCOFGTS" , "N", 3, 0} )
AADD( astruct, {"CTAFGTS" , "C", 11, 0} )
AADD( astruct, {"IDENT" , "C", 11, 0} )
AADD( astruct, {"CPF" , "C", 11, 0} )
AADD( astruct, {"CRPROF" , "C", 13, 0} )
AADD( astruct, {"CTPSDTE" , "D", 8, 0} )
AADD( astruct, {"TITNUM" , "N", 13, 0} )
AADD( astruct, {"TITZON" , "N", 3, 0} )
AADD( astruct, {"TITSEC" , "N", 4, 0} )
AADD( astruct, {"CBO" , "C", 7, 0} )
AADD( astruct, {"PISPASEP" , "C", 11, 0} )
AADD( astruct, {"TPSAL" , "N", 1, 0} )
AADD( astruct, {"SINDICATO" , "N", 3, 0} )
AADD( astruct, {"SEXO" , "C", 1, 0} )
AADD( astruct, {"NACIONAL" , "N", 2, 0} )
AADD( astruct, {"INSTRUCAO" , "N", 2, 0} )
AADD( astruct, {"PROFISSAO" , "C", 15, 0} )
AADD( astruct, {"CARGO" , "C", 20, 0} )
AADD( astruct, {"RESERV" , "C", 20, 0} )
AADD( astruct, {"LOCTRAB" , "C", 30, 0} )
AADD( astruct, {"ESTCIVIL" , "N", 1, 0} )
AADD( astruct, {"DESCSIN" , "C", 1, 0} )
AADD( astruct, {"COTAFAM" , "N", 2, 0} )
AADD( astruct, {"HSNORMAL" , "N", 6, 2} )
AADD( astruct, {"NASCTO" , "D", 8, 0} )
AADD( astruct, {"ADMISSAO" , "D", 8, 0} )
AADD( astruct, {"DEMISSAO" , "D", 8, 0} )
AADD( astruct, {"DEMAVISO" , "D", 8, 0} )
AADD( astruct, {"DATAFAST" , "D", 8, 0} )
AADD( astruct, {"OPCFGTS" , "D", 8, 0} )
AADD( astruct, {"OPTANTE" , "N", 1, 0} )
AADD( astruct, {"NFERIAS" , "N", 5, 2} )
AADD( astruct, {"FERIAS" , "D", 8, 0} )
AADD( astruct, {"FERIAS1" , "D", 8, 0} )
AADD( astruct, {"FERGOZO" , "D", 8, 0} )
AADD( astruct, {"FERGOZO1" , "D", 8, 0} )
AADD( astruct, {"FERABONO" , "D", 8, 0} )
AADD( astruct, {"FERABONO1" , "D", 8, 0} )
AADD( astruct, {"TPFER" , "C", 1, 0} )
AADD( astruct, {"FERPGTO" , "D", 8, 0} )
AADD( astruct, {"FERCOMP" , "D", 8, 0} )
AADD( astruct, {"FERAVISO" , "D", 8, 0} )
AADD( astruct, {"SALARIO" , "N", 12, 2} )
AADD( astruct, {"TXADIANT" , "N", 6, 2} )
AADD( astruct, {"CODADM" , "C", 2, 0} )
AADD( astruct, {"CODMOV" , "C", 2, 0} )
AADD( astruct, {"RAIS" , "L", 1, 0} )
AADD( astruct, {"DATMATI1" , "D", 8, 0} )
AADD( astruct, {"DATMATF1" , "D", 8, 0} )
AADD( astruct, {"RSVINC" , "C", 2, 0} )
AADD( astruct, {"RSINST" , "C", 2, 0} )
AADD( astruct, {"RSTPADM" , "C", 1, 0} )
AADD( astruct, {"RSCDESL" , "C", 2, 0} )
AADD( astruct, {"REGISTRO" , "C", 10, 0} )
AADD( astruct, {"BANCO" , "C", 4, 0} )
AADD( astruct, {"CONTA" , "C", 15, 0} )
AADD( astruct, {"RESMAIORV" , "N", 12, 2} )
AADD( astruct, {"RESNUMFER" , "N", 3, 0} )
AADD( astruct, {"RESFERPRO" , "N", 2, 0} )
AADD( astruct, {"RESDECPRO" , "N", 2, 0} )
AADD( astruct, {"RESVERBA" , "C", 6, 0} )
AADD( astruct, {"RESCODSAC" , "C", 2, 0} )
AADD( astruct, {"DEDIRRF" , "N", 2, 0} )
AADD( astruct, {"CLASSE" , "N", 3, 0} )
AADD( astruct, {"LIVRO" , "N", 3, 0} )
AADD( astruct, {"FOLHA" , "N", 3, 0} )
AADD( astruct, {"INSS" , "L", 1, 0} )
AADD( astruct, {"CODFUN" , "C", 3, 0} )
AADD( astruct, {"GERAL1" , "C", 10, 0} )
AADD( astruct, {"VAL01" , "N", 9, 2} )
AADD( astruct, {"PER01" , "N", 5, 2} )
AADD( astruct, {"IDENTOE" , "C", 8, 0} )
AADD( astruct, {"IDENTUF" , "C", 2, 0} )
AADD( astruct, {"IDENTDT" , "D", 8, 0} )
AADD( astruct, {"DTPRIEMP" , "D", 8, 0} )
AADD( astruct, {"UFCTPS" , "C", 2, 0} )
AADD( astruct, {"GERAL2" , "C", 20, 0} )
AADD( astruct, {"FERGOZADA" , "N", 2, 0} )
AADD( astruct, {"NOMECOMP" , "C", 52, 0} )
AADD( astruct, {"CONJUGUE" , "C", 40, 0} )
AADD( astruct, {"FATORH" , "C", 4, 0} )
AADD( astruct, {"HISTORICO" , "M", 10, 0} )
AADD( astruct, {"SLDFGTS" , "N", 10, 2} )
AADD( astruct, {"LIQUIDO" , "N", 10, 2} )
AADD( astruct, {"VLEXTRA" , "N", 10, 2} )
AADD( astruct, {"QUEMAVIS" , "C", 1, 0} )
AADD( astruct, {"TIPOAVIS" , "C", 1, 0} )
AADD( astruct, {"OPER" , "C", 3, 0} )
AADD( astruct, {"CIDNASCTO" , "C", 30, 0} )
AADD( astruct, {"CODCEI" , "C", 4, 0} )
AADD( astruct, {"IMPLIQ" , "C", 1, 0} )
AADD( astruct, {"DATFCONT" , "D", 8, 0} )
AADD( astruct, {"DIACONT" , "N", 3, 0} )
AADD( astruct, {"DIACONT1" , "N", 3, 0} )
AADD( astruct, {"MANEQUIM" , "C", 10, 0} )
AADD( astruct, {"DATAPPP" , "D", 8, 0} )
AADD( astruct, {"MULTAFGTS" , "N", 10, 2} )
AADD( astruct, {"GRMESANT" , "C", 1, 0} )
AADD( astruct, {"GRMESANT13", "C", 1, 0} )
AADD( astruct, {"UFNASCTO" , "C", 2, 0} )
AADD( astruct, {"TPCONTRAT" , "C", 1, 0} )
AADD( astruct, {"CUMPJORND" , "C", 1, 0} )
AADD( astruct, {"COMPSABAD" , "C", 1, 0} )
AADD( astruct, {"FRMCLCMED" , "C", 1, 0} )
AADD( astruct, {"FRMAPBS13" , "C", 1, 0} )
AADD( astruct, {"PERCSQFGT" , "N", 6, 3} )
AADD( astruct, {"PERCSQFGT1", "N", 6, 3} )
AADD( astruct, {"CODOUTVNC" , "N", 6, 0} )
AADD( astruct, {"HENTRADA" , "C", 5, 0} )
AADD( astruct, {"HSAIDA" , "C", 5, 0} )
AADD( astruct, {"HDESCENT" , "C", 5, 0} )
AADD( astruct, {"HDESCSAI" , "C", 5, 0} )
AADD( astruct, {"CARTMODEL" , "C", 12, 0} ) //FALTA CONFIRMAR
AADD( astruct, {"DECRETO" , "C", 15, 0} )
AADD( astruct, {"RGERAL" , "C", 20, 0} )
AADD( astruct, {"QUANTOSF" , "N", 3, 0} )
AADD( astruct, {"CASADOCOM" , "L", 1, 0} )
AADD( astruct, {"FILHOS" , "L", 1, 0} )
AADD( astruct, {"ANOCHEGA" , "D", 8, 0} )
AADD( astruct, {"COMISSAO" , "C", 25, 0} )
AADD( astruct, {"PORTARIANA", "C", 15, 0} ) //VERIFICAR A QUANTIDADE DE NÚMEROS
AADD( astruct, {"DATANATU" , "D", 8, 0} )
AADD( astruct, {"NUMPAS" , "C", 15, 0} )
AADD( astruct, {"EMISSPAS" , "C", 15, 0} )
AADD( astruct, {"UFPAS" , "C", 2, 0} )
AADD( astruct, {"DATAEMIPAS", "D", 8, 0} )
AADD( astruct, {"DATAVALPAS", "D", 8, 0} )
AADD( astruct, {"PAISPAS" , "C", 20, 0} )
// Residência
AADD( astruct, {"RPAIS" , "N", 3, 0} )
AADD( astruct, {"RLOGRAD" , "C", 80, 0} )
AADD( astruct, {"RNUM" , "C", 10, 0} )
AADD( astruct, {"RBAIRRO" , "C", 60, 0} )
AADD( astruct, {"RCOMPL" , "C", 30, 0} )
AADD( astruct, {"RCITY" , "C", 30, 0} )
AADD( astruct, {"RCEP" , "C", 10, 0} )
// CAMPO REFERENTE AO CADASTRO PIS (CERTIDÃO)
AADD( astruct, {"CCTIPO" , "C", 50, 0} )
AADD( astruct, {"CCDATA" , "D", 8, 0} )
AADD( astruct, {"CCTERM" , "C", 20, 0} )
AADD( astruct, {"CCLIVR" , "C", 5, 0} )
AADD( astruct, {"CCFOLH" , "C", 3, 0} )
AADD( astruct, {"CCCART" , "C", 30, 0} )
AADD( astruct, {"CCUF " , "C", 2, 0} )
AADD( astruct, {"CCMUNI" , "C", 20, 0} )
AADD( astruct, {"NUM" , "N", 6, 0} )
AADD( astruct, {"COMPEND" , "C", 21, 0} )
AADD( astruct, {"ENVIAR" , "L", 1, 0} )
AADD( astruct, {"ENVCAGED" , "L", 1, 0} )
AADD( astruct, {"DTENVIO" , "C", 6, 0} )
AADD( astruct, {"TPREMESSA" , "C", 1, 0} )
AADD( astruct, {"ENVIARPIS" , "L", 1, 0} )
AADD( astruct, {"ENVPIS" , "L", 1, 0} )
AADD( astruct, {"DTENVIOPIS", "D", 8, 0} )
//E-Social
AADD( astruct, {"CODMUNICP" , "N", 7, 0} )
AADD( astruct, {"CODNATURA" , "N", 7, 0} )
AADD( astruct, {"CODLOG" , "C", 4, 0} )
AADD( astruct, {"INDALV" , "N", 1, 0} )
//ABA E-Social
AADD( astruct, {"NUMRIC" , "C", 14, 0} )
AADD( astruct, {"EMISSAORIC", "D", 8, 0} )
AADD( astruct, {"RICOE" , "C", 20, 0} )
AADD( astruct, {"NUMOC" , "C", 14, 0} )
AADD( astruct, {"DTEXPEDOC" , "D", 8, 0} )
AADD( astruct, {"VALIDOC" , "D", 8, 0} )
AADD( astruct, {"ORGEMIOC" , "C", 20, 0} )
AADD( astruct, {"NUMCNH" , "C", 14, 0} )
AADD( astruct, {"DTEXPEDCNH", "D", 8, 0} )
AADD( astruct, {"VALIDCNH" , "D", 8, 0} )
AADD( astruct, {"ORGEMICNH" , "C", 20, 0} )
AADD( astruct, {"UFCNH" , "C", 2, 0} )
AADD( astruct, {"DTPRIMCNH" , "D", 8, 0} )
AADD( astruct, {"CATEGCNH" , "C", 2, 0} )
AADD( astruct, {"FONEALTER" , "C", 13, 0} )
AADD( astruct, {"EMAILPRIN" , "C", 60, 0} )
AADD( astruct, {"EMAILALT" , "C", 60, 0} )
AADD( astruct, {"PERHRFLEX" , "L", 1, 0} )
AADD( astruct, {"TPINTERV" , "N", 1, 0} )
AADD( astruct, {"CLSESTRG" , "C", 2, 0} )
CASE i == 2 // ok
AADD( astruct, { "CODIGO" , "C", 6, 0} )
AADD( astruct, { "NOME" , "C", 50, 0} )
AADD( astruct, { "FICHA" , "C", 10, 0} )
AADD( astruct, { "FILIAL" , "C", 10, 0} )
AADD( astruct, { "DTNASTCO" , "C", 10, 0} )
AADD( astruct, { "SEXO" , "C", 10, 0} )
AADD( astruct, { "ECIVIL" , "C", 20, 0} )
AADD( astruct, { "NACIONAL" , "C", 20, 0} )
AADD( astruct, { "NATURAL" , "C", 30, 0} )
AADD( astruct, { "INSTRUCAO" , "C", 30, 0} )
AADD( astruct, { "CTPSNUM" , "C", 7, 0} )
AADD( astruct, { "CTPSSER" , "C", 5, 0} )
AADD( astruct, { "CTPSDATA" , "C", 10, 0} )
AADD( astruct, { "CTPSUF" , "C", 2, 0} )
AADD( astruct, { "PIS" , "C", 11, 0} )
AADD( astruct, { "TITNUM" , "C", 20, 0} )
AADD( astruct, { "TITSEC" , "C", 3, 0} )
AADD( astruct, { "TITZONA" , "C", 4, 0} )
AADD( astruct, { "RESERVISTA", "C", 20, 0} )
AADD( astruct, { "DATAADM" , "C", 10, 0} )
AADD( astruct, { "CARGO" , "C", 20, 0} )
AADD( astruct, { "DEPARTO" , "C", 20, 0} )
AADD( astruct, { "ENDERECO" , "C", 45, 0} )
AADD( astruct, { "NUMERO" , "C", 0, 0} )
AADD( astruct, { "COMPLEMEN" , "C", 20, 0} )
AADD( astruct, { "CEP" , "C", 10, 0} )
AADD( astruct, { "BAIRRO" , "C", 20, 0} )
AADD( astruct, { "MUNICIPIO" , "C", 30, 0} )
AADD( astruct, { "UF" , "C", 2, 0} )
AADD( astruct, { "RGNUMERO" , "C", 10, 0} )
AADD( astruct, { "RGDATAEMIS", "C", 10, 0} )
AADD( astruct, { "RGORGEMIS" , "C", 8, 0} )
AADD( astruct, { "RGUR" , "C", 2, 0} )
AADD( astruct, { "DEMISSAO" , "C", 10, 0} )
AADD( astruct, { "DDD" , "C", 2, 0} )
AADD( astruct, { "FONE" , "C", 10, 0} )
AADD( astruct, { "CPF" , "C", 14, 0} )
AADD( astruct, { "TIPOSANGUE", "C", 3, 0} )
AADD( astruct, { "ESCALA" , "C", 20, 0} )
CASE i == 3 // OK
AADD( astruct, { "CODIGO" , "C", 3, 0} )
AADD( astruct, { "CODIGO1" , "C", 3, 0} )
AADD( astruct, { "DESCRICAO", "C", 30, 0} )
AADD( astruct, { "TPCLCSAL" , "C", 1, 0} )
AADD( astruct, { "EXTRA" , "C", 1, 0} )
AADD( astruct, { "EXTRA1" , "C", 1, 0} )
AADD( astruct, { "EXTRA2" , "C", 1, 0} )
AADD( astruct, { "EXTRA3" , "C", 1, 0} )
AADD( astruct, { "GERAL" , "C", 20, 0} )
CASE i == 4 // OK
AADD( astruct, {"CODIGO" , "C", 3, 0} )
AADD( astruct, {"PRODES" , "C", 1, 0} )
AADD( astruct, {"DESCRICAO", "C", 30, 0} )
AADD( astruct, {"DESCSALC" , "C", 12, 0} )
AADD( astruct, {"FORMULA" , "C", 67, 0} )
AADD( astruct, {"FORMULA1" , "C", 67, 0} )
AADD( astruct, {"ESCLSALC" , "C", 60, 0} )
AADD( astruct, {"DHV" , "C", 1, 0} )
AADD( astruct, {"FATOR" , "N", 11, 7} )
AADD( astruct, {"USFOR" , "L", 1, 0} )
AADD( astruct, {"INSS" , "L", 1, 0} )
AADD( astruct, {"FGTS" , "L", 1, 0} )
AADD( astruct, {"IRRF" , "L", 1, 0} )
AADD( astruct, {"XIII" , "L", 1, 0} )
AADD( astruct, {"FERIAS" , "L", 1, 0} )
AADD( astruct, {"RESC" , "L", 1, 0} )
AADD( astruct, {"RAIS" , "L", 1, 0} )
AADD( astruct, {"VALE" , "L", 1, 0} )
AADD( astruct, {"SALF" , "L", 1, 0} )
AADD( astruct, {"FPAS" , "L", 1, 0} )
AADD( astruct, {"EBIRR" , "L", 1, 0} )
AADD( astruct, {"EBINS" , "L", 1, 0} )
AADD( astruct, {"EBFER" , "L", 1, 0} )
AADD( astruct, {"EBFAM" , "L", 1, 0} )
AADD( astruct, {"EBFGT" , "L", 1, 0} )
AADD( astruct, {"DSCFER" , "L", 1, 0} )
AADD( astruct, {"INSDED" , "L", 1, 0} )
AADD( astruct, {"ATIV1" , "L", 1, 0} )
AADD( astruct, {"ATIV2" , "L", 1, 0} )
AADD( astruct, {"ATIV3" , "L", 1, 0} )
AADD( astruct, {"ATIV4" , "L", 1, 0} )
AADD( astruct, {"SOMA" , "L", 1, 0} )
AADD( astruct, {"PEGAMES" , "L", 1, 0} )
AADD( astruct, {"QTDMES" , "N", 4, 0} )
AADD( astruct, {"VALC" , "N", 15, 2} )
AADD( astruct, {"QTDC" , "N", 4, 0} )
AADD( astruct, {"VALT" , "N", 15, 2} )
AADD( astruct, {"QTDT" , "N", 4, 0} )
AADD( astruct, {"QTDCONV" , "N", 7, 4} )
AADD( astruct, {"QTD2" , "N", 8, 4} )
AADD( astruct, {"REDOND" , "N", 5, 0} )
AADD( astruct, {"EXTRA1" , "L", 1, 0} )
AADD( astruct, {"EXTRA2" , "L", 1, 0} )
AADD( astruct, {"CODLIG" , "C", 3, 0} )
AADD( astruct, {"MESLIG" , "C", 2, 0} )
AADD( astruct, {"CODDEB" , "C", 5, 0} )
AADD( astruct, {"CODCRE" , "C", 5, 0} )
AADD( astruct, {"HISDEB" , "N", 3, 0} )
AADD( astruct, {"HISCRE" , "N", 3, 0} )
AADD( astruct, {"VALCTB" , "N", 12, 2} )
AADD( astruct, {"INTEGRA" , "L", 1, 0} )
AADD( astruct, {"USABASE" , "C", 1, 0} )
AADD( astruct, {"BASE01" , "L", 1, 0} )
AADD( astruct, {"BASE02" , "L", 1, 0} )
AADD( astruct, {"BASE03" , "L", 1, 0} )
AADD( astruct, {"BASE04" , "L", 1, 0} )
AADD( astruct, {"BASE05" , "L", 1, 0} )
AADD( astruct, {"BASE06" , "L", 1, 0} )
AADD( astruct, {"BASE07" , "L", 1, 0} )
AADD( astruct, {"BASE08" , "L", 1, 0} )
AADD( astruct, {"BASE09" , "L", 1, 0} )
AADD( astruct, {"CODPFER" , "C", 3, 0} )
AADD( astruct, {"CODFUMT" , "C", 3, 0} )
AADD( astruct, {"CODPABN" , "C", 3, 0} )
AADD( astruct, {"CODFDOB" , "C", 3, 0} )
AADD( astruct, {"PROPORC" , "L", 1, 0} )
AADD( astruct, {"TODOMES" , "L", 1, 0} )
AADD( astruct, {"CLCM01" , "L", 1, 0} )
AADD( astruct, {"CLCM02" , "L", 1, 0} )
AADD( astruct, {"CLCM03" , "L", 1, 0} )
AADD( astruct, {"CLCM04" , "L", 1, 0} )
AADD( astruct, {"CLCM05" , "L", 1, 0} )
AADD( astruct, {"CLCM06" , "L", 1, 0} )
AADD( astruct, {"CLCM07" , "L", 1, 0} )
AADD( astruct, {"CLCM08" , "L", 1, 0} )
AADD( astruct, {"CLCM09" , "L", 1, 0} )
AADD( astruct, {"CLCM10" , "L", 1, 0} )
AADD( astruct, {"CLCM11" , "L", 1, 0} )
AADD( astruct, {"CLCM12" , "L", 1, 0} )
AADD( astruct, {"DPCOND01" , "C", 1, 0} )
AADD( astruct, {"DPEVEN01" , "C", 3, 0} )
AADD( astruct, {"DPMESES01", "N", 2, 0} )
AADD( astruct, {"DPMONTA01", "C", 1, 0} )
AADD( astruct, {"DPOPERA01", "C", 1, 0} )
AADD( astruct, {"DPCOMPA01", "C", 1, 0} )
AADD( astruct, {"DPVALOR01", "N", 10, 3} )
AADD( astruct, {"DEDLIQINS", "L", 1, 0} )
AADD( astruct, {"DESCRES" , "L", 1, 0} )
AADD( astruct, {"DESC13" , "L", 1, 0} )
AADD( astruct, {"DESCAFAS" , "L", 1, 0} )
AADD( astruct, {"EPENSAO" , "L", 1, 0} )
AADD( astruct, {"ICDPENSAO", "L", 1, 0} )
AADD( astruct, {"COD13" , "C", 3, 0} )
AADD( astruct, {"COD13A" , "C", 3, 0} )
AADD( astruct, {"CODRES" , "C", 3, 0} )
AADD( astruct, {"CDRSPFER" , "C", 3, 0} )
AADD( astruct, {"CDRSFUMT" , "C", 3, 0} )
AADD( astruct, {"CDRSPABN" , "C", 3, 0} )
AADD( astruct, {"CDRSFDOB" , "C", 3, 0} )
AADD( astruct, {"CDRSPFERP", "C", 3, 0} )
AADD( astruct, {"CDRSFUMTP", "C", 3, 0} )
AADD( astruct, {"CDRSPABNP", "C", 3, 0} )
AADD( astruct, {"CDRSFDOBP", "C", 3, 0} )
AADD( astruct, {"SEQCALC" , "C", 1, 0} )
AADD( astruct, {"DSCFRMENS", "L", 1, 0} )
AADD( astruct, {"RUBRICA" , "C", 3, 0} )
AADD( astruct, {"CODTRCT" , "C", 5, 0} )
AADD( astruct, {"DEDLIQIRF", "L", 1, 0} )
CASE i == 5 // ok
AADD( astruct, { "CODIGO" , "C", 3, 0} ) // quando for gerar para o eSocial, usar STRZERO(VAR, 30)
AADD( astruct, { "DESCRICAO" , "C",100, 0} ) // alterado de 20 para 100 para se adaptar ao eSocial
AADD( astruct, { "CBO" , "C", 7, 0} )
AADD( astruct, { "CODOCUPBC" , "C", 5, 0} )
AADD( astruct, { "QTDE" , "N", 5, 0} )
AADD( astruct, { "NIVEL" , "C", 3, 0} )
AADD( astruct, { "CLASSE" , "C", 3, 0} )
AADD( astruct, { "REFERENCIA", "C", 3, 0} )
AADD( astruct, { "SALARIOI" , "N", 10, 2} )
AADD( astruct, { "SALARIOF" , "N", 10, 2} )
AADD( astruct, { "LEI" , "C", 7, 0} )
AADD( astruct, { "EXTRA" , "C", 10, 0} )
AADD( astruct, { "DATALEI" , "D", 8, 0} )
AADD( astruct, { "DESC1" , "C", 65, 0} )
AADD( astruct, { "DESC2" , "C", 65, 0} )
AADD( astruct, { "DESC3" , "C", 65, 0} )
AADD( astruct, { "DESC4" , "C", 65, 0} )
AADD( astruct, { "DESC5" , "C", 65, 0} )
AADD( astruct, { "DESC6" , "C", 65, 0} )
AADD( astruct, { "INIVALID" , "C", 7, 0} )
AADD( astruct, { "FIMVALID" , "C" , 7, 0} )
OTHERWISE
astruct := {}
ENDCASE
RETURN astructCódigo: Selecionar todos
METHOD checaAlter(nbanco) CLASS SGBD
local curstruct, fstruct
select(nbanco)
curstruct := dbstruct()
fstruct := ::getEstrBco(nbanco)
if len(curstruct) <> len(fstruct)
RETURN .T.
else
for i := 1 to len(curstruct)
if alltrim(curstruct[i][DBS_NAME]) <> alltrim(fstruct[i][DBS_NAME])
RETURN .T.
elseif alltrim(curstruct[i][DBS_TYPE]) <> alltrim(fstruct[i][DBS_TYPE])
RETURN .T.
elseif curstruct[i][DBS_LEN] <> fstruct[i][DBS_LEN]
RETURN .T.
elseif curstruct[i][DBS_DEC] <> fstruct[i][DBS_DEC]
RETURN .T.
endif
next
endif
RETURN .F.So para deixar claro o meu method converterDbf sai verificando todas as pastas que contem o dbf que eu escolho para alteração.


