Bom dia, Nós recebemos um arquivo CSV do plano de saúde e importamos para o sistema por um programa específico. Agora o arquivo está vindo com cabeçalho, existe uma forma de ignorar a primeira linha do arquivo para que o usuário não precise editar o arquivo? att, Leandro.
Olá. Algo assim? Código: DEF VAR c-linha AS CHAR NO-UNDO. INPUT FROM c:\temp\importar.txt. IMPORT c-linha. //cabecalho REPEAT: IMPORT c-linha. MESSAGE c-linha //da segunda linha em diante VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. END. INPUT CLOSE.
Hoje eu faço da seguinte forma. INPUT FROM VALUE(tt-param.arquivoe) NO-CONVERT. REPEAT ON ERROR UNDO, LEAVE ON STOP UNDO, LEAVE TRANSACTION: CREATE tt-bnfcs. IMPORT DELIMITER ';' tt-bnfcs.nome tt-bnfcs.depend tt-bnfcs.valor tt-bnfcs.utiliza. END. INPUT CLOSE.
se no cabeçalho do CSV, no campo tt-bnfcs.nome está vindo 'NOME','BENEFICIARIO' vc simplesmente ignora esse registro, se os daods que vem do arquivo obrigatoriamente, o nome por exemplo, tem que estar no cadastro de funcionarios ? ai é mais simples, basta ignorar a linha que der o not avail na tabela.
Faz assim: DEF VAR c-linha AS CHAR NO-UNDO. INPUT FROM VALUE(tt-param.arquivoe) NO-CONVERT. IMPORT UNFORMATTED c-linha. REPEAT ON ERROR UNDO, LEAVE ON STOP UNDO, LEAVE TRANSACTION: CREATE tt-bnfcs. IMPORT DELIMITER ';' tt-bnfcs.nome tt-bnfcs.depend tt-bnfcs.valor tt-bnfcs.utiliza. END. INPUT CLOSE.