CE PLUS - Nota 001292

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.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

REMESSA - IMPOSTOS NOVOS

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,

...