Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 17/04/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 13:59:08
Descrição da Nota: SAÍDA DE PAGAMENTO(ARQ. ELETRÔNICO) ITAU FEBRABAN
Sintoma
Ao gerar o arquivo txt. para o Itaú, estão ocorrendo os seguintes problemas no arquivo txt:
- Na posição 15 até 17, no layout não está sendo trazido o código da versão do layout.
- Na posição 58, no layout está sendo trazido um valor de 9, sendo que o correto é fixo "Branco".
- Na posição 72, no layout não está vindo preenchido com o dígito da conta.
- Na 4ª linha (Registro detalhe - segmento B), o correto seria preencher até a coluna 127 com a
sigla do estado e após isso da posição 128-240 (fixo branco), mas no arquivo está sendo preenchido
com várias informações.
Solução
Ajuste efetuado para aceitar qualquer código do banco itaú, independente de ser 341, através da
tabela T012. No caso da gravação da tabela /PWS/ZYCBT134 se o banco e o ID tiver 5 caracteres, o
erro ocorre também no produto, devido na estrutura /PWS/ZYCBE134 ter um campo MARK incorreto antes
dos campos BANCO e ID.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01210 Data: 17/04/2006 Hora: 15:41:53
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01210
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00110
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
SAÍDA DE PAGAMENTO(ARQ. ELETRÔNICO) ITAU FEBRABAN
----------------------------------------------------------------------------------------------------
Palavras Chave:
SAÍDA DE PAGAMENTO(ARQ. ELETRÔNICO) ITAU FEBRABAN
/PWS/ZYCBT134 SE O BANCO E O ID TIVER 5 CARACTERES
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB115F01
REPS /PWS/MZYCB115X01
REPS /PWS/ZYGLR026
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB115F01
...
ENDIF.
ENDLOOP.
IF NOT v_flag IS INITIAL.
EXPORT itab_zycbt134_arq[] TO MEMORY ID 'AET134'.
EXPORT itab_zycbt031_arq[] TO MEMORY ID 'AET031'.
* >> Início da exclusão: FORM GERA_ARQUIVO_ELETRONICO
IF v_bcoemp = '341'.
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_ARQUIVO_ELETRONICO
IF t012-bankl(3) = '341'.
* << Fim da inclusão
SUBMIT /pws/zyglr026 VIA SELECTION-SCREEN AND RETURN.
* >> Início da exclusão: FORM GERA_ARQUIVO_ELETRONICO
ELSEIF v_bcoemp = '237'.
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_ARQUIVO_ELETRONICO
ELSEIF t012-bankl(3) = '237'.
* << Fim da inclusão
SUBMIT /pws/zyglr027 VIA SELECTION-SCREEN AND RETURN.
ELSE.
SUBMIT /pws/zyglr025 VIA SELECTION-SCREEN AND RETURN.
ENDIF.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB115X01
...
itab_zycbt032 LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE,
itab_zycbt036 LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE,
itab_zyglt100 LIKE /pws/zyglt100 OCCURS 0 WITH HEADER LINE.
DATA: v_mod(2) TYPE c.
DATA: BEGIN OF itab_zycbt134_sel OCCURS 50.
* >> Início da exclusão:
INCLUDE STRUCTURE /pws/zycbe134.
* << Fim da exclusão
* >> Início da inclusão:
INCLUDE STRUCTURE /pws/zycbt134.
* << Fim da inclusão
DATA: j_1bbranch LIKE /pws/zycbt119-j_1bbranch,
werks LIKE /pws/zycbt119-werks,
gsber LIKE /pws/zycbt119-gsber,
nrcontr LIKE /pws/zycbt004-nrcontr,
dtvencto LIKE /pws/zycbt031-dtvencto,
...
...
v_meiopag LIKE t042z-text1,
controle(1) TYPE c,
vlprov LIKE /pws/zycbt134-vlme,
vlprovir LIKE /pws/zycbt134-vlme,
vldif LIKE /pws/zycbt134-vlme,
* >> Início da exclusão:
vldifir LIKE /pws/zycbt134-vlme.
* << Fim da exclusão
* >> Início da inclusão:
vldifir LIKE /pws/zycbt134-vlme,
mark.
* << Fim da inclusão
DATA: END OF itab_zycbt134_sel.
DATA: BEGIN OF itab_zycbt134_arq OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt134.
DATA: zlsch LIKE /pws/zycbt145-zlsch,
j_1bbranch LIKE /pws/zycbt119-j_1bbranch.
...
...
DATA: END OF itab_zycbt112.
DATA: BEGIN OF itab_zycbt113 OCCURS 100.
INCLUDE STRUCTURE /pws/zycbt113.
DATA: END OF itab_zycbt113.
DATA: BEGIN OF itab_zycbt134_g OCCURS 50.
* >> Início da exclusão:
INCLUDE STRUCTURE /pws/zycbe134.
* << Fim da exclusão
* >> Início da inclusão:
INCLUDE STRUCTURE /pws/zycbt134.
* << Fim da inclusão
DATA: j_1bbranch LIKE /pws/zycbt119-j_1bbranch,
werks LIKE /pws/zycbt119-werks,
gsber LIKE /pws/zycbt119-gsber,
nrcontr LIKE /pws/zycbt004-nrcontr,
dtvencto LIKE /pws/zycbt031-dtvencto,
...
...
waersb LIKE /pws/zycbt007-waersb,
bcooper LIKE /pws/zycbt031-bcooper,
vlded LIKE /pws/zycbt031-vldedirrf,
pagtoirrf LIKE /pws/zycbt031-pagtoirrf,
controle(1) TYPE c,
* >> Início da exclusão:
index(2) TYPE n.
* << Fim da exclusão
* >> Início da inclusão:
index(2) TYPE n,
mark.
* << Fim da inclusão
DATA: END OF itab_zycbt134_g.
DATA: itab_zycbt134 LIKE itab_zycbt134_g OCCURS 50
WITH HEADER LINE.
DATA: itab_zycbt134_aux LIKE itab_zycbt134_g OCCURS 50
WITH HEADER LINE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYGLR026
...
*--Tabela GL - Arquivos Eletrônicos
DATA: BEGIN OF itab_zyglt358 OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt358.
DATA: END OF itab_zyglt358.
*--Tabela GL - Parâm. Formas de Pagamento
DATA: BEGIN OF itab_zyglt357 OCCURS 0,
hbkid LIKE /pws/zyglt357-hbkid,
bukrs LIKE /pws/zyglt357-bukrs,
frmpagto LIKE /pws/zyglt357-frmpagto,
codpagto LIKE /pws/zyglt357-codpagto,
gerar_boleto LIKE /pws/zyglt357-gerar_boleto,
instrucao LIKE /pws/zyglt357-instrucao,
END OF itab_zyglt357.
*--Tabela GL - Parâm. Versão Layout Arquivos Eletrônicos
DATA: BEGIN OF itab_zyglt355 OCCURS 0,
hbkid LIKE /pws/zyglt355-hbkid,
* >> Início da inclusão
versao like /pws/zyglt355-versao,
* >> Fim da inclusão
avisopg LIKE /pws/zyglt355-avisopg,
*chamado 171923 - AnaB - 21/06/2004 - inicio
versaolote LIKE /pws/zyglt355-versaolote,
*chamado 171923 - AnaB - 21/06/2004 - fim
END OF itab_zyglt355.
*--Tabela Bancos da empresa
DATA: BEGIN OF itab_t012 OCCURS 0,
bukrs LIKE t012-bukrs,
hbkid LIKE t012-hbkid,
bankl LIKE t012-bankl,
END OF itab_t012.
*--Tabela de Dados adicionais para a empresa
DATA: BEGIN OF itab_t001z OCCURS 0,
bukrs LIKE t001z-bukrs,
party LIKE t001z-party,
paval LIKE t001z-paval,
END OF itab_t001z.
...
*--tabela Mestre de bancos
DATA: BEGIN OF itab_bnka OCCURS 0,
bankl LIKE bnka-bankl,
banks LIKE bnka-banks,
banka LIKE bnka-banka,
END OF itab_bnka.
*--Tabela Header de arquivo
DATA: BEGIN OF itab_header_arq OCCURS 0,
cod_banco(3) TYPE n VALUE '341', "Campo1
cod_lote(4) TYPE n, "Campo2
tipo_reg(1) TYPE n, "Campo3
brancos(6) TYPE c, "Campo4
* >> Início da inclusão
layout_arq(3) TYPE n," VALUE '050', "Campo5
* >> Fim da inclusão
emp_inscr(1) TYPE n VALUE '2', "Campo6
inscr_num(14) TYPE n, "Campo7
brancos2(20) TYPE c, "Campo8
agencia(5) TYPE n, "Campo9
brancos3(1) TYPE c, "Campo10
conta(12) TYPE n, "Campo11
brancos4(1) TYPE c, "Campo12
dac(1) TYPE c, "Campo13
nome_emp(30) TYPE c, "Campo14
nome_banco(30) TYPE c, "Campo15
brancos5(10) TYPE c, "Campo16
arq_codigo(1) TYPE n VALUE '1', "Campo17
dt_geracao(8) TYPE n, "Campo18
hr_geracao(6) TYPE n, "Campo19
*{ REPLACE F6AK900184 1
*\ zeros(9) TYPE n, "Campo20
num_arq(9) TYPE n, "Campo20
*} REPLACE
un_densid(5) TYPE n, "Campo21
brancos6(69) TYPE c VALUE space, "Campo22
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_header_arq.
...
v_branch = v_number+8(4).
* Chamado 184783 - Fúlvio Valente - 01/08/2004 - Fim
CONCATENATE v_company
v_branch
*{ REPLACE F6AK900184 1
*\ v_number INTO itab_header_arq-inscr_num.
v_number+12(2) INTO itab_header_arq-inscr_num.
*} REPLACE
* ENDIF.
** CB - 146879 - Daniel Feitoza - 10/03/2004 - Fim
* >> Início da inclusão: FORM MONTA_HEADER_DE_ARQUIVO
READ TABLE itab_zyglt355 WITH KEY hbkid = itab_zycbt134_arq-hbkid.
IF sy-subrc = 0.
itab_header_arq-layout_arq = itab_zyglt355-versao.
ENDIF.
* >> Fim da inclusão
*--Busca codigo do contrato do Banco com a Empresa
READ TABLE itab_t045t WITH KEY bukrs = itab_zycbt134_arq2-bukrs
zlsch = itab_zycbt134_arq2-zlsch
hbkid = itab_zycbt134_arq2-hbkid
hktid = itab_zycbt134_arq2-hktid
BINARY SEARCH.
IF sy-subrc IS INITIAL.
*{ REPLACE F6AK900184 3
*\ itab_header_arq-brancos2 = itab_t045t-dtaid.
itab_header_arq-brancos2 = itab_t045t-dtaid.
SHIFT itab_header_arq-brancos2 LEFT DELETING LEADING space.
*} REPLACE
ENDIF.
...
IF NOT itab_zycbt134_arq[] IS INITIAL.
SELECT hbkid
* >> Início da inclusão: FORM ACESSA_ZYGLT355
versao
* >> Fim da inclusão
avisopg
versaolote
FROM /pws/zyglt355
INTO TABLE itab_zyglt355
FOR ALL ENTRIES IN itab_zycbt134_arq
WHERE land1 EQ c_br AND
hbkid EQ itab_zycbt134_arq-hbkid.
ENDIF.