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.
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.
...