Transferência de dados através de arquivos .txt - Parte II




Layout

 

Agora que já temos informações a serem transferidas, é necessária a elaboração de algumas regras para gerar o arquivo texto.  Essas regras, que de agora por diante chamaremos apenas de layout, tem que ser compreendida pelos dois aplicativos(o que gerou o arquivo e que irá receber).

Sendo assim vamos criar nosso layout.

 

1.      Regras de formatação de campos

 

1.1.   Campos numéricos (Tipo N) fracionados deverão ser preenchidos por completo, sem nenhum tipo de sinal, sem vírgula e pontos, alinhado a direita e com suas posições a esquerda preenchidas por zeros:

 

Ex1: R$ 1.050,55 com tamanho 15,2(13 caracteres da parte inteira e 2 da decimal) no layout deverá aparecer 000000000105055

Ex2: R$ 78,00 com tamanho 15,2(13 caracteres da parte inteira e 2 da decimal) no layout deverá aparecer 000000000007800

 

1.2.   Campos inteiros (Tipo I) serão similares aos campos numéricos fracionados, apenas não utilizando as casas decimais.

 

1.3.   Campos com datas (Tipo D) tem que estar no formato AAAAMMDD:

 

Ex1: 31/12/2005 tem que ser informado 20051231

Ex2: 01/02/2006 tem que ser informado 20060201

 

1.4.   Campos com tempo (Tipo T) tem que estar no formato HHMMSS:

 

Ex1: 10:30h tem que ser informado 103000

Ex2: 13:25:55h tem que ser informado 132555

 

 

1.5.   Campos alfanuméricos (Tipo A) serão alinhados a esquerda com espaço em branco a direita até ser atingido seu tamanho máximo:

 

Ex1: José da Silva com tamanho 50 deverá “José da Silva                                     ” – sem as aspas

Ex2: Celular XR-60 com tamanho 50 deverá aparecer “Celular XR-60                                     ” – sem as aspas

 

2.      Regras para tipos de registros

 

2.1.   Todos os registros deverão ter obrigatoriamente 195 posições.

 

2.2.   O primeiro dígito indicará o tipo de registro que contém na linha e o cinco últimos a posição do registro no arquivo.

 

Ex1: “100001111.111.111-11Jose da Silva                                     Rua da Flores, 123                                Romeirao                      Juazeiro do Norte             CE1970123100002” – O primeiro dígito é o número 1 o que indica que é um Registro Tipo 1, os cinco últimos números são 00002 informando que o registro está na segunda linha do arquivo

Ex2: “21234567890123Telefone XT-72                                    000000000008399                                                                                                               00006”  - O primeiro dígito é o número 2 indicando que é um Registro Tipo 2, os cinco últimos números são 00006 informando que o registro está na sexta  linha do arquivo

 

2.3.   O registro deverá ser finalizado com carriage return/line feed (CR/LF).

 

2.4.   O arquivo deverá iniciar obrigatoriamente com o Registro Tipo 0 e ser finalizado com o Registro Tipo 9.

 

2.5.   O arquivo só poderá ter apenas um Registro Tipo 0 e um Registro Tipo 9, os Registro Tipo 1 e Registro Tipo 2 pode aparece nenhuma ou varias vezes por arquivo.

 

3.      Descritiva dos registros

 

3.1.   Registro Tipo 0

 

3.1.1. Ocorre uma vez no arquivo, deve ser o primeira registro.   Inicialização do arquivo.  Registro obrigatório.

 

Campo

Descritiva

Tamanho

Tipo

Pos. Inic.

Pos. Final

Tipo

Valor fixo “0”

1

I

1

1

DtGera

Data da geração do arquivo

8

D

2

9

HsGera

Hora da geração do arquivo

6

T

10

15

Versão

Versão do layout. Valor fixo “1.0.0”

5

A

16

20

Brancos

Espaços em branco

170

A

21

190

Linha

Número da linha no arquivo

5

I

191

195

 

3.2.   Registro Tipo 1

 

3.2.1. Ocorre nenhuma ou varias vezes no arquivo.  Registro com os dados capturados da tabela cliente.

 

Campo

Descritiva

Tamanho

Tipo

Pos. Inic.

Pos. Final

Tipo

Valor fixo “1”

1

I

1

1

Codigo

Código do cliente

5

I

2

6

CPF

Número do CPF do cliente

14

A

7

20

Nome

Nome do cliente

50

A

21

70

Ender

Endereço do cliente

50

A

71

120

Bairro

Bairro do cliente

30

A

121

150

Cidade

Cidade do cliente

30

A

151

180

UF

Estado do cliente

2

A

181

182

DtNasc

Data de nascimento do cliente

8

D

183

190

Linha

Número da linha no arquivo

5

I

191

195

 

3.3.   Registro Tipo 2

3.3.1. Ocorre nenhuma ou varias vezes no arquivo.  Registro com os dados capturados da tabela produto.

 

Campo

Descritiva

Tamanho

Tipo

Pos. Inic.

Pos. Final

Tipo

Valor fixo “2”

1

I

1

1

Codigo

Código do produto

13

A

2

14

Descr

Descrição do produto

50

A

15

64

Valor

Valor do produto

15,2

N

65

79

Brancos

Espaços em branco

111

A

80

190

Linha

Número da linha no arquivo

5

I

191

195

 

3.4.   Registro Tipo 9

 

3.4.1. Ocorre uma vez no arquivo, deve ser o último registro.   Finaliza o arquivo.  Registro obrigatório.

 

Campo

Descritiva

Tamanho

Tipo

Pos. Inic.

Pos. Final

Tipo

Valor fixo “9”

1

I

1

1

Reg1

Quantidade de Registros Tipo 1 no arquivo

5

I

2

6

Reg2

Quantidade de Registros Tipo 2 no arquivo

5

I

7

11

Brancos

Espaços em branco

179

A

12

190

Linha

Número da linha no arquivo

5

I

191

195

 

4.      Posição dos registros dentro do arquivo

 

Registro Tipo 0

 

Registro Tipo 1

Registro Tipo 2

Registro Tipo 9

 

 

Artigo criado por http://www.cassic.com.br/