Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Remessa
Data/Hora da Publicação: 08/05/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 13:22:43
Descrição da Nota: REMESSA - GRAVAÇÃO DOS DADOS - TRATAMENTO ALTERAÇÕES
Sintoma
Se crio uma remessa financeira com impostos, quando vou salvar a remessa e o programa encontra
alguma inconsistência, como por exemplo: não informamos o centro de custo para o caso de uma
remessa que exija centro de custo. Quando dá algum erro na hora da gravação o sistema retorna
para a tela inicial da remessa porém perde os valores dos impostos.
Solução
Ao salvar a remessa deverão ser gravados os dados do Principal(/pws/zycbt124) e dos impostos
(/pws/zycat025 e /pws/zycbt141), independente de algum erro no BI. Para cada imposto e para o
principal haverá uma variável de controle de erro no BI, onde se houver erro não grava os dados para
o mesmo. No caso dos dados da pasta contabilização, quando houver alguma alteração nos dados do
Principal atualiza os dados de todos impostos. Quando houver alteração no valor de algum imposto, os
dados da pasta contabilização serão atualizados somente para este imposto.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01292 Data: 08/05/2006 Hora: 16:21:16
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01292
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00113
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01231 - 00001 - 6.0 - 00023 - REMESSA - IMPOSTOS NOVOS
----------------------------------------------------------------------------------------------------
REMESSA - GRAVAÇÃO DOS DADOS - TRATAMENTO ALTERAÇÕES
----------------------------------------------------------------------------------------------------
Palavras Chave:
REMESSA GRAVAÇÃO DOS DADOS IMPOSTOS TRATAMENTO ALTERAÇÕES
ERRO BI RECONTABILIZAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA109F01
REPS /PWS/MZYCA109I01
REPS /PWS/MZYCA109TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109F01
...
CALL SCREEN 0500 STARTING AT 26 3 ENDING AT 80 15.
ENDIF.
ENDCASE.
ENDFORM.
FORM salvar_dados.
* >> Início da exclusão: FORM SALVAR_DADOS
CLEAR erro_bi.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS
CLEAR: erro_bi_principal, erro_bi_irrf, erro_bi_cide, erro_bi_pis,
erro_bi_cofins, erro_bi_iof, erro_bi_iss.
* << Fim da inclusão
imp = 1.
save = 1.
READ TABLE itab_zyglt209_aux INDEX 1.
READ TABLE itab_zyglt209 INDEX 1.
CLEAR itab_zycbt141.
REFRESH itab_zycbt141.
PERFORM: verifica_parcelas_principal,
verifica_parcelas_imposto.
* >> Início da exclusão: FORM SALVAR_DADOS
CHECK erro_bi IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS
CHECK erro_bi_principal IS INITIAL AND
erro_bi_irrf IS INITIAL AND
erro_bi_cide IS INITIAL AND
erro_bi_pis IS INITIAL AND
erro_bi_cofins IS INITIAL AND
erro_bi_iof IS INITIAL AND
erro_bi_iss IS INITIAL.
* << Fim da inclusão
IF /pws/zycbe124 EQ wa_zycbt124 AND
/pws/zycbe115 EQ wa_zycbt115 AND
/pws/zycbe127 EQ wa_zycbt127 AND
itab_zyglt209[] EQ itab_zyglt209_aux[] AND
/pws/zygle209-bcofav EQ itab_zyglt209-bcofav AND
...
...
/pws/zycbe124-ftaxa = 'M'.
ENDIF.
PERFORM consiste_valores.
IF w_vlr = 'S'.
PERFORM altera_dados.
* >> Início da exclusão: FORM SALVAR_DADOS
CHECK erro_bi IS INITIAL.
IF v_trans = 'I'.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS
IF v_trans = 'I' AND
erro_bi_principal IS INITIAL AND
erro_bi_irrf IS INITIAL AND
erro_bi_cide IS INITIAL AND
erro_bi_pis IS INITIAL AND
erro_bi_cofins IS INITIAL AND
erro_bi_iss IS INITIAL AND
erro_bi_iof IS INITIAL.
* << Fim da inclusão
CLEAR: /pws/zycbe124, /pws/zycbe127, wa_zycbt124, wa_zycbt127,
/pws/zycbe115, wa_zycbt115.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM SALVAR_DADOS
PERFORM salva_dados_imposto.
* << Fim da exclusão
ENDFORM.
FORM excluir_dados.
DATA: v_resp.
SELECT * FROM /pws/zycbt118 INTO TABLE itab_zycbt118
WHERE nrref = v_nrseq
...
...
LOOP AT itab_zycat025_aux WHERE NOT belnr_pr IS initial.
EXIT.
ENDLOOP.
IF NOT /pws/zycbe124-belnr IS INITIAL OR
sy-subrc = 0.
* >> Início da exclusão: FORM EXCLUIR_DADOS
CLEAR erro_bi.
* << Fim da exclusão
* >> Início da inclusão: FORM EXCLUIR_DADOS
CLEAR: erro_bi_principal, erro_bi_irrf, erro_bi_cide,
erro_bi_pis, erro_bi_cofins, erro_bi_iof, erro_bi_iss.
* << Fim da inclusão
PERFORM efetua_estorno.
ENDIF.
* >> Início da exclusão: FORM EXCLUIR_DADOS
CHECK erro_bi IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM EXCLUIR_DADOS
CHECK erro_bi_principal IS INITIAL AND
erro_bi_irrf IS INITIAL AND
erro_bi_cide IS INITIAL AND
erro_bi_pis IS INITIAL AND
erro_bi_cofins IS INITIAL AND
erro_bi_iof IS INITIAL AND
erro_bi_iss IS INITIAL.
* << Fim da inclusão
PERFORM exclui_despesas.
DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycbe124-nrseq.
IF sy-subrc = 0.
DELETE /pws/zycbt127 FROM wa_zycbt127.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq.
...
...
WHILE sy-subrc NE 0.
PERFORM verifica_sequencial.
INSERT INTO /pws/zycbt124 VALUES /pws/zycbe124.
v_existe = 'S'.
ENDWHILE.
* >> Início da inclusão: FORM ALTERA_DADOS
/pws/zycbt115-nrcorrep = /pws/zycbe124-nrseq.
/pws/zycbt115-rof = /pws/zycbe115-rof.
/pws/zycbt115-dtrof = /pws/zycbe124-dtrof.
/pws/zycbt115-tpdoc = 'N'.
MODIFY /pws/zycbt115.
IF /pws/zycbe127 <> wa_zycbt127.
/pws/zycbe127-waers = /pws/zycbe124-waers.
/pws/zycbe127-nrseq = /pws/zycbe124-nrseq.
/pws/zycbe127-nrfech = /pws/zycbe124-nrfech.
MODIFY /pws/zycbt127 FROM /pws/zycbe127.
ENDIF.
* << Fim da inclusão
IF v_existe = 'S'.
MESSAGE i061 WITH text-019 /pws/zycbe124-nrfech
text-020 /pws/zycbe124-nrseq.
v_nrseq = /pws/zycbe124-nrseq.
LOOP AT itab_zycat025.
...
...
MODIFY itab_zycat025 INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zycbt141.
itab_zycbt141-nrseq = /pws/zycbe124-nrseq.
MODIFY itab_zycbt141 INDEX sy-tabix.
* >> Início da inclusão: FORM ALTERA_DADOS
ENDLOOP.
LOOP AT itab_zycat025_aux.
itab_zycat025_aux-nrseq = /pws/zycbe124-nrseq.
MODIFY itab_zycat025_aux INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zycbt141_p.
itab_zycbt141_p-nrseq = /pws/zycbe124-nrseq.
MODIFY itab_zycbt141_p INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zycbt141_p_aux3.
itab_zycbt141_p_aux3-nrseq = /pws/zycbe124-nrseq.
MODIFY itab_zycbt141_p_aux3 INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zycbt141_i.
itab_zycbt141_i-nrseq = /pws/zycbe124-nrseq.
MODIFY itab_zycbt141_i INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zycbt141_i_aux.
itab_zycbt141_i_aux-nrseq = /pws/zycbe124-nrseq.
MODIFY itab_zycbt141_i_aux INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zyglt209.
itab_zyglt209-nrseq = /pws/zycbe124-nrseq.
MODIFY itab_zyglt209 INDEX sy-tabix.
* << Fim da inclusão
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM ALTERA_DADOS
PERFORM salva_dados_imposto.
PERFORM salva_itens.
PERFORM salva_dados_bancarios.
* << Fim da inclusão
ELSE.
IF optsim = 'X'.
/pws/zycbe124-contcom = 'X'.
ELSE.
CLEAR /pws/zycbe124-contcom.
ENDIF.
ENDIF.
PERFORM contabilizacao.
* >> Início da inclusão: FORM ALTERA_DADOS
IF erro_bi_principal IS INITIAL.
* << Fim da inclusão
* >> Início da exclusão: FORM ALTERA_DADOS
IF erro_bi IS INITIAL.
* << Fim da exclusão
MODIFY /pws/zycbt124 FROM /pws/zycbe124.
DELETE FROM /pws/zycbt115 WHERE nrcorrep = /pws/zycbe124-nrseq
AND tpdoc = 'N'.
/pws/zycbt115-nrcorrep = /pws/zycbe124-nrseq.
/pws/zycbt115-rof = /pws/zycbe115-rof.
...
...
/pws/zycbe127-waers = /pws/zycbe124-waers.
/pws/zycbe127-nrseq = /pws/zycbe124-nrseq.
/pws/zycbe127-nrfech = /pws/zycbe124-nrfech.
MODIFY /pws/zycbt127 FROM /pws/zycbe127.
ENDIF.
* >> Início da exclusão: FORM ALTERA_DADOS
PERFORM salva_itens.
PERFORM salva_dados_bancarios.
* << Fim da exclusão
wa_zycbt124 = /pws/zycbe124.
wa_zycbt115 = /pws/zycbe115.
wa_zycbt127 = /pws/zycbe127.
itab_zyglt209_aux[] = itab_zyglt209[].
itab_zyglt209-bcofav = /pws/zygle209-bcofav.
* >> Início da exclusão: FORM ALTERA_DADOS
itab_zycat025_aux[] = itab_zycat025[].
itab_zycbt141_p_aux3[] = itab_zycbt141_p[].
itab_zycbt141_i_aux[] = itab_zycbt141_i[].
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_DADOS
PERFORM salva_dados_bancarios.
ENDIF.
PERFORM salva_itens.
* << Fim da inclusão
MESSAGE s061 WITH text-175 /pws/zycbe124-nrseq text-176.
PERFORM salva_dados_imposto.
* >> Início da exclusão: FORM ALTERA_DADOS
IF NOT itab_zycbt141[] IS INITIAL.
REFRESH itab_zycbt141_aux.
LOOP AT itab_zycbt141.
MOVE-CORRESPONDING itab_zycbt141 TO itab_zycbt141_aux.
APPEND itab_zycbt141_aux.
ENDLOOP.
MODIFY /pws/zycbt141 FROM TABLE itab_zycbt141_aux.
ENDIF.
* << Fim da exclusão
IF sy-tcode EQ '/PWS/ZYCB109_C'.
SET PARAMETER ID '/PWS/ZYCBP374' FIELD v_nrseq.
IF sy-binpt IS INITIAL.
LEAVE TO TRANSACTION '/PWS/ZYCB109_E' AND SKIP FIRST SCREEN.
ELSE.
LEAVE PROGRAM.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM ALTERA_DADOS
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM consiste_valores.
IF v_trans NE 'S'.
w_vlr = 'N'.
wa_vlme = ( /pws/zycbe127-vlesp + vtot_tcs ).
...
...
PERFORM verifica_estrategia_liberacao.
ELSEIF /pws/zycbe124-tpoper EQ 'R'.
/pws/zycbe124-frgzu = '2'.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM EFETUA_LANCAMENTO
CHECK erro_bi IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM EFETUA_LANCAMENTO
CHECK erro_bi_principal IS INITIAL AND
erro_bi_irrf IS INITIAL AND
erro_bi_cide IS INITIAL AND
erro_bi_pis IS INITIAL AND
erro_bi_cofins IS INITIAL AND
erro_bi_iof IS INITIAL AND
erro_bi_iss IS INITIAL.
* << Fim da inclusão
CHECK /pws/zycbe124-criacao EQ 'S' OR
( /pws/zycbe124-criacao NE 'O' AND
NOT itab_zycat025[] IS INITIAL ).
IF /pws/zycbe124-frpagto = 'C' AND /pws/zycbe124-tpoper = 'P'.
IF ( /pws/zycbe124-criacao EQ 'D' OR
...
...
sy-subrc EQ 0 ) AND
( itab_zycbt141_p[] NE itab_zycbt141_p_aux3[] OR
itab_zycbt141_i[] NE itab_zycbt141_i_aux[] OR
itab_zycat025[] NE itab_zycat025_aux[] OR
/pws/zycbe124 NE wa_zycbt124 ).
* >> Início da exclusão: FORM CONTABILIZACAO
CLEAR erro_bi.
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZACAO
CLEAR: erro_bi_principal, erro_bi_irrf, erro_bi_cide,
erro_bi_pis, erro_bi_cofins, erro_bi_iss,
erro_bi_iof.
* << Fim da inclusão
PERFORM efetua_estorno.
ELSE.
LOOP AT itab_zycat025 WHERE belnr_pr IS initial.
EXIT.
ENDLOOP.
...
...
PERFORM preenche_estorna_contabeis USING 'PRINCIPAL'
/pws/zycbe124-belnr
/pws/zycbe124-dtdocto.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM EFETUA_ESTORNO
IF w_ok NE 'TRASH' AND erro_bi IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM EFETUA_ESTORNO
IF w_ok NE 'TRASH' AND
erro_bi_principal IS INITIAL AND
erro_bi_irrf IS INITIAL AND
erro_bi_cide IS INITIAL AND
erro_bi_pis IS INITIAL AND
erro_bi_cofins IS INITIAL AND
erro_bi_iss IS INITIAL AND
erro_bi_iof IS INITIAL.
* << Fim da inclusão
PERFORM efetua_lancamento.
ENDIF.
ENDFORM.
FORM elimina_item.
LOOP AT itab_zycbt141 WHERE mark = 'X'.
DELETE itab_zycbt141.
ENDLOOP.
ENDFORM.
FORM salva_itens.
* >> Início da exclusão: FORM SALVA_ITENS
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_ITENS
IF erro_bi_principal IS INITIAL.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp = 'PRINCIPAL'.
LOOP AT itab_zycbt141 WHERE tpimp = 'PRINCIPAL'.
INSERT INTO /pws/zycbt141 VALUES itab_zycbt141.
ENDLOOP.
ENDIF.
IF erro_bi_irrf IS INITIAL.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%IRRF'.
LOOP AT itab_zycbt141 WHERE tpimp(4) = 'IRRF'.
INSERT INTO /pws/zycbt141 VALUES itab_zycbt141.
ENDLOOP.
ENDIF.
IF erro_bi_cide IS INITIAL.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%CIDE'.
LOOP AT itab_zycbt141 WHERE tpimp(4) = 'CIDE'.
INSERT INTO /pws/zycbt141 VALUES itab_zycbt141.
ENDLOOP.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM SALVA_ITENS
LOOP AT itab_zycbt141.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_ITENS
IF erro_bi_pis IS INITIAL.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%PIS'.
LOOP AT itab_zycbt141 WHERE tpimp(3) = 'PIS'.
INSERT INTO /pws/zycbt141 VALUES itab_zycbt141.
ENDLOOP.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM SALVA_ITENS
MOVE: itab_zycbt141-mandt TO /pws/zycbt141-mandt,
itab_zycbt141-tpimp TO /pws/zycbt141-tpimp,
/pws/zycbe124-nrseq TO /pws/zycbt141-nrseq,
itab_zycbt141-saknr1 TO /pws/zycbt141-saknr1,
itab_zycbt141-vlremessa TO /pws/zycbt141-vlremessa,
itab_zycbt141-vlirrf TO /pws/zycbt141-vlirrf,
itab_zycbt141-vlcide TO /pws/zycbt141-vlcide,
itab_zycbt141-kostl TO /pws/zycbt141-kostl,
itab_zycbt141-prctr TO /pws/zycbt141-prctr,
itab_zycbt141-aufnr TO /pws/zycbt141-aufnr,
itab_zycbt141-fipos TO /pws/zycbt141-fipos,
itab_zycbt141-fictr TO /pws/zycbt141-fictr,
itab_zycbt141-gsber TO /pws/zycbt141-gsber,
itab_zycbt141-kstrg TO /pws/zycbt141-kstrg,
itab_zycbt141-ps_posid TO /pws/zycbt141-ps_posid,
itab_zycbt141-nplnr TO /pws/zycbt141-nplnr,
itab_zycbt141-matnr TO /pws/zycbt141-matnr,
itab_zycbt141-kdauf TO /pws/zycbt141-kdauf,
itab_zycbt141-geber TO /pws/zycbt141-geber,
itab_zycbt141-ebeln TO /pws/zycbt141-ebeln,
itab_zycbt141-cod_area TO /pws/zycbt141-cod_area,
itab_zycbt141-matnr_or TO /pws/zycbt141-matnr_or,
itab_zycbt141-bukrs_or TO /pws/zycbt141-bukrs_or,
itab_zycbt141-fkart_or TO /pws/zycbt141-fkart_or,
itab_zycbt141-gsber_or TO /pws/zycbt141-gsber_or,
itab_zycbt141-kaufn_or TO /pws/zycbt141-kaufn_or,
itab_zycbt141-kdpos_or TO /pws/zycbt141-kdpos_or,
itab_zycbt141-kndnr_or TO /pws/zycbt141-kndnr_or,
itab_zycbt141-kokrs_or TO /pws/zycbt141-kokrs_or,
itab_zycbt141-kstrg_or TO /pws/zycbt141-kstrg_or,
itab_zycbt141-pprctr_or TO /pws/zycbt141-pprctr_or,
itab_zycbt141-prctr_or TO /pws/zycbt141-prctr_or,
itab_zycbt141-pspnr_or TO /pws/zycbt141-pspnr_or,
itab_zycbt141-rkaufnr_or TO /pws/zycbt141-rkaufnr_or,
itab_zycbt141-spart_or TO /pws/zycbt141-spart_or,
itab_zycbt141-versi_or TO /pws/zycbt141-versi_or,
itab_zycbt141-vkorg_or TO /pws/zycbt141-vkorg_or,
itab_zycbt141-vrgar_or TO /pws/zycbt141-vrgar_or,
itab_zycbt141-werks_or TO /pws/zycbt141-werks_or,
itab_zycbt141-vtweg_or TO /pws/zycbt141-vtweg_or.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_ITENS
IF erro_bi_cofins IS INITIAL.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%COFINS'.
LOOP AT itab_zycbt141 WHERE tpimp(6) = 'COFINS'.
INSERT INTO /pws/zycbt141 VALUES itab_zycbt141.
ENDLOOP.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM SALVA_ITENS
INSERT /pws/zycbt141.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_ITENS
IF erro_bi_iss IS INITIAL.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%ISS'.
LOOP AT itab_zycbt141 WHERE tpimp(3) = 'ISS'.
INSERT INTO /pws/zycbt141 VALUES itab_zycbt141.
ENDLOOP.
ENDIF.
IF erro_bi_iof IS INITIAL.
DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%IOF'.
LOOP AT itab_zycbt141 WHERE tpimp(3) = 'IOF'.
INSERT INTO /pws/zycbt141 VALUES itab_zycbt141.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM SALVA_ITENS
ENDIF.
* << Fim da inclusão
ENDFORM.
...
...
PERFORM executa_aprovacao USING itab_zycbt032-belnr
p_tpimp.
ENDIF.
ENDIF.
ELSE.
* >> Início da exclusão: FORM CALL_FUNCTION_F63
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALL_FUNCTION_F63
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
ENDIF.
ELSE.
* >> Início da exclusão: FORM CALL_FUNCTION_F63
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALL_FUNCTION_F63
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
ENDIF.
ELSE.
* >> Início da exclusão: FORM CALL_FUNCTION_F63
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALL_FUNCTION_F63
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
ENDIF.
ENDFORM.
...
...
EXIT.
ENDIF.
CONCATENATE p_tpimp '-' INTO v_msg SEPARATED BY space.
MESSAGE i061 WITH v_msg text-164 v_belnr text-166.
ELSE.
* >> Início da exclusão: FORM EXECUTA_APROVACAO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_APROVACAO
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
ENDIF.
ELSE.
* >> Início da exclusão: FORM EXECUTA_APROVACAO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_APROVACAO
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM clear_date_batch.
CLEAR:
itab_zycbt034,
...
...
AND belnr EQ p_belnr
AND gjahr EQ p_data(4)
AND bstat NE 'Z'.
IF sy-subrc = 0.
MESSAGE i262 WITH p_belnr.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
EXIT.
ENDIF.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FBV0'
tabela = '/PWS/ZYCBT124'
cpochv = /pws/zycbe124-nrseq
...
...
MODIFY itab_zycat025 TRANSPORTING belnr_pr
WHERE tpimp = p_tpimp.
CLEAR itab_zycat025_aux3-belnr_pr.
MODIFY itab_zycat025_aux3 TRANSPORTING belnr_pr
WHERE tpimp = p_tpimp.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0
CLEAR itab_zycat025_aux-belnr_pr.
MODIFY itab_zycat025_aux TRANSPORTING belnr_pr
WHERE tpimp = p_tpimp.
* << Fim da inclusão
UPDATE /pws/zycat025 SET belnr_pr = itab_zycat025-belnr_pr
WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp = p_tpimp.
ENDIF.
ELSE.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
MESSAGE s262 WITH p_belnr p_tpimp.
ENDIF.
ELSE.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM efetua_lancamento_recebimento.
PERFORM clear_date_batch.
CLEAR itab_zycat025-tpimp.
...
...
/pws/zycbe124-belnr = itab_zycbt032-belnr.
v_belnr_s = itab_zycbt032-belnr.
UPDATE /pws/zycbt124 SET belnr = /pws/zycbe124-belnr
WHERE nrseq = /pws/zycbe124-nrseq.
ELSE.
* >> Início da exclusão: FORM EFETUA_LANCAMENTO_RECEBIMENTO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM EFETUA_LANCAMENTO_RECEBIMENTO
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
ENDIF.
ELSE.
* >> Início da exclusão: FORM EFETUA_LANCAMENTO_RECEBIMENTO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM EFETUA_LANCAMENTO_RECEBIMENTO
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
ENDIF.
ELSE.
* >> Início da exclusão: FORM EFETUA_LANCAMENTO_RECEBIMENTO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM EFETUA_LANCAMENTO_RECEBIMENTO
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
ENDIF.
ENDFORM.
...
...
wa_zycbt124-dtdocto = v_dtlanc.
ENDIF.
UPDATE /pws/zycbt124 SET belnr_f51 = /pws/zycbe124-belnr_f51
dtdocto = /pws/zycbe124-dtdocto
WHERE nrseq = /pws/zycbe124-nrseq.
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
erro_bi = ' '.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
ENDIF.
ELSE.
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM fill_date_f_51_princ_ir.
DATA: v_processo(1) TYPE c,
v_zuonr LIKE /pws/zycbe033-c_zuonr.
PERFORM clear_date_batch.
READ TABLE itab_zycat025 WITH KEY tpimp(4) = 'IRRF'.
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR
CHECK erro_bi IS INITIAL AND sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
CHECK erro_bi_principal IS INITIAL AND
erro_bi_irrf IS INITIAL AND
sy-subrc EQ 0.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycbe124-bukrs.
SELECT SINGLE * FROM /pws/zycbt089
WHERE bukrs EQ /pws/zycbe124-bukrs.
SELECT SINGLE * FROM /pws/zyglt009
...
...
MODIFY itab_zycat025_aux3 TRANSPORTING belnr_pr
WHERE tpimp(4) = 'IRRF'.
UPDATE /pws/zycat025 SET belnr_pr = itab_zycat025-belnr_pr
WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE 'IRRF%'.
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
ENDIF.
IF sy-index <= 1.
CLEAR erro_bi_principal.
ELSE.
CLEAR erro_bi_irrf.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR
erro_bi = ' '.
* << Fim da exclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
IF sy-index <= 1.
PERFORM seta_erro_bi USING 'PRINCIPAL'.
ELSE.
PERFORM seta_erro_bi USING 'IRRF'.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
ENDIF.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
IF sy-index <= 1.
PERFORM seta_erro_bi USING 'PRINCIPAL'.
ELSE.
PERFORM seta_erro_bi USING 'IRRF'.
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
ELSE.
IF sy-index <= 1.
PERFORM seta_erro_bi USING 'PRINCIPAL'.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
PERFORM seta_erro_bi USING 'IRRF'.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM anula_doc USING p_belnr
p_data.
DATA: v_trans(4) TYPE c.
...
...
READ TABLE itab_zycbt032 WITH KEY tcode = v_trans
tabela = '/PWS/ZYCBT124'
cpochv = /pws/zycbe124-nrseq
tpmsg = 'S'.
IF sy-subrc NE 0.
* >> Início da exclusão: FORM ANULA_DOC
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_DOC
IF sy-index <= 1.
PERFORM seta_erro_bi USING 'PRINCIPAL'.
ELSE.
PERFORM seta_erro_bi USING 'IRRF'.
ENDIF.
* << Fim da inclusão
ELSE.
IF sy-index <= 1.
MESSAGE i061 WITH 'PRINCIPAL -' text-164 p_belnr text-168.
/pws/zycbe124-belnr_f51p = space.
v_belnr_s = /pws/zycbe124-belnr.
...
...
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM ANULA_DOC
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_DOC
IF sy-index <= 1.
PERFORM seta_erro_bi USING 'PRINCIPAL'.
ELSE.
PERFORM seta_erro_bi USING 'IRRF'.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ANULA_DOC
ENDIF.
* << Fim da inclusão
ENDFORM.
...
...
estrategia_invalida = 1
parametros_invalidos = 2
OTHERS = 3.
IF sy-subrc EQ 1.
MESSAGE i061 WITH text-140 text-143.
* >> Início da exclusão: FORM VERIFICA_ESTRATEGIA_LIBERACAO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ESTRATEGIA_LIBERACAO
erro_bi_principal = erro_bi_irrf = erro_bi_cide =
erro_bi_pis = erro_bi_cofins = erro_bi_iss = erro_bi_iof = 'X'.
* << Fim da inclusão
EXIT.
ELSEIF sy-subrc EQ 2.
MESSAGE i061 WITH text-142 text-143.
* >> Início da exclusão: FORM VERIFICA_ESTRATEGIA_LIBERACAO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ESTRATEGIA_LIBERACAO
erro_bi_principal = erro_bi_irrf = erro_bi_cide =
erro_bi_pis = erro_bi_cofins = erro_bi_iss = erro_bi_iof = 'X'.
* << Fim da inclusão
EXIT.
ENDIF.
IF /pws/zycbe124-frgzu = '2'
AND /pws/zycbe124-estrat NE /pws/zyglt343-frgsx.
MOVE: v_frgzu TO /pws/zycbe124-frgzu,
...
...
ok_code2 = sy-ucomm.
ENDFORM.
FORM atualiza_itab_rateio
TABLES p_itab_zycbt141 STRUCTURE itab_zycbt141_p
USING value(p_indice) TYPE i.
* >> Início da inclusão: FORM ATUALIZA_ITAB_RATEIO
IF itab_zycbt141_i NE /pws/zycbe141-tpimp AND
ok_code EQ 'DEL_L'.
EXIT.
ENDIF.
* << Fim da inclusão
MOVE: sy-mandt TO p_itab_zycbt141-mandt ,
/pws/zycbe124-nrseq TO p_itab_zycbt141-nrseq ,
* >> Início da exclusão: FORM ATUALIZA_ITAB_RATEIO
/pws/zycbe141-tpimp TO p_itab_zycbt141-tpimp ,
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_ITAB_RATEIO
/pws/zycbe141-tpimp TO p_itab_zycbt141-tpimp ,
* << Fim da inclusão
/pws/zycbe141-saknr1 TO p_itab_zycbt141-saknr1 ,
/pws/zycbe141-vlremessa TO p_itab_zycbt141-vlremessa,
/pws/zycbe141-kostl TO p_itab_zycbt141-kostl ,
/pws/zycbe141-prctr TO p_itab_zycbt141-prctr ,
/pws/zycbe141-aufnr TO p_itab_zycbt141-aufnr ,
...
...
MOVE p_editar TO wa_cols-screen-input.
MODIFY tc_imposto-cols FROM wa_cols.
ENDLOOP.
ENDFORM.
FORM propor_rateio_imposto.
* >> Início da inclusão: FORM PROPOR_RATEIO_IMPOSTO
IF itab_zycbt141_p[] NE itab_zycbt141_p_aux[].
* << Fim da inclusão
CLEAR itab_zycbt141_i.
REFRESH itab_zycbt141_i.
* >> Início da inclusão: FORM PROPOR_RATEIO_IMPOSTO
ENDIF.
* << Fim da inclusão
CLEAR: v_indice.
LOOP AT itab_zycat025.
* >> Início da inclusão: FORM PROPOR_RATEIO_IMPOSTO
READ TABLE itab_zycat025_aux3 WITH KEY tpimp = itab_zycat025-tpimp.
IF sy-subrc NE 0 OR
( sy-subrc EQ 0 AND
itab_zycat025-vlimpme NE itab_zycat025_aux3-vlimpme ).
DELETE itab_zycbt141_i WHERE tpimp EQ itab_zycat025-tpimp.
ELSE.
READ TABLE itab_zycbt141_i WITH KEY tpimp = itab_zycat025-tpimp.
IF sy-subrc = 0.
CONTINUE.
ENDIF.
ENDIF.
* << Fim da inclusão
CLEAR: v_vlme.
LOOP AT itab_zycbt141_p.
v_indice = v_indice + 1.
CLEAR itab_zycbt141_p-mark.
READ TABLE itab_zycat024
...
...
FORM carrega_par_impostos.
SELECT * FROM /pws/zycat024 INTO TABLE itab_zycat024
WHERE bukrs = /pws/zycbe124-bukrs.
ENDFORM.
FORM salva_dados_imposto.
* >> Início da inclusão: FORM SALVA_DADOS_IMPOSTO
PERFORM atualiza_tab_aux.
IF erro_bi_irrf IS INITIAL.
DELETE FROM /pws/zycat025 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%IRRF'.
LOOP AT itab_zycat025 WHERE tpimp(4) = 'IRRF'.
INSERT INTO /pws/zycat025 VALUES itab_zycat025.
ENDLOOP.
ENDIF.
IF erro_bi_cide IS INITIAL.
DELETE FROM /pws/zycat025 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%CIDE'.
LOOP AT itab_zycat025 WHERE tpimp(4) = 'CIDE'.
INSERT INTO /pws/zycat025 VALUES itab_zycat025.
ENDLOOP.
ENDIF.
IF erro_bi_pis IS INITIAL.
DELETE FROM /pws/zycat025 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%PIS'.
LOOP AT itab_zycat025 WHERE tpimp(3) = 'PIS'.
INSERT INTO /pws/zycat025 VALUES itab_zycat025.
ENDLOOP.
ENDIF.
IF erro_bi_cofins IS INITIAL.
DELETE FROM /pws/zycat025 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%COFINS'.
LOOP AT itab_zycat025 WHERE tpimp(6) = 'COFINS'.
INSERT INTO /pws/zycat025 VALUES itab_zycat025.
ENDLOOP.
ENDIF.
IF erro_bi_iss IS INITIAL.
DELETE FROM /pws/zycat025 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%ISS'.
LOOP AT itab_zycat025 WHERE tpimp(3) = 'ISS'.
INSERT INTO /pws/zycat025 VALUES itab_zycat025.
ENDLOOP.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM SALVA_DADOS_IMPOSTO
DELETE FROM /pws/zycat025 WHERE nrseq = /pws/zycbe124-nrseq.
IF NOT itab_zycat025[] IS INITIAL.
INSERT /pws/zycat025 FROM TABLE itab_zycat025.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DADOS_IMPOSTO
IF erro_bi_iof IS INITIAL.
DELETE FROM /pws/zycat025 WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp LIKE '%IOF'.
LOOP AT itab_zycat025 WHERE tpimp(3) = 'IOF'.
INSERT INTO /pws/zycat025 VALUES itab_zycat025.
ENDLOOP.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM SALVA_DADOS_IMPOSTO
itab_zycat025_aux[] = itab_zycat025[].
* << Fim da exclusão
ENDFORM.
...
...
IF v_total NE /pws/zycbe124-vlme.
v_dif = v_total - /pws/zycbe124-vlme.
CONCATENATE text-087 /pws/zycbe124-waers
INTO v_msg SEPARATED BY space.
MESSAGE w061 WITH text-086 v_msg v_dif.
* >> Início da exclusão: FORM VERIFICA_PARCELAS_PRINCIPAL
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PARCELAS_PRINCIPAL
erro_bi_principal = 'X'.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM verifica_parcelas_imposto.
DATA: v_total LIKE /pws/zycbe141-vlremessa.
CLEAR: v_total, itab_zycbt141, v_indice.
...
...
IF v_total NE itab_zycat025-vlimpme.
v_dif = v_total - itab_zycat025-vlimpme.
CONCATENATE text-159 itab_zycat025-tpimp /pws/zycbe124-waers
INTO v_msg SEPARATED BY space.
MESSAGE w061 WITH text-086 v_msg v_dif.
* >> Início da exclusão: FORM VERIFICA_PARCELAS_IMPOSTO
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PARCELAS_IMPOSTO
erro_bi_irrf = erro_bi_cide = erro_bi_pis = erro_bi_cofins =
erro_bi_iss = erro_bi_iof = 'X'.
* << Fim da inclusão
EXIT.
ELSE.
CLEAR: v_total, itab_zycbt141.
ENDIF.
ENDLOOP.
ENDFORM.
FORM preenche_gera_contabeis USING p_tpimp
p_vlme.
* >> Início da exclusão: FORM PREENCHE_GERA_CONTABEIS
CHECK erro_bi IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_GERA_CONTABEIS
CHECK erro_bi_principal IS INITIAL AND
erro_bi_irrf IS INITIAL AND
erro_bi_cide IS INITIAL AND
erro_bi_pis IS INITIAL AND
erro_bi_cofins IS INITIAL AND
erro_bi_iss IS INITIAL AND
erro_bi_iof IS INITIAL.
* << Fim da inclusão
PERFORM clear_date_batch.
PERFORM get_parameters_f63_f02 USING p_tpimp.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'F-63'.
itab_zycbe033-tabela = '/PWS/ZYCBT124'.
...
...
CLEAR itab_zycat025-belnr_pr.
MODIFY itab_zycat025 TRANSPORTING belnr_pr
WHERE tpimp = p_tpimp.
CLEAR itab_zycat025_aux3-belnr_pr.
MODIFY itab_zycat025_aux3 TRANSPORTING belnr_pr
* >> Início da inclusão: FORM PREENCHE_ESTORNA_CONTABEIS
WHERE tpimp = p_tpimp.
CLEAR itab_zycat025_aux-belnr_pr.
MODIFY itab_zycat025_aux TRANSPORTING belnr_pr
* << Fim da inclusão
WHERE tpimp = p_tpimp.
UPDATE /pws/zycat025 SET belnr_pr = itab_zycat025-belnr_pr
WHERE nrseq = /pws/zycbe124-nrseq
AND tpimp = p_tpimp.
ENDIF.
ELSE.
* >> Início da exclusão: FORM PREENCHE_ESTORNA_CONTABEIS
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ESTORNA_CONTABEIS
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg.
ENDLOOP.
ENDIF.
ELSE.
* >> Início da exclusão: FORM PREENCHE_ESTORNA_CONTABEIS
erro_bi = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ESTORNA_CONTABEIS
PERFORM seta_erro_bi USING p_tpimp.
* << Fim da inclusão
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
ENDIF.
ENDFORM.
...
...
p_stgrd = '02'.
p_budat = sy-datum.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM atualiza_tab_aux.
IF erro_bi_principal IS INITIAL.
DELETE itab_zycbt141_p_aux3 WHERE tpimp = 'PRINCIPAL'.
LOOP AT itab_zycbt141_p WHERE tpimp = 'PRINCIPAL'.
CLEAR itab_zycbt141_p_aux3.
itab_zycbt141_p_aux3 = itab_zycbt141_p.
APPEND itab_zycbt141_p_aux3.
ENDLOOP.
ENDIF.
IF erro_bi_irrf IS INITIAL.
DELETE itab_zycat025_aux WHERE tpimp(4) = 'IRRF'.
LOOP AT itab_zycat025 WHERE tpimp(4) = 'IRRF'.
CLEAR itab_zycat025_aux.
itab_zycat025_aux = itab_zycat025.
APPEND itab_zycat025_aux.
ENDLOOP.
DELETE itab_zycbt141_i_aux WHERE tpimp(4) = 'IRRF'.
LOOP AT itab_zycbt141_i WHERE tpimp(4) = 'IRRF'.
CLEAR itab_zycbt141_i_aux.
itab_zycbt141_i_aux = itab_zycbt141_i.
APPEND itab_zycbt141_i_aux.
ENDLOOP.
DELETE itab_zycbt141_aux WHERE tpimp(4) = 'IRRF'.
LOOP AT itab_zycbt141 WHERE tpimp(4) = 'IRRF'.
CLEAR itab_zycbt141_aux.
itab_zycbt141_aux = itab_zycbt141.
APPEND itab_zycbt141_aux.
ENDLOOP.
ENDIF.
IF erro_bi_cide IS INITIAL.
DELETE itab_zycat025_aux WHERE tpimp(4) = 'CIDE'.
LOOP AT itab_zycat025 WHERE tpimp(4) = 'CIDE'.
CLEAR itab_zycat025_aux.
itab_zycat025_aux = itab_zycat025.
APPEND itab_zycat025_aux.
ENDLOOP.
DELETE itab_zycbt141_i_aux WHERE tpimp(4) = 'CIDE'.
LOOP AT itab_zycbt141_i WHERE tpimp(4) = 'CIDE'.
CLEAR itab_zycbt141_i_aux.
itab_zycbt141_i_aux = itab_zycbt141_i.
APPEND itab_zycbt141_i_aux.
ENDLOOP.
DELETE itab_zycbt141_aux WHERE tpimp(4) = 'CIDE'.
LOOP AT itab_zycbt141 WHERE tpimp(4) = 'CIDE'.
CLEAR itab_zycbt141_aux.
itab_zycbt141_aux = itab_zycbt141.
APPEND itab_zycbt141_aux.
ENDLOOP.
ENDIF.
IF erro_bi_pis IS INITIAL.
DELETE itab_zycat025_aux WHERE tpimp(3) = 'PIS'.
LOOP AT itab_zycat025 WHERE tpimp(3) = 'PIS'.
CLEAR itab_zycat025_aux.
itab_zycat025_aux = itab_zycat025.
APPEND itab_zycat025_aux.
ENDLOOP.
DELETE itab_zycbt141_i_aux WHERE tpimp(3) = 'PIS'.
LOOP AT itab_zycbt141_i WHERE tpimp(3) = 'PIS'.
CLEAR itab_zycbt141_i_aux.
itab_zycbt141_i_aux = itab_zycbt141_i.
APPEND itab_zycbt141_i_aux.
ENDLOOP.
DELETE itab_zycbt141_aux WHERE tpimp(3) = 'PIS'.
LOOP AT itab_zycbt141 WHERE tpimp(3) = 'PIS'.
CLEAR itab_zycbt141_aux.
itab_zycbt141_aux = itab_zycbt141.
APPEND itab_zycbt141_aux.
ENDLOOP.
ENDIF.
IF erro_bi_cofins IS INITIAL.
DELETE itab_zycat025_aux WHERE tpimp(6) = 'COFINS'.
LOOP AT itab_zycat025 WHERE tpimp(6) = 'COFINS'.
CLEAR itab_zycat025_aux.
itab_zycat025_aux = itab_zycat025.
APPEND itab_zycat025_aux.
ENDLOOP.
DELETE itab_zycbt141_i_aux WHERE tpimp(6) = 'COFINS'.
LOOP AT itab_zycbt141_i WHERE tpimp(6) = 'COFINS'.
CLEAR itab_zycbt141_i_aux.
itab_zycbt141_i_aux = itab_zycbt141_i.
APPEND itab_zycbt141_i_aux.
ENDLOOP.
DELETE itab_zycbt141_aux WHERE tpimp(6) = 'COFINS'.
LOOP AT itab_zycbt141 WHERE tpimp(6) = 'COFINS'.
CLEAR itab_zycbt141_aux.
itab_zycbt141_aux = itab_zycbt141.
APPEND itab_zycbt141_aux.
ENDLOOP.
ENDIF.
IF erro_bi_iss IS INITIAL.
DELETE itab_zycat025_aux WHERE tpimp(3) = 'ISS'.
LOOP AT itab_zycat025 WHERE tpimp(3) = 'ISS'.
CLEAR itab_zycat025_aux.
itab_zycat025_aux = itab_zycat025.
APPEND itab_zycat025_aux.
ENDLOOP.
DELETE itab_zycbt141_i_aux WHERE tpimp(3) = 'ISS'.
LOOP AT itab_zycbt141_i WHERE tpimp(3) = 'ISS'.
CLEAR itab_zycbt141_i_aux.
itab_zycbt141_i_aux = itab_zycbt141_i.
APPEND itab_zycbt141_i_aux.
ENDLOOP.
DELETE itab_zycbt141_aux WHERE tpimp(3) = 'ISS'.
LOOP AT itab_zycbt141 WHERE tpimp(3) = 'ISS'.
CLEAR itab_zycbt141_aux.
itab_zycbt141_aux = itab_zycbt141.
APPEND itab_zycbt141_aux.
ENDLOOP.
ENDIF.
IF erro_bi_iof IS INITIAL.
DELETE itab_zycat025_aux WHERE tpimp(3) = 'IOF'.
LOOP AT itab_zycat025 WHERE tpimp(3) = 'IOF'.
CLEAR itab_zycat025_aux.
itab_zycat025_aux = itab_zycat025.
APPEND itab_zycat025_aux.
ENDLOOP.
DELETE itab_zycbt141_i_aux WHERE tpimp(3) = 'IOF'.
LOOP AT itab_zycbt141_i WHERE tpimp(3) = 'IOF'.
CLEAR itab_zycbt141_i_aux.
itab_zycbt141_i_aux = itab_zycbt141_i.
APPEND itab_zycbt141_i_aux.
ENDLOOP.
DELETE itab_zycbt141_aux WHERE tpimp(3) = 'IOF'.
LOOP AT itab_zycbt141 WHERE tpimp(3) = 'IOF'.
CLEAR itab_zycbt141_aux.
itab_zycbt141_aux = itab_zycbt141.
APPEND itab_zycbt141_aux.
ENDLOOP.
ENDIF.
ENDFORM.
FORM seta_erro_bi USING p_tpimp.
IF p_tpimp = 'PRINCIPAL'.
erro_bi_principal = 'X'.
ELSEIF p_tpimp(4) = 'IRRF'.
erro_bi_irrf = 'X'.
ELSEIF p_tpimp(4) = 'CIDE'.
erro_bi_cide = 'X'.
ELSEIF p_tpimp(3) = 'PIS'.
erro_bi_pis = 'X'.
ELSEIF p_tpimp(6) = 'COFINS'.
erro_bi_cofins = 'X'.
ELSEIF p_tpimp(3) = 'ISS'.
erro_bi_iss = 'X'.
ELSEIF p_tpimp(3) = 'IOF'.
erro_bi_iof = 'X'.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109I01
...
IF NOT /pws/zycbe141-tpimp IS INITIAL AND v_status_s NE 0.
READ TABLE itab_zycbt141_i WITH KEY tpimp = /pws/zycbe141-tpimp.
IF sy-subrc = 0.
READ TABLE itab_zycat025 WITH KEY tpimp = /pws/zycbe141-tpimp.
IF sy-subrc NE 0.
* >> Início da exclusão: MODULE CONSISTE_TPIMP
MESSAGE e061 WITH text-166.
* << Fim da exclusão
* >> Início da inclusão: MODULE CONSISTE_TPIMP
MESSAGE e061 WITH text-108.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDMODULE.
MODULE consiste_conta_p INPUT.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109TOP
...
v_campo(30),
v_valor(10) TYPE n,
i_belnr LIKE bkpf-belnr,
i_bukrs LIKE bkpf-bukrs,
i_gjahr LIKE bkpf-gjahr,
* >> Início da exclusão:
erro_bi(1) TYPE c,
* << Fim da exclusão
* >> Início da inclusão:
erro_bi_principal(1) TYPE c,
erro_bi_irrf(1) TYPE c,
erro_bi_cide(1) TYPE c,
erro_bi_pis(1) TYPE c,
erro_bi_cofins(1) TYPE c,
erro_bi_iss(1) TYPE c,
erro_bi_iof(1) TYPE c,
* << Fim da inclusão
v_codpagto LIKE /pws/zycbt124-codpagto,
v_funcionario LIKE pa0002-cname,
norma LIKE /pws/zyglt214-norma,
v_display,
v_codpg LIKE /pws/zycbt124-codpagto,
...