Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 23/04/2012 00:00:00
Data/Hora Última Alteração: 10/06/2013 09:54:18
Descrição da Nota: CRÉDITO PARCIAL DE COFINS
Sintoma
Conforme lei Lei 12.546/2011, a alíquota de COFINS deverá ser acrescida de 1,5% . Porém o crédito
deste imposto será apenas dos 7,6% e não 9,1%.
Solução
Desenvolver um tratamento para prever Crédito Parcial de Cofins.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12132 Data: 23/04/2012 Hora: 16:48:14
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12132
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00011
Agrupamento : 00113
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02915 - 00001 - 6.0 - 00026 - ADICIONADO PARAMETRO LEI 102 PARA PIS E COFINS
02939 - 00002 - 6.0 - 00026 - VALORES DE PIS E COFINS CONTABILIZADOS ERRADOS NO RECEBIMENTO
06928 - 00003 - 7.0 - 00006 - AO FAZER RECEBIMENTO, VALOR DA MERCADORIA NA MIRO ESTÁ INCORRETA.
08292 - 00004 - 7.0 - 00009 - AJUSTE DE PERFORMANCE
08753 - 00005 - 7.0 - 00010 - AO FAZER RECEBIMENTO, NÃO ENCONTRA A CONTA DE PIS E COFINS.
09971 - 00006 - 8.0 - 00003 - NO RECEBIMENTO O VALOR DO CRÉDITO DE IMPOSTOS ESTA DIFERENTE DO C
10119 - 00007 - 8.0 - 00003 - NÃO PREENCHER MOVIMENTADO E DIFERENÇA PARA IMPOSTOS GARANTIZADOS.
10526 - 00008 - 8.0 - 00004 - NÃO FAZ CONTABILIZAÇÃO DE PIS/COFINS UTILIZANDO MATUSE
10961 - 00009 - 8.0 - 00006 - ALTERAR MENSAGEM NO RECEBIMENTO (F-02)
11198 - 00010 - 8.0 - 00007 - ARREDONDAMENTO NO LANÇAMENTO DE PIS E COFINS
----------------------------------------------------------------------------------------------------
CRÉDITO PARCIAL DE COFINS
----------------------------------------------------------------------------------------------------
Palavras Chave:
COFINS - CRÉDITO PARCIAL
----------------------------------------------------------------------------------------------------
Objetos da nota:
CLAS /PWS/CL_ZYCI_CRED_PARCIAL
DTEL /PWS/ZYCIL892
DTEL /PWS/ZYCIL893
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI010X01
REPS /PWS/MZYCI017F01
REPS /PWS/MZYCI017F02
REPS /PWS/ZYCIR006
TABD /PWS/ZYCIT405
TABD /PWS/ZYCIT406
----------------------------------------------------------------------------------------------------
*Aplicar notas posteriores relacionadas
*Nota 12138
*Nota 12426
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYCIL892
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYCIL892
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (19 caracteres), idioma: PT
"CI - Vigência desde"
Categoria de dados: Domínio
Domínio: DATUM
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (8 caracteres), idioma: PT
"Validade"
Comprimento máximo do denominador médio: 15
Denominador médio incluído (12 caracteres), idioma: PT
"Válido desde"
Comprimento máximo do denominador longo: 20
Denominador longo incluído (12 caracteres), idioma: PT
"Válido desde"
Comprimento máximo do título: 14
Título incluído (12 caracteres), idioma: PT
"Válido desde"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT405
*Acrescentar campos ao final da tabela
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
ACRESCIMO /PWS/ZYCIL893 DEC 6
VIGENCIA /PWS/ZYCIL892 DATS 8
*Gerar novamente a visão de atualização da tabela
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT406
*Acrescentar campos ao final da tabela
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
ACRESCIMO /PWS/ZYCIL893 DEC 6
VIGENCIA /PWS/ZYCIL892 DATS 8
*Gerar novamente a visão de atualização da tabela
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYCIL893
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYCIL893
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (27 caracteres), idioma: PT
"CI - Acréscimo de alíquota"
Categoria de dados: Domínio
Domínio: J_1BTXRATE
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (9 caracteres), idioma: PT
"Acr.alíq."
Comprimento máximo do denominador médio: 18
Denominador médio incluído (18 caracteres), idioma: PT
"Acréscimo alíquota"
Comprimento máximo do denominador longo: 21
Denominador longo incluído (21 caracteres), idioma: PT
"Acréscimo de alíquota"
Comprimento máximo do título: 21
Título incluído (21 caracteres), idioma: PT
"Acréscimo de alíquota"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CLAS /PWS/CL_ZYCI_CRED_PARCIAL
*Na SE24 criar a classe /PWS/CL_ZYCI_CRED_PARCIAL
CARACTERÍSTICAS
Descrição : Crédito Parcial Cofins
Geração Instância: Público
(X) Final
DADOS GERAIS
(x) Aritmética ponto fixo
Categoria: Categoria de objeto geral
Classe de Desenvolvimento : /PWS/ZYCI
MÉTODOS
Métodos Tipo Visibilidade Só modelado Tp.Método Descrição
Trata_cofins Static Method Public Trata Crédito Parcial de Cofins
PARÂMETROS
PARÂMETRO TIPO TRANSF.VLR OPCIONAL TP.ATRIB. TP.REFERÊNCIA
VIGENCIA IMPORTING 'X' ' ' TYPE /PWS/ZYCIE085-DTTAX
REGIME IMPORTING 'X' ' ' TYPE /PWS/ZYCIE001-REGIME
MATNR IMPORTING ' ' ' ' TYPE /PWS/ZYCIT003-MATNR
NCM IMPORTING ' ' ' ' TYPE /PWS/ZYCIT003-J_1BNBM
ACRESCIMO RETURNING 'X' ' ' TYPE /PWS/ZYCIL893
Código Método Trata_cofins
SELECT SINGLE acrescimo FROM /pws/zycit406
INTO acrescimo
WHERE matnr = matnr
AND regime = regime
AND tributos = 'COFINS'
AND vigencia LE vigencia.
IF sy-subrc NE 0.
SELECT SINGLE acrescimo FROM /pws/zycit405
INTO acrescimo
WHERE ncm = ncm
AND regime = regime
AND tributos = 'COFINS'
AND vigencia LE vigencia.
ENDIF.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
LOOP AT itab_zycit042.
CLEAR itab_zycit033.
READ TABLE itab_zycit033 WITH KEY clnf = v_clnf
tpnf = itab_zycit042-tpnf
regio = t001w-regio.
IF sy-subrc NE 0.
READ TABLE itab_zycit033 WITH KEY clnf = v_clnf
tpnf = itab_zycit042-tpnf.
ENDIF.
LOOP AT itab_zycit036_aux WHERE nrseq = itab_zycit042-nrseq
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq
ebeln = itab_zycit036_aux-ebeln
ebelp = itab_zycit036_aux-ebelp.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit036_aux-nrseq
ebeln = itab_zycit036_aux-ebeln
ebelp = itab_zycit036_aux-ebelp.
* << Fim da inclusão
IF itab_zycit036_aux-codigo EQ 'ICMS'.
IF ( itab_zycit033-tribicms EQ '1' ) OR
( itab_zycit033-tribicms EQ '3' AND
( itab_zycit033-lei102 EQ 'X' OR
itab_zycit033-lei102 EQ 'Y' ) ) OR
itab_zycit100-icms_dif EQ 'X'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
...
...
ELSEIF itab_zycit036_aux-codigo EQ 'PIS'.
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = v_bukrs
clnf = v_clnf.
IF sy-subrc NE 0.
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = space.
ENDIF.
IF itab_zycit398-creditar EQ 'S'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'.
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = v_bukrs
clnf = v_clnf.
IF sy-subrc NE 0.
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = space.
ENDIF.
IF itab_zycit398-creditar EQ 'S'.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins
EXPORTING
vigencia = /pws/zycit085-dttax
regime = /pws/zycie001-regime
matnr = itab_zycit003-matnr
ncm = itab_zycit003-j_1bnbm
RECEIVING
acrescimo = v_acrescimo .
IF v_acrescimo IS INITIAL.
* << Fim da inclusão
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
ENDIF.
* << Fim da inclusão
MODIFY itab_zycit036_aux.
ENDIF.
ELSEIF NOT itab_zycit403[] IS INITIAL.
READ TABLE itab_zycit403
WITH KEY nrseqdi = itab_zycit042-nrseqnf
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010X01
...
* >> Início da inclusão:
DATA: v_acrescimo TYPE /pws/zycit406-acrescimo.
* << Fim da inclusão
DATA: END OF COMMON PART b.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
FORM get_parameters_mrm1_receb.
* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB
DATA: v_acrescimo TYPE /pws/zycit405-acrescimo.
* << Fim da inclusão
...
...
tributos = itab_zycit036_aux2-codigo
bukrs = wa_nf-bukrs
clnf = 'G'.
IF sy-subrc NE 0.
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_itens_nf-tpnf
tributos = itab_zycit036_aux2-codigo
bukrs = space.
ENDIF.
IF itab_zycit398-creditar EQ 'S'.
* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_itens_nf-nrseq
ebeln = itab_itens_nf-ebeln
ebelp = itab_itens_nf-ebelp.
IF /pws/zycie085-dttax IS INITIAL.
SELECT SINGLE dttax FROM /pws/zycit085
INTO /pws/zycie085-dttax
WHERE nrseqdi = itab_zycit100-nrseqdi.
ENDIF.
CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins
EXPORTING
vigencia = /pws/zycie085-dttax
regime = /pws/zycie001-regime
matnr = itab_itens_nf-matnr
ncm = itab_zycit003-j_1bnbm
RECEIVING
acrescimo = v_acrescimo.
IF v_acrescimo IS INITIAL.
* << Fim da inclusão
DELETE itab_zycit036_aux2.
* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
FREE itab_custo_item.
LOOP AT itab_itens_nf.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F02
...
FORM adiciona_outros_impostos.
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
DATA: v_acrescimo TYPE /pws/zycit406-acrescimo.
DATA: v_parcial,
v_cofp TYPE /pws/zycbe035-wrbtr.
* << Fim da inclusão
...
...
CLEAR itab_zycit100. REFRESH itab_zycit100.
SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100
FOR ALL ENTRIES IN itab_global
WHERE nrseq = itab_global-nrseq
AND ebeln = itab_global-ebeln
AND ebelp = itab_global-ebelp. "#EC CI_NOFIRST
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
READ TABLE itab_zycit100 INDEX 1.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit085
INTO /pws/zycie085
WHERE nrseqdi EQ itab_zycit100-nrseqdi.
ENDIF.
* << Fim da inclusão
CLEAR: itab_ekkn. REFRESH: itab_ekkn.
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_global
WHERE ebeln = itab_global-ebeln
AND ebelp = itab_global-ebelp.
CLEAR: itab_matuse. REFRESH: itab_matuse.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp
werks umrez umren lmein
FROM ekpo INTO CORRESPONDING FIELDS OF TABLE itab_matuse
...
...
CLEAR: okcode.
MESSAGE e015 WITH text-117.
ENDIF.
ENDIF.
IF NOT itab_zycit100-vlcofins IS INITIAL.
CLEAR itab_zycit398.
READ TABLE itab_zycit398 WITH KEY tpnf = itab_global-tpnf
tributos = 'COFINS'.
IF sy-subrc EQ 0.
itab_zycbt035_aux-lei102 = itab_zycit398-lei102.
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
itab_zycbt035_aux-debcred = itab_zycit398-creditar.
* << Fim da inclusão
itab_zycbt035_aux-imposto = 'COFI'.
* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS
itab_zycbt035_aux-debcred = itab_zycit398-creditar.
* << Fim da exclusão
CLEAR itab_zycit036.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_global-nrseq
ebeln = itab_global-ebeln
ebelp = itab_global-ebelp
codigo = 'COFINS'
origem = 'NF'.
IF sy-subrc NE 0 .
SELECT SINGLE * FROM /pws/zycit036
INTO itab_zycit036
WHERE nrseq = itab_global-nrseq
AND ebeln = itab_global-ebeln
AND ebelp = itab_global-ebelp
AND codigo = 'COFINS'
AND origem = 'NF'.
ENDIF.
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
IF itab_zycit398-creditar = 'S'.
CLEAR: v_acrescimo, v_parcial.
CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins
EXPORTING
vigencia = /pws/zycie085-dttax
regime = /pws/zycie001-regime
matnr = itab_zycit003-matnr
ncm = itab_zycit003-j_1bnbm
RECEIVING
acrescimo = v_acrescimo .
IF NOT v_acrescimo IS INITIAL .
itab_zycbt035_aux-imposto = 'COFP'.
IF NOT itab_zycit100-advalcofins IS INITIAL.
v_cofp = ( itab_zycit036-vlreal *
( v_acrescimo / 100 ) ) /
( itab_zycit100-advalcofins / 100 ) .
ENDIF.
itab_zycbt035_aux-wrbtr = v_cofp.
itab_zycbt035_aux-bschl = '40'.
APPEND itab_zycbt035_aux.
itab_zycbt035_aux-bschl = '50'.
APPEND itab_zycbt035_aux.
itab_zycbt035_aux-imposto = 'COFI'.
itab_zycbt035_aux-wrbtr = itab_zycit036-vlreal - v_cofp.
itab_zycbt035_aux-bschl = '40'.
APPEND itab_zycbt035_aux.
itab_zycbt035_aux-bschl = '50'.
APPEND itab_zycbt035_aux.
v_parcial = 'X' .
ENDIF.
IF v_parcial NE 'X' .
* << Fim da inclusão
itab_zycbt035_aux-wrbtr = itab_zycit036-vlreal.
itab_zycbt035_aux-bschl = '40'.
APPEND itab_zycbt035_aux.
itab_zycbt035_aux-bschl = '50'.
APPEND itab_zycbt035_aux.
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
ENDIF.
ENDIF.
* << Fim da inclusão
ELSE.
...
...
itab_zycbt035_aux-matuse
itab_zycbt035_aux-debcred
itab_zycbt035_aux-lei102.
READ TABLE itab_cta INDEX 1.
ENDIF.
PERFORM verify_null_field USING itab_cta-konth 'D_NEWKO' text-069.
itab_zycbt035_aux2-d_newko = itab_cta-konth.
ENDIF.
COLLECT itab_zycbt035_aux2.
ENDLOOP.
* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS
LOOP AT itab_zycbt035_aux WHERE imposto EQ 'COFI'.
* << Fim da exclusão
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
LOOP AT itab_zycbt035_aux WHERE imposto EQ 'COFI'
OR imposto EQ 'COFP' .
* << Fim da inclusão
CLEAR itab_zycbt035_aux2.
MOVE: itab_zycbt035_aux-bschl TO itab_zycbt035_aux2-bschl ,
* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS
itab_zycbt035_aux-imposto TO itab_zycbt035_aux2-imposto,
* << Fim da exclusão
itab_zycbt035_aux-matuse TO itab_zycbt035_aux2-matuse ,
itab_zycbt035_aux-d_gsber TO itab_zycbt035_aux2-d_gsber,
itab_zycbt035_aux-wrbtr TO itab_zycbt035_aux2-wrbtr ,
itab_zycbt035_aux-d_prctr TO itab_zycbt035_aux2-d_prctr,
itab_zycbt035_aux-c_prctr TO itab_zycbt035_aux2-c_prctr,
itab_zycbt035_aux-werks TO itab_zycbt035_aux2-werks .
CLEAR itab_zycbt012.
IF itab_zycbt035_aux-bschl EQ '40'.
CLEAR itab_cta. REFRESH itab_cta.
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
IF itab_zycbt035_aux-imposto EQ 'COFI' .
* << Fim da inclusão
PERFORM seek_account_number
TABLES itab_cta
USING wa_nf-bukrs
'COR'
itab_zycbt035_aux-werks
itab_zycbt035_aux-bklas
itab_zycbt035_aux-matuse
itab_zycbt035_aux-debcred
itab_zycbt035_aux-lei102.
READ TABLE itab_cta INDEX 1.
IF itab_cta-konth IS INITIAL.
CLEAR itab_cta. REFRESH itab_cta.
PERFORM seek_account_number
TABLES itab_cta
USING wa_nf-bukrs
'COR'
itab_zycbt035_aux-werks
space
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
itab_zycbt035_aux-matuse
itab_zycbt035_aux-debcred
itab_zycbt035_aux-lei102.
READ TABLE itab_cta INDEX 1.
ENDIF.
ELSE.
itab_zycbt035_aux-imposto = 'COFI' .
PERFORM seek_account_number
TABLES itab_cta
USING wa_nf-bukrs
'IPA'
itab_zycbt035_aux-werks
itab_zycbt035_aux-bklas
* << Fim da inclusão
itab_zycbt035_aux-matuse
itab_zycbt035_aux-debcred
itab_zycbt035_aux-lei102.
READ TABLE itab_cta INDEX 1.
ENDIF.
PERFORM verify_null_field USING itab_cta-konts 'D_NEWKO' text-016.
itab_zycbt035_aux2-d_newko = itab_cta-konts.
ELSEIF itab_zycbt035_aux-bschl EQ '50'.
CLEAR itab_cta. REFRESH itab_cta.
PERFORM seek_account_number
...
...
itab_zycbt035_aux-werks
space
itab_zycbt035_aux-matuse
itab_zycbt035_aux-debcred
itab_zycbt035_aux-lei102.
READ TABLE itab_cta INDEX 1.
ENDIF.
PERFORM verify_null_field USING itab_cta-konth 'D_NEWKO' text-069.
itab_zycbt035_aux2-d_newko = itab_cta-konth.
ENDIF.
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
itab_zycbt035_aux-imposto = 'COFI' .
MOVE itab_zycbt035_aux-imposto TO itab_zycbt035_aux2-imposto.
* << Fim da inclusão
COLLECT itab_zycbt035_aux2.
ENDLOOP.
LOOP AT itab_zycbt035_aux WHERE imposto EQ 'BPIS'.
CLEAR itab_zycbt035_aux2.
MOVE: itab_zycbt035_aux-bschl TO itab_zycbt035_aux2-bschl ,
itab_zycbt035_aux-imposto TO itab_zycbt035_aux2-imposto,
itab_zycbt035_aux-matuse TO itab_zycbt035_aux2-matuse ,
itab_zycbt035_aux-d_gsber TO itab_zycbt035_aux2-d_gsber,
itab_zycbt035_aux-wrbtr TO itab_zycbt035_aux2-wrbtr ,
itab_zycbt035_aux-werks TO itab_zycbt035_aux2-werks ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
/pws/zycit100,
/pws/zycit093,
/pws/zycit132,
/pws/zycit174,
indx,
/pws/zycit442.
* >> Início da inclusão:
DATA: v_acrescimo TYPE /pws/zycit406-acrescimo.
* << Fim da inclusão
...
...
FORM calcular_outros_custos
TABLES itab_zycit036 STRUCTURE itab_zycit036.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
DATA: BEGIN OF itab_zycit398 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit398.
DATA: END OF itab_zycit398.
DATA: v_parcial.
* << Fim da inclusão
,
...
...
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_fat
FOR ALL ENTRIES IN itab_zycit263t
WHERE nrseq_pgfat = itab_zycit263t-nrseq_pgfat
AND frpagto = 'A'
AND tpfatura NE '99'
AND eliminado NE 'X'.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
IF NOT itab_zycit036[] IS INITIAL.
CLEAR itab_zycit398.
REFRESH itab_zycit398 .
SELECT * FROM /pws/zycit398
INTO TABLE itab_zycit398.
SELECT * FROM /pws/zycit042
INTO TABLE itab_zycit042
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq = itab_zycit036-nrseq
AND ebeln = itab_zycit036-ebeln
AND ebelp = itab_zycit036-ebelp.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit036.
IF itab_zycit036-origem EQ 'PED' AND
itab_zycit036-netpr <= 0.
CONTINUE.
ENDIF.
...
...
WHEN OTHERS .
IF t001-land1 EQ 'BR'.
CLEAR: v_real_brl.
IF NOT itab_zycit036-vlreal IS INITIAL AND
NOT itab_zycit036-waers_real IS INITIAL.
CLEAR v_real_brl.
PERFORM converter_moeda USING itab_zycit036-vlreal
itab_zycit036-waers_real
/pws/zycbt007-waersb
CHANGING v_real_brl.
PERFORM trata_decimais USING itab_zycit036-waers_real
CHANGING v_real_brl.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
CLEAR v_parcial .
IF itab_zycit036-codigo = 'COFINS' .
clear v_acrescimo.
READ TABLE itab_zycit042 WITH KEY
nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp .
IF sy-subrc EQ 0.
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036-codigo
bukrs = /pws/zycie001-bukrs
clnf = 'G' .
IF sy-subrc NE 0.
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036-codigo
bukrs = space.
ENDIF.
IF itab_zycit398-creditar EQ 'S'.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp .
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp .
CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins
EXPORTING
vigencia = /pws/zycit085-dttax
regime = /pws/zycie001-regime
matnr = itab_zycit003-matnr
ncm = itab_zycit003-j_1bnbm
RECEIVING
acrescimo = v_acrescimo .
ENDIF.
ENDIF.
IF NOT v_acrescimo IS INITIAL.
v_real_brl = itab_zycit100-basecofins *
( v_acrescimo / 100 ).
ENDIF.
ENDIF.
* << Fim da inclusão
IF v_itemcongela NE 'X'.
itab_zycit036-vlmov = v_real_brl.
itab_zycit036-waers_mov = /pws/zycbt007-waersb.
ELSE.
READ TABLE itab_zycit036_plan WITH KEY
nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
codigo = itab_zycit036-codigo.
IF sy-subrc = 0.
...