CE PLUS - Nota 006115

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 06/03/2008 00:00:00

Data/Hora Última Alteração: 03/03/2010 18:02:50

Descrição da Nota: REMESSA CÂMBIO FINANCEIRO

Sintoma

 

O programa da remessa não está fazendo o cálculo do PIS e COFINS quando não existe o ID Valor do ISS

na tela da remessa.

 

Solução

 

Alterada função /PWS/ZYCA_BASE_CALCULO_IMPOSTO, para que o programa possa fazer o cálculo do PIS e

COFINS quando não existe o ID Valor do ISS na tela da remessa.

Versões Tratadas

7.0

Informações Complementares

 

----------------------------------------------------------------------------------------------------

Nota Número 06115 Data: 06/03/2008 Hora: 10:35:28

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 06115

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00037

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

REMESSA CÂMBIO FINANCEIRO

----------------------------------------------------------------------------------------------------

Palavras Chave:

REMESSA CÂMBIO FINANCEIRO - BASE DE CALCULO PIS/COFINS

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

FUNC /PWS/ZYCA_BASE_CALCULO_IMPOSTO

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYCA_BASE_CALCULO_IMPOSTO

 

...

  READ TABLE t_zycat025 WITH KEY tpimp(3) = 'PIS'    INTO wa_pis.

  READ TABLE t_zycat025 WITH KEY tpimp(3) = 'ISS'    INTO wa_iss.

  READ TABLE t_zycat025 WITH KEY tpimp(3) = 'IOF'    INTO wa_iof.

  READ TABLE t_zycat025 WITH KEY tpimp(4) = 'IRRF'   INTO wa_irrf.

  READ TABLE t_zycat025 WITH KEY tpimp(4) = 'CIDE'   INTO wa_cide.

  READ TABLE t_zycat025 WITH KEY tpimp(6) = 'COFINS' INTO wa_cofins.

  v_calculo = formula.

  DO 126 TIMES.

    v_pos = sy-index - 1.

    IF v_calculo+v_pos(9) = 'PRINCIPAL'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT vl_remessa > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(9).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'VL_REMESSA' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'VA_IRRF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_irrf-vlimpme > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IRRF-VLIMPME' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'AL_IRRF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_irrf-aliqgera > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IRRF-ALIQGERA' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'AD_IRRF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_irrf-advalorem > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IRRF-ADVALOREM' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'BA_IRRF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_irrf-basecalc > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IRRF-BASECALC' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'VA_CIDE'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cide-vlimpme > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_CIDE-VLIMPME' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'AL_CIDE'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cide-aliqgera > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_CIDE-ALIQGERA' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'AD_CIDE'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cide-advalorem > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_CIDE-ADVALOREM' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(7) = 'BA_CIDE'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cide-basecalc > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(7).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_CIDE-BASECALC' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'VA_PIS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_pis-vlimpme > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_PIS-VLIMPME' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'AL_PIS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_pis-aliqgera > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_PIS-ALIQGERA' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'AD_PIS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_pis-advalorem > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_PIS-ADVALOREM' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'BA_PIS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_pis-basecalc > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_PIS-BASECALC' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'VA_ISS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iss-vlimpme > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_ISS-VLIMPME' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'AL_ISS'.

      IF NOT wa_iss-aliqgera > 0.

        SELECT SINGLE aliq FROM /pws/zycat024 INTO wa_iss-aliqgera

                           WHERE tpimp = 'ISS'. "#EC *

      ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iss-aliqgera > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_ISS-ALIQGERA' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'AD_ISS'.

      IF NOT wa_iss-advalorem > 0.

        SELECT SINGLE aliq FROM /pws/zycat024 INTO wa_iss-advalorem

                           WHERE tpimp = 'ISS'. "#EC *

      ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iss-advalorem > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_ISS-ADVALOREM' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'BA_ISS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iss-basecalc > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_ISS-BASECALC' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'VA_IOF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iof-vlimpme > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IOF-VLIMPME' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'AL_IOF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iof-aliqgera > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IOF-ALIQGERA' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'AD_IOF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iof-advalorem > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IOF-ADVALOREM' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(6) = 'BA_IOF'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_iof-basecalc > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(6).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_IOF-BASECALC' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(9) = 'VA_COFINS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cofins-vlimpme > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(9).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_COFINS-VLIMPME' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(9) = 'AL_COFINS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cofins-aliqgera > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(9).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_COFINS-ALIQGERA' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(9) = 'AD_COFINS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cofins-advalorem > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(9).

      CONDENSE v_calculo+v_pos.

      CONCATENATE 'WA_COFINS-ADVALOREM' v_calculo+v_pos

                                INTO v_calculo+v_pos SEPARATED BY space.

    ELSEIF v_calculo+v_pos(9) = 'BA_COFINS'.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_BASE_CALCULO_IMPOSTO

      IF NOT wa_cofins-basecalc > 0. RAISE valor_invalido. ENDIF.

* << Fim da exclusão

      CLEAR v_calculo+v_pos(9).

      CONDENSE v_calculo+v_pos.

...