Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 28/09/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 13:57:58
Descrição da Nota: ARQUIVO ELETRÔNICO - DUMP GENERATE - ITAÚ/FEBRABAN
Sintoma
Esta ocorrendo dump ao gerar o arquivo eletrônico do Itaú e da Febraban.
Solução
Criar um novo programa para apenas executar o comando generate, pois ao sair deste programa a
memória intermediária é limpa e permite rodar mais vezes o comando. O novo programa será chamado em
todos os pontos que executa o generate nos arquivos eletrônicos do Itaú e da Febraban
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02168 Data: 28/09/2006 Hora: 11:44:14
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02168
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00132
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00177 - 00001 - 6.0 - 00021 - DUMP NO PROGRAMA DE ARQUIVO ELETRÔNICO
00250 - 00002 - 6.0 - 00021 - ARQUIVO ELETRÔNICO ITAÚ E FEBRABAN - QUEBRA DE LINHA
00971 - 00003 - 6.0 - 00022 - DUMP AO INFORMAR CAMINHO DO ARQUIVO ELETRÔNICO - SAP VERSÃO 5.0
----------------------------------------------------------------------------------------------------
ARQUIVO ELETRÔNICO - DUMP GENERATE - ITAÚ/FEBRABAN
----------------------------------------------------------------------------------------------------
Palavras Chave:
ARQUIVO ELETRÔNICO DUMP GENERATE - ITAÚ FEBRABAN
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYGLR025
REPS /PWS/ZYGLR026
REPS /PWS/ZYGLR039
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYGLR025
...
v_hbkid LIKE /pws/zycbt134-hbkid,
v_exit(1) TYPE c,
v_arquivo TYPE string.
DATA: t_prog(72) TYPE c OCCURS 1000 WITH HEADER LINE,
w_prog LIKE trdir-name.
* >> Início da inclusão:
DATA: v_chamada(50) TYPE c,
wa_header_arq_25 LIKE itab_header_arq,
wa_header_lote_25 LIKE itab_header_lote,
wa_detalhe_a_25 LIKE itab_detalhe_a,
wa_detalhe_b_25 LIKE itab_detalhe_b,
wa_detalhe_c_25 LIKE itab_detalhe_c,
wa_trailer_lote_25 LIKE itab_trailer_lote,
wa_trailer_arq_25 LIKE itab_trailer_arq.
* << Fim da inclusão
DATA: wa_j_1bbranch LIKE j_1bbranch.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_arq LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN: END OF BLOCK b1.
INITIALIZATION.
...
...
itab_zycbt134_arq-j_1bbranch = 'SP01'.
ENDIF.
ENDIF.
CALL FUNCTION 'J_1BREAD_CGC_COMPANY'
EXPORTING
* >> Início da exclusão: FORM ACESSA_T001
bukrs = itab_zycbt134_arq-bukrs
* << Fim da exclusão
* >> Início da inclusão: FORM ACESSA_T001
bukrs = itab_zycbt134_arq-bukrs
* << Fim da inclusão
IMPORTING
* >> Início da exclusão: FORM ACESSA_T001
branch = v_branch.
* << Fim da exclusão
* >> Início da inclusão: FORM ACESSA_T001
branch = v_branch.
* << Fim da inclusão
IF sy-subrc = 0.
SELECT SINGLE bukrs branch adrnr
FROM j_1bbranch
INTO CORRESPONDING FIELDS OF wa_j_1bbranch
WHERE bukrs = itab_zycbt134_arq-bukrs
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_header_arq TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM GRAVA_HEADER_ARQUIVO
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_header_arq
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_HEADER_ARQUIVO
v_chamada = 'wa_header_arq_25'.
wa_header_arq_25 = itab_header_arq.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_header_arq_25 TO MEMORY ID 'GEN014',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_saida.
CLEAR itab_header_arq.
ENDIF.
ENDFORM.
FORM grava_header_lote.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_header_lote TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM GRAVA_HEADER_LOTE
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_header_lote
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_HEADER_LOTE
v_chamada = 'wa_header_lote_25'.
wa_header_lote_25 = itab_header_lote.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_header_lote_25 TO MEMORY ID 'GEN015',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_saida.
ENDIF.
ENDIF.
ENDFORM.
FORM grava_detalhe_a.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2). ' TO t_prog.
ELSE.
APPEND ' MOVE itab_detalhe_a TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM GRAVA_DETALHE_A
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_detalhe_a
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_DETALHE_A
v_chamada = 'wa_detalhe_a_25'.
wa_detalhe_a_25 = itab_detalhe_a.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_detalhe_a_25 TO MEMORY ID 'GEN016',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND: wa_saida TO itab_saida.
APPEND: itab_detalhe_a.
CLEAR itab_detalhe_a.
ENDIF.
MOVE-CORRESPONDING itab_zycbt134_arq2 TO itab_zycbt134_aux.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2). ' TO t_prog.
ELSE.
APPEND ' MOVE itab_detalhe_b TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM GRAVA_DETALHE_B
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_detalhe_b
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_DETALHE_B
v_chamada = 'wa_detalhe_b_25'.
wa_detalhe_b_25 = itab_detalhe_b.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_detalhe_b_25 TO MEMORY ID 'GEN017',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_saida.
CLEAR itab_detalhe_b.
ENDIF.
ENDFORM.
FORM grava_detalhe_c.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2). ' TO t_prog.
ELSE.
APPEND ' MOVE itab_detalhe_c TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM GRAVA_DETALHE_C
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_detalhe_c
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_DETALHE_C
v_chamada = 'wa_detalhe_c_25'.
wa_detalhe_c_25 = itab_detalhe_c.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_detalhe_c_25 TO MEMORY ID 'GEN018',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_saida.
CLEAR itab_detalhe_c.
ENDIF.
ENDFORM.
FORM grava_trailer_lote.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2). ' TO t_prog.
ELSE.
APPEND ' MOVE itab_trailer_lote TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM GRAVA_TRAILER_LOTE
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_trailer_lote
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TRAILER_LOTE
v_chamada = 'wa_trailer_lote_25'.
wa_trailer_lote_25 = itab_trailer_lote.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_trailer_lote_25 TO MEMORY ID 'GEN019',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_saida.
ENDIF.
ADD 1 TO itab_trailer_arq-qtdlotearq.
CLEAR v_cont_lote.
ENDFORM.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2). ' TO t_prog.
ELSE.
APPEND ' MOVE itab_trailer_arq TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM GRAVA_TRAILER_ARQUIVO
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_trailer_arq
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TRAILER_ARQUIVO
v_chamada = 'wa_trailer_arq_25'.
wa_trailer_arq_25 = itab_trailer_arq.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_trailer_arq_25 TO MEMORY ID 'GEN020',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_saida.
CLEAR itab_trailer_arq.
ENDIF.
ENDFORM.
FORM acessa_zyglt355.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYGLR026
...
v_cod_lote(4) TYPE n,
v_exit(1) TYPE c,
v_arquivo TYPE string.
DATA: t_prog(72) TYPE c OCCURS 1000 WITH HEADER LINE,
w_prog LIKE trdir-name.
* >> Início da inclusão:
DATA: v_chamada(50) TYPE c,
wa_header_arq_26 LIKE itab_header_arq,
wa_header_lote_26 LIKE itab_header_lote,
wa_det_segto_a_341_26 LIKE itab_det_segto_a_341,
wa_det_segto_a_n341_26 LIKE itab_det_segto_a_n341,
wa_det_segto_b_26 LIKE itab_det_segto_b,
wa_trailer_lote_26 LIKE itab_trailer_lote,
wa_trailer_arq_26 LIKE itab_trailer_arq.
* << Fim da inclusão
TYPE-POOLS: sydes.
DATA: t_sydes TYPE sydes_desc,
wa_types TYPE sydes_typeinfo,
v_len TYPE i.
DATA: wa_j_1bbranch LIKE j_1bbranch.
...
...
itab_zycbt134_arq-j_1bbranch = 'SP01'.
ENDIF.
ENDIF.
CALL FUNCTION 'J_1BREAD_CGC_COMPANY'
EXPORTING
* >> Início da exclusão: FORM ACESSA_T001
bukrs = itab_zycbt134_arq-bukrs
* << Fim da exclusão
* >> Início da inclusão: FORM ACESSA_T001
bukrs = itab_zycbt134_arq-bukrs
* << Fim da inclusão
IMPORTING
* >> Início da exclusão: FORM ACESSA_T001
branch = v_branch.
* << Fim da exclusão
* >> Início da inclusão: FORM ACESSA_T001
branch = v_branch.
* << Fim da inclusão
IF sy-subrc = 0.
SELECT SINGLE bukrs branch adrnr
FROM j_1bbranch
INTO CORRESPONDING FIELDS OF wa_j_1bbranch
WHERE bukrs = itab_zycbt134_arq-bukrs
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_header_arq TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_HEADER_DE_ARQUIVO
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_header_arq
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_HEADER_DE_ARQUIVO
v_chamada = 'wa_header_arq_26'.
wa_header_arq_26 = itab_header_arq.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_header_arq_26 TO MEMORY ID 'GEN003',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_final.
ENDIF.
ENDFORM.
FORM monta_header_de_lote.
v_tot_hl = c_1.
...
...
APPEND 'MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND 'MOVE itab_header_lote TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da inclusão: FORM MONTA_HEADER_DE_LOTE
v_chamada = 'wa_header_lote_26'.
wa_header_lote_26 = itab_header_lote.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_header_lote_26 TO MEMORY ID 'GEN004',
v_chamada TO MEMORY ID 'GEN013'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_HEADER_DE_LOTE
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_header_lote
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_HEADER_DE_LOTE
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_final.
ENDIF.
ENDIF.
ENDFORM.
FORM monta_detalhe_segto_a.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_det_segto_a_341 TO wa_saida. ' TO t_prog.
ENDIF.
APPEND ' endform. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_det_segto_a_341
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
v_chamada = 'wa_det_segto_a_341_26'.
wa_det_segto_a_341_26 = itab_det_segto_a_341.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_a_341_26 TO MEMORY ID 'GEN005',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_final.
ENDIF.
CLEAR t_prog.
REFRESH t_prog.
APPEND 'report sy-repid. ' TO t_prog.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_det_segto_a_341 TO wa_saida. ' TO t_prog.
ENDIF.
APPEND ' endform. ' TO t_prog.
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
v_chamada = 'wa_det_segto_a_341_26'.
wa_det_segto_a_341_26 = itab_det_segto_a_341.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_a_341_26 TO MEMORY ID 'GEN005',
v_chamada TO MEMORY ID 'GEN013'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_det_segto_a_341
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_final_da.
APPEND itab_det_segto_a_341.
v_cod_lote = itab_det_segto_a_341-cod_lote.
CLEAR itab_det_segto_a_341.
ELSE.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_det_segto_a_n341 TO wa_saida. ' TO t_prog.
ENDIF.
APPEND ' endform. ' TO t_prog.
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
v_chamada = 'wa_det_segto_a_n341_26'.
wa_det_segto_a_n341_26 = itab_det_segto_a_n341.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_a_n341_26 TO MEMORY ID 'GEN006',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_det_segto_a_n341
IF FOUND.
ENDIF.
* << Fim da exclusão
APPEND wa_saida TO itab_final.
ENDIF.
CLEAR t_prog.
REFRESH t_prog.
APPEND ' report sy-repid. ' TO t_prog.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_det_segto_a_n341 TO wa_saida. ' TO t_prog.
ENDIF.
APPEND ' endform. ' TO t_prog.
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
v_chamada = 'wa_det_segto_a_n341_26'.
wa_det_segto_a_n341_26 = itab_det_segto_a_n341.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_a_n341_26 TO MEMORY ID 'GEN006',
v_chamada TO MEMORY ID 'GEN013'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_det_segto_a_n341
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND: wa_saida TO itab_final_da2,
itab_det_segto_a_n341.
CLEAR itab_det_segto_a_n341.
v_cod_lote = itab_det_segto_a_341-cod_lote.
ENDIF.
...
...
itab_det_segto_a_341_serv.
ELSE.
CLEAR t_prog.
REFRESH t_prog.
APPEND ' report sy-repid. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND ' form quebra_linha using itab_final ' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND ' form quebra_linha using wa_saida ' TO t_prog.
* << Fim da inclusão
APPEND ' itab_det_segto_a_n341.' TO t_prog.
IF sy-saprl(3) GE '620' OR sy-saprl(2) EQ '47'.
APPEND ' DATA: BEGIN OF binary_tab OCCURS 0, ' TO t_prog.
APPEND ' default(200) TYPE c, ' TO t_prog.
APPEND ' END OF binary_tab. ' TO t_prog.
...
...
SHIFT t_prog+8 RIGHT.
APPEND t_prog.
APPEND ' TABLES ' TO t_prog.
APPEND ' binary_tab = binary_tab. ' TO t_prog.
APPEND
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
'MOVE itab_det_segto_a_n341(240) TO itab_final(240).' TO t_prog.
APPEND ' MOVE binary_tab(2) TO itab_final+240(2).' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
'MOVE itab_det_segto_a_n341(240) TO wa_saida(240).' TO t_prog.
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND ' MOVE itab_det_segto_a_n341 TO itab_final. ' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND ' MOVE itab_det_segto_a_n341 TO wa_saida. ' TO t_prog.
* << Fim da inclusão
ENDIF.
APPEND ' endform. ' TO t_prog.
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
v_chamada = 'wa_det_segto_a_n341_26'.
wa_det_segto_a_n341_26 = itab_det_segto_a_n341.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_a_n341_26 TO MEMORY ID 'GEN006',
v_chamada TO MEMORY ID 'GEN013'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING itab_final
itab_det_segto_a_n341
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND itab_final.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND wa_saida TO itab_final.
* << Fim da inclusão
ENDIF.
CLEAR t_prog.
REFRESH t_prog.
APPEND ' report sy-repid. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND ' form quebra_linha using itab_final_da2 ' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND ' form quebra_linha using wa_saida ' TO t_prog.
* << Fim da inclusão
APPEND ' itab_det_segto_a_n341.' TO t_prog.
IF sy-saprl(3) GE '620' OR sy-saprl(2) EQ '47'.
APPEND ' DATA: BEGIN OF binary_tab OCCURS 0, ' TO t_prog.
APPEND ' default(200) TYPE c, ' TO t_prog.
APPEND ' END OF binary_tab. ' TO t_prog.
...
...
SHIFT t_prog+8 RIGHT.
APPEND t_prog.
APPEND ' TABLES ' TO t_prog.
APPEND ' binary_tab = binary_tab. ' TO t_prog.
APPEND
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
'MOVE itab_det_segto_a_n341(240) TO itab_final_da2(240).'
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
'MOVE itab_det_segto_a_n341(240) TO wa_saida(240).'
* << Fim da inclusão
TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND 'MOVE binary_tab(2) TO itab_final_da2+240(2).' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND 'MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
* << Fim da inclusão
ELSE.
APPEND
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
'MOVE itab_det_segto_a_n341 TO itab_final_da2.' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
'MOVE itab_det_segto_a_n341 TO wa_saida.' TO t_prog.
* << Fim da inclusão
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
v_chamada = 'wa_det_segto_a_n341_26'.
wa_det_segto_a_n341_26 = itab_det_segto_a_n341.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_a_n341_26 TO MEMORY ID 'GEN006',
v_chamada TO MEMORY ID 'GEN013'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING itab_final_da2
itab_det_segto_a_n341
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND itab_final_da2.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_A
APPEND wa_saida TO itab_final_da2.
* << Fim da inclusão
APPEND: itab_det_segto_a_341 TO itab_det_segto_a_341.
CLEAR itab_det_segto_a_n341.
v_cod_lote = itab_det_segto_a_341-cod_lote.
ENDIF.
ENDFORM.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
ELSE.
APPEND ' MOVE itab_det_segto_b TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
v_chamada = 'wa_det_segto_b_26'.
wa_det_segto_b_26 = itab_det_segto_b.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_b_26 TO MEMORY ID 'GEN007',
v_chamada TO MEMORY ID 'GEN013'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_B
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_det_segto_b
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_final.
ENDIF.
CLEAR t_prog.
REFRESH t_prog.
APPEND 'report sy-repid. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND 'form quebra_linha using itab_final_db ' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND 'form quebra_linha using wa_saida ' TO t_prog.
* << Fim da inclusão
APPEND ' itab_det_segto_b. ' TO t_prog.
IF sy-saprl(3) GE '620' OR sy-saprl(2) EQ '47'.
APPEND ' DATA: BEGIN OF binary_tab OCCURS 0, ' TO t_prog.
APPEND ' default(200) TYPE c, ' TO t_prog.
APPEND ' END OF binary_tab. ' TO t_prog.
...
...
INTO t_prog.
SHIFT t_prog+8 RIGHT.
APPEND t_prog.
APPEND ' TABLES ' TO t_prog.
APPEND ' binary_tab = binary_tab. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND ' MOVE itab_det_segto_b(240) TO itab_final_db(240). '
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND ' MOVE itab_det_segto_b(240) TO wa_saida(240). '
* << Fim da inclusão
TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND ' MOVE binary_tab(2) TO itab_final_db+240(2).' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2).' TO t_prog.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND ' MOVE itab_det_segto_b TO itab_final_db. ' TO t_prog.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND ' MOVE itab_det_segto_b TO wa_saida. ' TO t_prog.
* << Fim da inclusão
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_B
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING itab_final_db
itab_det_segto_b
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
v_chamada = 'wa_det_segto_b_26'.
wa_det_segto_b_26 = itab_det_segto_b.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_det_segto_b_26 TO MEMORY ID 'GEN007',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
* >> Início da exclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND itab_final_db.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_DETALHE_SEGTO_B
APPEND wa_saida TO itab_final_db.
* << Fim da inclusão
ENDFORM.
FORM monta_trailer_de_lote.
v_tot_tl = c_1.
ADD 1 TO itab_trailer_lote-cod_lote.
DESCRIBE TABLE: itab_final_da LINES v_tot_da,
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2). ' TO t_prog.
ELSE.
APPEND ' MOVE itab_trailer_lote TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_TRAILER_DE_LOTE
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_trailer_lote
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_TRAILER_DE_LOTE
v_chamada = 'wa_trailer_lote_26'.
wa_trailer_lote_26 = itab_trailer_lote.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_trailer_lote_26 TO MEMORY ID 'GEN008',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_final.
ENDIF.
CLEAR v_tot_pagto.
ADD 1 TO itab_trailer_arq-total_qtd_lotes.
ENDFORM.
...
...
APPEND ' MOVE binary_tab(2) TO wa_saida+240(2). ' TO t_prog.
ELSE.
APPEND ' MOVE itab_trailer_arq TO wa_saida. ' TO t_prog.
ENDIF.
APPEND 'endform. ' TO t_prog.
* >> Início da exclusão: FORM MONTA_TRAILER_DE_ARQUIVO
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
itab_trailer_arq
IF FOUND.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_TRAILER_DE_ARQUIVO
v_chamada = 'wa_trailer_arq_26'.
wa_trailer_arq_26 = itab_trailer_arq.
EXPORT: t_prog TO MEMORY ID 'GEN001',
wa_trailer_arq_26 TO MEMORY ID 'GEN009',
v_chamada TO MEMORY ID 'GEN013'.
SUBMIT /pws/zyglr039 AND RETURN.
IMPORT: wa_saida FROM MEMORY ID 'GEN002'.
* << Fim da inclusão
APPEND wa_saida TO itab_final.
ENDIF.
ENDFORM.
FORM acessa_zyglt358.
SELECT *
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYGLR039
* >> Início da inclusão
*----------------------------------------------------------------------
* PROCWORK SOFTWARE
* Produto : pw.CE - Câmbio
* Módulo :
* Descrição : GL - Execução do Generate - Programa utilizado para
* geração do arquivo eletrônico onde é executado mais de 36
* vezes o comando generate e gera dump. A forma encontrada
* para zerar a memória intermediária é saindo da transação
* que efetuou o generate.
* Help Desk : 11-5504-0270
*----------------------------------------------------------------------
* ESTE PROGRAMA NÃO DEVE SER ALTERADO SEM PRÉVIA CONSULTA
*----------------------------------------------------------------------
* Nome Data Descrição
* 332471 27.09.2006 Codificação Inicial
*----------------------------------------------------------------------
REPORT /pws/zyglr039.
* Tabela Internas
DATA: BEGIN OF itab_saida OCCURS 0,
campo(242) TYPE c,
END OF itab_saida.
DATA: wa_saida LIKE itab_saida.
DATA: t_prog(72) TYPE c OCCURS 1000 WITH HEADER LINE,
w_prog LIKE trdir-name,
v_chamada(50) TYPE c.
* Febraban--------------------------------------------------------------
DATA: BEGIN OF itab_header_arq_25 OCCURS 0,
banco(03) TYPE n, "Campo01.0
lote(04) TYPE n VALUE '0000', "Campo02.0
registro(01) TYPE n VALUE '0', "Campo03.0
cnab1(09) TYPE c VALUE space, "Campo04.0
instipo(01) TYPE n VALUE '2', "Campo05.0
insnume(14) TYPE n, "Campo06.0
convenio(20) TYPE c, "Campo07.0
agencimaco(05) TYPE n, "Campo08.0
dvagenci(01) TYPE c, "Campo09.0
nccorrente(12) TYPE n, "Campo10.0
dvconta(01) TYPE c, "Campo11.0
dvagenconta(01) TYPE c VALUE space, "Campo12.0
nomeempresa(30) TYPE c, "Campo13.0
nomebanco(30) TYPE c, "Campo14.0
cnab2(10) TYPE c VALUE space, "Campo15.0
codremreto(01) TYPE n VALUE '1', "Campo16.0
dtgeraarq(08) TYPE n, "Campo17.0
horgerarq(06) TYPE n, "Campo18.0
numseqarq(06) TYPE n, "Campo19.0
nuverlayarq(03) TYPE n, "Campo20.0
densgravarq(05) TYPE n VALUE 0, "Campo21.0
reservbanco(20) TYPE c VALUE space, "Campo22.0
reservempre(20) TYPE c VALUE space, "Campo23.0
cnab3(29) TYPE c VALUE space, "Campo24.0
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_header_arq_25.
DATA: BEGIN OF itab_header_lote_25 OCCURS 0,
banco(03) TYPE n, "Campo01.1
lote(04) TYPE n, "Campo02.1
tpregis(01) TYPE c VALUE '1', "Campo03.1
tpopera(01) TYPE c VALUE 'C', "Campo04.1
tpservico(02) TYPE n VALUE '20', "Campo05.1
forlanca(02) TYPE n, "Campo06.1
nuverlaylot(3) TYPE n,
"like /pws/zyglt355-versaolote, "campo07.1
cnab1(01) TYPE c VALUE space, "Campo08.1
instipo(01) TYPE n VALUE '2', "Campo09.1
insnume(14) TYPE n, "Campo10.1
convenio(20) TYPE c, "Campo11.1
agencimaco(05) TYPE n, "Campo12.1
dvagenci(01) TYPE c, "Campo13.1
nccorrente(12) TYPE n, "Campo14.1
dvconta(01) TYPE c, "Campo15.1
dvagenconta(01) TYPE c VALUE space, "Campo16.1
nomeempresa(30) TYPE c, "Campo17.1
mensagem(40) TYPE c VALUE space, "Campo18.1
nomerua(30) TYPE c, "Campo19.1
numlocal(05) TYPE n, "Campo20.1
casaapsala(15) TYPE c VALUE space, "Campo21.1
nomecidade(20) TYPE c, "Campo22.1
cep(05) TYPE n, "Campo23.1
complcep(03) TYPE c, "Campo24.1
siglaestado(02) TYPE c VALUE space, "Campo25.1
cnab2(08) TYPE c VALUE space, "Campo26.1
ocorrencias(10) TYPE c VALUE space, "Campo27.1
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_header_lote_25.
DATA: BEGIN OF itab_detalhe_a_25 OCCURS 0,
banco(03) TYPE n, "Campo01.3A
lote(04) TYPE n VALUE '0001', "Campo02.3A
tpregis(01) TYPE n VALUE '3', "Campo03.3A
nseqreglote(05) TYPE n, "Campo04.3A
codsegredet(01) TYPE c VALUE 'A', "Campo05.3A
tpmovto(01) TYPE n VALUE 0, "Campo06.3A
codinstmovt(02) TYPE n VALUE 0, "Campo07.3A
codcamacent(03) TYPE n, "Campo08.3A
codbcofavor(03) TYPE n, "Campo09.3A
agencimaco(05) TYPE n, "Campo10.3A
dvagenci(01) TYPE c, "Campo11.3A
nccorrente(12) TYPE n, "Campo12.3A
dvconta(01) TYPE c, "Campo13.3A
dvagenconta(01) TYPE c, "Campo14.3A
nomefavore(30) TYPE c, "Campo15.3A
nudocatremp(20) TYPE c, "Campo16.3A
dtpagto(08) TYPE n, "Campo17.3A
tpmoeda(03) TYPE c, "Campo18.3A
qtdmoeda(15) TYPE n, "Campo19.3A
vlrpagto(15) TYPE c, "Campo20.3A
nudocatrbco(20) TYPE c, "Campo21.3A
dtrealefpag(08) TYPE n VALUE '00000000', "Campo22.3A
vlrrealefpg(15) TYPE n, "Campo23.3A
informacao(40) TYPE c VALUE space, "Campo24.3A
compltpserv(02) TYPE c VALUE space, "Campo25.3A
cnab1(10) TYPE c VALUE space, "Campo26.3A
aviso(01) TYPE n, "Campo27.3A
ocorrencias(10) TYPE c VALUE space, "Campo28.3A
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_detalhe_a_25.
DATA: BEGIN OF itab_detalhe_b_25 OCCURS 0,
banco(03) TYPE n, "Campo01.3B
lote(04) TYPE n VALUE '0001', "Campo02.3B
tpregis(01) TYPE n VALUE '3', "Campo03.3B
nseqreglote(05) TYPE n, "Campo04.3B
codsegredet(01) TYPE c VALUE 'B', "Campo05.3B
cnab1(03) TYPE c VALUE space, "Campo06.3B
tpinscfavor(01) TYPE n, "Campo07.3B
nuinscfavor(14) TYPE n, "Campo08.3B
nomerua(30) TYPE c, "Campo09.3B
numlocal(05) TYPE n, "Campo10.3B
casaapsala(15) TYPE c VALUE space, "Campo11.3B
bairro(15) TYPE c, "Campo12.3B
nomecidade(20) TYPE c, "Campo13.3B
cep(05) TYPE n, "Campo14.3B
complcep(03) TYPE c, "Campo15.3B
siglaestado(02) TYPE c, "Campo16.3B
dtvcmtonomi(08) TYPE n, "Campo17.3B
vlrdoctonom(15) TYPE c, "Campo18.3B
vlrabatimto(15) TYPE n, "Campo19.3B
vlrdesconto(15) TYPE n, "Campo20.3B
vlrmora(15) TYPE n, "Campo21.3B
vlrmulta(15) TYPE n, "Campo22.3B
coddocfavor(15) TYPE c VALUE space, "Campo23.3B
cnab2(15) TYPE c VALUE space, "Campo24.3B
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_detalhe_b_25.
DATA: BEGIN OF itab_detalhe_c_25 OCCURS 0,
banco(03) TYPE n, "Campo01.3C
lote(04) TYPE n VALUE '0001', "Campo02.3C
tpregis(01) TYPE n VALUE '3', "Campo03.3C
nseqreglote(05) TYPE n, "Campo04.3C
codsegredet(01) TYPE c VALUE 'C', "Campo05.3C
cnab1(03) TYPE c VALUE space, "Campo06.3C
vlrir(15) TYPE n, "Campo07.3C
vlriss(15) TYPE n, "Campo08.3C
vlriof(15) TYPE n, "Campo09.3C
vlroutded(15) TYPE n, "Campo10.3C
vlroutacr(15) TYPE n, "Campo11.3C
agefavore(05) TYPE n VALUE '00000', "Campo12.3C
dvagencia(01) TYPE c VALUE space, "Campo13.3C
nccorrente(12) TYPE n VALUE '000000000000', "Campo14.3C
dvconta(01) TYPE c VALUE space, "Campo15.3C
dvagenconta(01) TYPE c VALUE space, "Campo16.3C
vlrinss(15) TYPE n, "Campo17.3C
cnab2(113) TYPE c VALUE space, "Campo18.3C
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_detalhe_c_25.
DATA: BEGIN OF itab_trailer_lote_25 OCCURS 0,
banco(03) TYPE n, "Campo01.5
lote(04) TYPE n, "Campo02.5
tpregis(01) TYPE n VALUE '5', "Campo03.5
cnab1(09) TYPE c, "Campo04.5
qtdreglote(06) TYPE n, "Campo05.5
somavalores(18) TYPE c, "Campo06.5
somaqtmoeda(18) TYPE n, "Campo07.5
numavisodeb(06) TYPE c, "Campo08.5
cnab2(165) TYPE c VALUE space, "Campo09.5
ocorrencias(10) TYPE c VALUE space, "Campo10.5
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_trailer_lote_25.
DATA: BEGIN OF itab_trailer_arq_25 OCCURS 0,
banco(03) TYPE n, "Campo01.9
lote(04) TYPE n VALUE '9999', "Campo02.9
tpregis(01) TYPE c VALUE '9', "Campo03.9
cnab1(09) TYPE c VALUE space, "Campo04.9
qtdlotearq(06) TYPE n, "Campo05.9
qtdregarq(06) TYPE n, "Campo06.9
qtdcontconc(06) TYPE n VALUE 0, "Campo07.9
cnab2(205) TYPE c VALUE space, "Campo08.9
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_trailer_arq_25.
* Itaú------------------------------------------------------------------
DATA: BEGIN OF itab_header_arq_26 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
layout_arq(3) TYPE n, " VALUE '050', "Campo5
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
num_arq(9) TYPE n, "Campo20
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_26.
DATA: BEGIN OF itab_header_lote_26 OCCURS 0,
cod_banco(3) TYPE n VALUE '341', "Campo23
cod_lote(4) TYPE n, "Campo24
tipo_reg(1) TYPE n VALUE '1', "Campo25
tipo_operac(1) TYPE c VALUE 'C', "Campo26
tipo_pagto(2) TYPE n VALUE '20', "Campo27
forma_pagto(2) TYPE n, "Campo28
layout_lote(3) TYPE n, "LIKE /pws/zyglt355-versaolote,
"campo29
brancos(1) TYPE c, "Campo30
emp_inscr(1) TYPE n VALUE '2', "Campo31
inscr_num(14) TYPE n, "Campo32
brancos2(20) TYPE c, "Campo33
agencia(5) TYPE n, "Campo34
brancos3(1) TYPE c, "Campo35
conta(12) TYPE n, "Campo36
brancos4(1) TYPE c, "Campo37
dac(1) TYPE c, "Campo38
nome_emp(30) TYPE c, "Campo39
final_lote(30) TYPE c, "Campo40
historic_cc(10) TYPE c, "Campo41
end_empresa(30) TYPE c, "Campo42
numero(5) TYPE n, "Campo43
complemento(15) TYPE c, "Campo44
cidade(20) TYPE c, "Campo45
cep(8) TYPE n, "Campo46
estado(2) TYPE c, "Campo47
brancos5(8) TYPE c, "Campo48
ocorrencias(10) TYPE c VALUE space, "Campo49
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_header_lote_26.
DATA: BEGIN OF itab_det_segto_a_341_26 OCCURS 0,
cod_banco(3) TYPE n VALUE '341', "Campo50
cod_lote(4) TYPE n, "Campo51
tipo_reg(1) TYPE n VALUE '3', "Campo52
numero_reg(5) TYPE n, "Campo53
segmento(1) TYPE c VALUE 'A', "Campo54
tipo_movto(3) TYPE n VALUE '003', "Campo55
zeros(3) TYPE n, "Campo56
bco_favorec(3) TYPE n, "Campo57
zeros3(1) TYPE n, "Campo58
agencia(4) TYPE n, "Campo58
brancos4(1) TYPE c, "Campo58
zeros4(7) TYPE n, "Campo58
conta(5) TYPE n, "Campo58
brancos5(1) TYPE c, "Campo58
dac(1) TYPE c, "Campo58
nm_favorec(30) TYPE c, "Campo59
seu_numero(20) TYPE c, "Campo60
data_pagto(8) TYPE n, "Campo61
moeda_tipo(3) TYPE c, "Campo62
zeros2(15) TYPE n, "Campo63
valor_pagto(15) TYPE n, "Campo64
nosso_numer(15) TYPE c, "Campo65
brancos(5) TYPE c, "Campo66
data_efetiva(8) TYPE n, "Campo67
vl_efetivo(15) TYPE n, "Campo68
fin_detalhe(18) TYPE c, "Campo69
brancos2(2) TYPE c, "Campo70
numero_docto(6) TYPE c, "Campo71
numero_insc(14) TYPE n, "Campo72
brancos3(12) TYPE c, "Campo73
aviso(1) TYPE c, "Campo74
ocorrencias(10) TYPE c VALUE space, "Campo75
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_det_segto_a_341_26.
DATA: BEGIN OF itab_det_segto_a_n341_26 OCCURS 0,
cod_banco(3) TYPE n VALUE '341', "Campo50
cod_lote(4) TYPE n, "Campo51
tipo_reg(1) TYPE n VALUE '3', "Campo52
numero_reg(5) TYPE n, "Campo53
segmento(1) TYPE c VALUE 'A', "Campo54
tipo_movto(3) TYPE n, "Campo55
zeros(3) TYPE n, "Campo56
bco_favorec(3) TYPE n, "Campo57
agencia(5) TYPE n, "Campo58
brancos4(1) TYPE c, "Campo58
conta(12) TYPE n, "Campo58
brancos5(1) TYPE c, "Campo58
dac(1) TYPE c, "Campo58
nm_favorec(30) TYPE c, "Campo59
seu_numero(20) TYPE c, "Campo60
data_pagto(8) TYPE n, "Campo61
moeda_tipo(3) TYPE c, "Campo62
zeros2(15) TYPE n, "Campo63
valor_pagto(15) TYPE n, "Campo64
nosso_numer(15) TYPE c, "Campo65
brancos(5) TYPE c, "Campo66
data_efetiva(8) TYPE n, "Campo67
vl_efetivo(15) TYPE n, "Campo68
fin_detalhe(18) TYPE c, "Campo69
brancos2(2) TYPE c, "Campo70
numero_docto(6) TYPE c, "Campo71
numero_insc(14) TYPE n, "Campo72
brancos3(12) TYPE c, "Campo73
aviso(1) TYPE c, "Campo74
ocorrencias(10) TYPE c VALUE space, "Campo75
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_det_segto_a_n341_26.
DATA: BEGIN OF itab_det_segto_b_26 OCCURS 0,
cod_banco(3) TYPE n VALUE '341', "Campo76
cod_lote(4) TYPE n, "Campo77
tipo_reg(1) TYPE n VALUE '3', "Campo78
numero_reg(5) TYPE n, "Campo79
cod_segto(1) TYPE c VALUE 'B', "Campo80
brancos(3) TYPE c, "Campo81
emp_inscr(1) TYPE n, "Campo82
numero_insc(14) TYPE n, "Campo83
endereco(30) TYPE c, "Campo84
numero(5) TYPE n, "Campo85
complemento(15) TYPE c, "Campo86
bairro(15) TYPE c, "Campo87
cidade(20) TYPE c, "Campo88
cep(8) TYPE n, "Campo89
estado(2) TYPE c, "Campo90
brancos1(113) TYPE c VALUE space, "Campo91
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_det_segto_b_26.
DATA: BEGIN OF itab_trailer_lote_26 OCCURS 0,
cod_banco(3) TYPE n VALUE '341', "Campo92
cod_lote(4) TYPE n, "Campo93
tipo_reg(1) TYPE n VALUE '5', "Campo94
brancos(9) TYPE c, "Campo95
total_qtd_reg(6) TYPE n, "Campo96
total_vl_pagto(18) TYPE n, "Campo97
zeros(18) TYPE n, "Campo98
brancos2(171) TYPE c, "Campo99
ocorrencias(10) TYPE c VALUE space, "Campo100
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_trailer_lote_26.
DATA: BEGIN OF itab_trailer_arq_26 OCCURS 0,
cod_banco(3) TYPE n VALUE '341', "Campo101
cod_lote(4) TYPE n VALUE '9999', "Campo102
tipo_reg(1) TYPE n VALUE '9', "Campo103
brancos(9) TYPE c, "Campo104
total_qtd_lotes(6) TYPE n, "Campo105
total_qtd_reg(6) TYPE n, "Campo106
brancos2(211) TYPE c VALUE space, "Campo107
del_regs(2) TYPE x, " Delimitador de Registro
END OF itab_trailer_arq_26.
data: wa_header_arq_26 LIKE itab_header_arq_26,
wa_header_lote_26 LIKE itab_header_lote_26,
wa_det_segto_a_341_26 LIKE itab_det_segto_a_341_26,
wa_det_segto_a_n341_26 LIKE itab_det_segto_a_n341_26,
wa_det_segto_b_26 LIKE itab_det_segto_b_26,
wa_trailer_lote_26 LIKE itab_trailer_lote_26,
wa_trailer_arq_26 LIKE itab_trailer_arq_26,
wa_header_arq_25 LIKE itab_header_arq_25,
wa_header_lote_25 LIKE itab_header_lote_25,
wa_detalhe_a_25 LIKE itab_detalhe_a_25,
wa_detalhe_b_25 LIKE itab_detalhe_b_25,
wa_detalhe_c_25 LIKE itab_detalhe_c_25,
wa_trailer_lote_25 LIKE itab_trailer_lote_25,
wa_trailer_arq_25 LIKE itab_trailer_arq_25.
* Importa dados
IMPORT: t_prog FROM MEMORY ID 'GEN001',
wa_header_arq_26 FROM MEMORY ID 'GEN003',
wa_header_lote_26 FROM MEMORY ID 'GEN004',
wa_det_segto_a_341_26 FROM MEMORY ID 'GEN005',
wa_det_segto_a_n341_26 FROM MEMORY ID 'GEN006',
wa_det_segto_b_26 FROM MEMORY ID 'GEN007',
wa_trailer_lote_26 FROM MEMORY ID 'GEN008',
wa_trailer_arq_26 FROM MEMORY ID 'GEN009',
v_chamada FROM MEMORY ID 'GEN013',
wa_header_arq_25 FROM MEMORY ID 'GEN014',
wa_header_lote_25 FROM MEMORY ID 'GEN015',
wa_detalhe_a_25 FROM MEMORY ID 'GEN016',
wa_detalhe_b_25 FROM MEMORY ID 'GEN017',
wa_detalhe_c_25 FROM MEMORY ID 'GEN018',
wa_trailer_lote_25 FROM MEMORY ID 'GEN019',
wa_trailer_arq_25 FROM MEMORY ID 'GEN020'.
* Executa form¿s dinâmicos, de acordo com chamada dos programas de
* arquivo eletrônico
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
* Febraban--------------------------------------------------------------
IF v_chamada = 'wa_header_arq_25'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_header_arq_25
IF FOUND.
ELSEIF v_chamada = 'wa_header_lote_25'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_header_lote_25
IF FOUND.
ELSEIF v_chamada = 'wa_detalhe_a_25'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_detalhe_a_25
IF FOUND.
ELSEIF v_chamada = 'wa_detalhe_b_25'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_detalhe_b_25
IF FOUND.
ELSEIF v_chamada = 'wa_detalhe_c_25'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_detalhe_c_25
IF FOUND.
ELSEIF v_chamada = 'wa_trailer_lote_25'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_trailer_lote_25
IF FOUND.
ELSEIF v_chamada = 'wa_trailer_arq_25'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_trailer_arq_25
IF FOUND.
* Itaú------------------------------------------------------------------
ELSEIF v_chamada = 'wa_header_arq_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_header_arq_26
IF FOUND.
ELSEIF v_chamada = 'wa_header_lote_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_header_lote_26
IF FOUND.
ELSEIF v_chamada = 'wa_det_segto_a_341_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_det_segto_a_341_26
IF FOUND.
ELSEIF v_chamada = 'wa_det_segto_a_n341_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_det_segto_a_n341_26
IF FOUND.
ELSEIF v_chamada = 'wa_det_segto_a_n341_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_det_segto_a_n341_26
IF FOUND.
ELSEIF v_chamada = 'wa_det_segto_a_n341_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_det_segto_a_n341_26
IF FOUND.
ELSEIF v_chamada = 'wa_det_segto_b_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_det_segto_b_26
IF FOUND.
ELSEIF v_chamada = 'wa_trailer_lote_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_trailer_lote_26
IF FOUND.
ELSEIF v_chamada = 'wa_trailer_arq_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_trailer_arq_26
IF FOUND.
ELSEIF v_chamada = 'wa_det_segto_b_26'.
PERFORM quebra_linha IN PROGRAM (w_prog) USING wa_saida
wa_det_segto_b_26
IF FOUND.
ENDIF.
ENDIF.
* Exporta dados atualizados
EXPORT: wa_saida TO MEMORY ID 'GEN002'.
*Abandona programa para zerar memória intermediária do generate
LEAVE PROGRAM.
* >> Fim da inclusão
* >> Fim da inclusão
* >> Fim da inclusão
* >> Fim da inclusão