Módulo: DRAWBACK
Funcionalidade: Entrada de NF Mercado Interno
Data/Hora da Publicação: 14/07/2009 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:06:56
Descrição da Nota: DRAWBACK INTERMEDIÁRIO EXPORTAÇÃO EM USD
Sintoma
Desenvolvido controle de drawback intermediário exportação em USD.
Solução
Desenvolvido controle de drawback intermediário exportação em USD.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08666 Data: 14/07/2009 Hora: 11:34:39
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08666
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00105
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04900 - 00001 - 7.0 - 00003 - PREENCHIMENTO DO VALOR DO SEGURO DE IMPORTAÇÃO NO ATO CONCESSÓRIO
07484 - 00002 - 7.0 - 00007 - CONVERSÃO DE MOEDAS.
07803 - 00003 - 7.0 - 00008 - CALCULO DO VALOR TOTAL DAS NOTAS FISCAIS
08655 - 00004 - 7.0 - 00010 - GRAVAÇÃO DA MOEDA DA IMPORTAÇÃO / MERCADO INTERNO
08660 - 00005 - 7.0 - 00010 - CONVERTER VALORES DE ITENS COM DRAWBACK NO RE
08661 - 00006 - 7.0 - 00010 - ATO CONCESSÓRIO INTERMEDIÁRIO EXPORTAÇÃO USD
----------------------------------------------------------------------------------------------------
DRAWBACK INTERMEDIÁRIO EXPORTAÇÃO EM USD
----------------------------------------------------------------------------------------------------
Palavras Chave:
DRAWBACK INTERMEDIÁRIO EXPORTAÇÃO USD ENTRADA NOTAS FISCAIS
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI052 0100
DYNP /PWS/SAPMZYCI052 0200
REPS /PWS/MZYCI052F01
REPS /PWS/MZYCI052I01
REPS /PWS/MZYCI052O01
REPS /PWS/MZYCI052TOP
TABD /PWS/ZYCIE330
TABD /PWS/ZYCIT330
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI052 0100
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-CODCOMP" em tbl.contr./tabstr.
Coluna 19
MODIFICAR TEXTO "/PWS/ZYCIE330-CODCOMP" em tbl.contr./tabstr.
Coluna 19
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-DTREG" em tbl.contr./tabstr.
Coluna 18
MODIFICAR TEXTO "/PWS/ZYCIE330-DTREG" em tbl.contr./tabstr.
Coluna 18
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-GEWEI" em tbl.contr./tabstr.
Coluna 11
MODIFICAR TEXTO "/PWS/ZYCIE330-GEWEI" em tbl.contr./tabstr.
Coluna 11
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NCM" em tbl.contr./tabstr.
Coluna 20
MODIFICAR TEXTO "/PWS/ZYCIE330-NCM" em tbl.contr./tabstr.
Coluna 20
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRATOC" em tbl.contr./tabstr.
Coluna 14
MODIFICAR TEXTO "/PWS/ZYCIE330-NRATOC" em tbl.contr./tabstr.
Coluna 14
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRDI" em tbl.contr./tabstr.
Coluna 16
MODIFICAR TEXTO "/PWS/ZYCIE330-NRDI" em tbl.contr./tabstr.
Coluna 16
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRITEM" em tbl.contr./tabstr.
Coluna 15
MODIFICAR TEXTO "/PWS/ZYCIE330-NRITEM" em tbl.contr./tabstr.
Coluna 15
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRSEQD" em tbl.contr./tabstr.
Coluna 13
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NTGEW" em tbl.contr./tabstr.
Coluna 12
MODIFICAR TEXTO "/PWS/ZYCIE330-NTGEW" em tbl.contr./tabstr.
Coluna 12
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-TPDI" em tbl.contr./tabstr.
Coluna 17
MODIFICAR TEXTO "/PWS/ZYCIE330-TPDI" em tbl.contr./tabstr.
Coluna 17
INCLUIR CAMPO TEXTO "/PWS/ZYCIE330-VLTOT" em tbl.contr./tabstr.
Altura 17
Comprimento Visível 26
Linha 1
Coluna 10
Formato CURR
Campo referência /PWS/ZYCIE330-WAERK
Linhas mínimas 15
Colunas mínimas 2
Texto ___________________V_____V
INCLUIR TEXTO "/PWS/ZYCIE330-VLTOT" em tbl.contr./tabstr.
Altura 17
Comprimento Visível 15
Linha 1
Coluna 10
Formato CHAR
Texto Valor Total USD
MODIFICAR TEXTO "V_TXTNRSEQ" em tbl.contr./tabstr.
Coluna 13
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI052 0200
MODIFICAR CAMPO TEXTO "ITAB_VINC-VALOR" em tbl.contr./tabstr.
Altura 20
MODIFICAR TEXTO "ITAB_VINC-VALOR" em tbl.contr./tabstr.
Altura 20
INCLUIR CAMPO TEXTO "ITAB_VINC-WAERS" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 5
Linha 1
Coluna 6
Formato CHAR
Texto _____
INCLUIR TEXTO "ITAB_VINC-WAERS" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 5
Linha 1
Coluna 6
Formato CHAR
Texto Moeda
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052F01
...
UPDATE /pws/zycit245
SET vlvinc = itab_zycit245_des-vlvinc
vinculado = itab_zycit245_des-vinculado
WHERE nrseqd EQ itab_zycit245_des-nrseqd
AND nritem EQ itab_zycit245_des-nritem.
ENDLOOP.
DELETE /pws/zycit279 FROM TABLE itab_zycit279_d.
ENDIF.
REFRESH: itab_zycit279.
LOOP AT itab_zycit330.
* >> Início da inclusão: FORM SALVAR_DADOS
READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit330-nrseqd
nritem = itab_zycit330-nritem.
* << Fim da inclusão
READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit330-ebeln
ebelp = itab_zycit330-ebelp.
IF sy-subrc EQ 0.
MOVE itab_ekpo-matnr TO /pws/zycit279-matnr.
ENDIF.
READ TABLE itab_j_1bnflin WITH KEY
itmnum = itab_zycit330-buzei.
* >> Início da exclusão: FORM SALVAR_DADOS
/pws/zycit279-vltot = itab_zycit330-netwr.
* << Fim da exclusão
/pws/zycit279-ntgew = itab_zycit330-menge * itab_zycit330-ntgew.
PERFORM converte_um_ncm USING /pws/zycit279-matnr
CHANGING itab_zycit330-meins
itab_j_1bnflin-werks
itab_zycit330-menge.
* >> Início da exclusão: FORM SALVAR_DADOS
/pws/zycit279-valor = /pws/zycit279-vltot / itab_zycit330-menge.
IF /pws/zycie329-tipo IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS
IF itab_zycit245-waers EQ /pws/zycbt007-waersa.
* << Fim da inclusão
PERFORM converter_moeda USING j_1bnflin-netfre
itab_zycit330-waerk
/pws/zycbt007-waersa
/pws/zycie329-docdat
CHANGING /pws/zycit279-vlfrete.
PERFORM converter_moeda USING j_1bnflin-netins
itab_zycit330-waerk
/pws/zycbt007-waersa
/pws/zycie329-docdat
CHANGING /pws/zycit279-vlseg.
* >> Início da inclusão: FORM SALVAR_DADOS
/pws/zycit279-vltot = itab_zycit330-vltot.
* << Fim da inclusão
ELSE.
/pws/zycit279-vlfrete = j_1bnflin-netfre.
/pws/zycit279-vlseg = j_1bnflin-netins.
* >> Início da inclusão: FORM SALVAR_DADOS
/pws/zycit279-vltot = itab_zycit330-netwr.
* << Fim da inclusão
ENDIF.
MOVE: itab_zycit330-ebeln TO /pws/zycit279-ebeln ,
itab_zycit330-ebelp TO /pws/zycit279-ebelp ,
itab_zycit330-docnum TO /pws/zycit279-docnum ,
itab_zycit330-nrseqd TO /pws/zycit279-nrseqd ,
itab_zycit330-menge TO /pws/zycit279-menge ,
itab_zycit330-menge TO /pws/zycit279-slqtde ,
itab_zycit330-meins TO /pws/zycit279-meins ,
itab_j_1bnflin-werks TO /pws/zycit279-werks ,
itab_zycit330-buzei TO /pws/zycit279-buzei ,
itab_zycit330-lote TO /pws/zycit279-lote ,
itab_zycit330-ncm TO /pws/zycit279-j_1bnbm,
itab_zycit330-menge TO /pws/zycit279-qtd_iten,
itab_zycit330-gewei TO /pws/zycit279-gewei ,
* >> Início da exclusão: FORM SALVAR_DADOS
itab_zycit330-waerk TO /pws/zycit279-waers ,
itab_zycit330-netpr TO /pws/zycit279-netpr ,
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS
itab_zycit245-waers TO /pws/zycit279-waers ,
* << Fim da inclusão
itab_zycit329-nfnum TO /pws/zycit279-nfnum ,
itab_zycit329-series TO /pws/zycit279-serie ,
itab_zycit329-docdat TO /pws/zycit279-dtnf ,
itab_zycit330-buzei TO /pws/zycit279-itmnum .
CLEAR: itab_zycit279-baseii,
itab_zycit279-basepis,
itab_zycit279-basecofins.
LOOP AT itab_j_1bnfstx
WHERE docnum EQ itab_zycit330-docnum
AND itmnum EQ itab_zycit330-buzei.
...
...
WHEN 'PIS'.
/pws/zycit279-basepis =
itab_j_1bnfstx-othbas + itab_j_1bnfstx-base.
/pws/zycit279-pis = itab_j_1bnfstx-rate.
WHEN 'COFINS'.
/pws/zycit279-basecofins =
itab_j_1bnfstx-othbas + itab_j_1bnfstx-base.
/pws/zycit279-cofins = itab_j_1bnfstx-rate.
ENDCASE.
ENDLOOP.
* >> Início da inclusão: FORM SALVAR_DADOS
/pws/zycit279-netpr = /pws/zycit279-vltot /
/pws/zycit279-menge.
* << Fim da inclusão
MOVE: j_1bnfdoc-waerk TO /pws/zycit279-i_waerscifmi .
/pws/zycit279-i_txmoeda = itab_j_1bnflin-netwr /
/pws/zycit279-vltot.
/pws/zycit279-valor = itab_j_1bnflin-netwr /
/pws/zycit279-menge.
/pws/zycit279-vlfrete = itab_j_1bnflin-netfre.
/pws/zycit279-vlseg = itab_j_1bnflin-netins.
/pws/zycit279-um_base = /pws/zycit279-meins.
PERFORM converte_um_base USING /pws/zycit279-matnr
CHANGING /pws/zycit279-um_base
...
...
MESSAGE i015 WITH text-289 j_1bnflin-werks.
LEAVE TO TRANSACTION sy-tcode.
ENDIF.
IF /pws/zycie329-tipo IS INITIAL.
PERFORM converter_moeda USING j_1bnflin-netwr
itab_zycit330-waerk
/pws/zycbt007-waersa
/pws/zycie329-docdat
CHANGING itab_zycit330-netwr.
itab_zycit330-waerk = /pws/zycbt007-waersa.
* >> Início da inclusão: FORM CARREGA_DADOS
itab_zycit330-vltot = itab_zycit330-netwr.
* << Fim da inclusão
ELSE.
itab_zycit330-netwr = j_1bnflin-netwr.
* >> Início da inclusão: FORM CARREGA_DADOS
PERFORM converter_moeda USING j_1bnflin-netwr
itab_zycit330-waerk
/pws/zycbt007-waersa
/pws/zycie329-docdat
CHANGING itab_zycit330-vltot.
* << Fim da inclusão
ENDIF.
...
...
CLEAR itab_zycit245.
READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit244-nrseqd.
itab_zycit330_aux[] = itab_zycit330[].
LOOP AT itab_zycit330_aux WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
PERFORM converte_um_ncm USING itab_zycit330_aux-codcomp
CHANGING itab_zycit330_aux-meins
j_1bnflin-werks
itab_zycit330_aux-menge.
v_vinculado = v_vinculado + itab_zycit330_aux-menge.
* >> Início da inclusão: FORM VINCULA_ATO
IF itab_zycit245-waers EQ /pws/zycbt007-waersa.
v_vlvinc = v_vlvinc + itab_zycit330_aux-vltot.
ELSE.
* << Fim da inclusão
v_vlvinc = v_vlvinc + itab_zycit330_aux-netwr.
* >> Início da inclusão: FORM VINCULA_ATO
ENDIF.
* << Fim da inclusão
ENDLOOP.
CLEAR itab_zycit330_aux. REFRESH itab_zycit330_aux.
itab_vinc-qtd = itab_zycit245-qtd_ncm - itab_zycit245-vinculado -
v_vinculado.
itab_vinc-valor = itab_zycit245-netpr_t - itab_zycit245-vlvinc -
v_vlvinc.
itab_vinc-nritem = itab_zycit245-nritem.
* >> Início da inclusão: FORM VINCULA_ATO
itab_vinc-waers = itab_zycit245-waers.
* << Fim da inclusão
IF itab_vinc-qtd <= 0.
itab_vinc-qtd = 0.
ENDIF.
IF itab_vinc-valor <= 0.
itab_vinc-valor = 0.
ENDIF.
* >> Início da inclusão: FORM VINCULA_ATO
IF NOT itab_vinc-waers EQ /pws/zycbt007-waersa.
* << Fim da inclusão
IF itab_vinc-qtd < itab_zycit330-menge
OR itab_vinc-valor < itab_zycit330-netwr.
* >> Início da inclusão: FORM VINCULA_ATO
itab_vinc-icon = '@5C@'.
ELSE.
itab_vinc-icon = '@5B@'.
ENDIF.
ELSE.
IF itab_vinc-qtd < itab_zycit330-menge
OR itab_vinc-valor < itab_zycit330-vltot.
* << Fim da inclusão
itab_vinc-icon = '@5C@'.
ELSE.
itab_vinc-icon = '@5B@'.
* >> Início da inclusão: FORM VINCULA_ATO
ENDIF.
* << Fim da inclusão
ENDIF.
APPEND itab_vinc.
ENDLOOP.
IF itab_vinc[] IS INITIAL.
...
...
itab_zycit330_aux-menge.
v_vinculado = v_vinculado + itab_zycit330_aux-menge.
v_vlvinc = v_vlvinc + itab_zycit330_aux-netwr.
ENDLOOP.
CLEAR itab_zycit330_aux. REFRESH itab_zycit330_aux.
itab_vinc-nritem = itab_zycit245-nritem.
itab_vinc-qtd = itab_zycit245-qtd_ncm - itab_zycit245-vinculado -
v_vinculado.
itab_vinc-valor = itab_zycit245-netpr_t - itab_zycit245-vlvinc -
v_vlvinc.
* >> Início da inclusão: FORM VINCULA_ATO_SUSP
itab_vinc-waers = itab_zycit245-waers.
* << Fim da inclusão
IF itab_vinc-qtd <= 0.
itab_vinc-qtd = 0.
ENDIF.
IF itab_vinc-valor <= 0.
itab_vinc-valor = 0.
ENDIF.
IF /pws/zycit321-apr_imp IS INITIAL.
IF itab_vinc-qtd < itab_zycit330-menge
OR itab_vinc-valor < itab_zycit330-netwr.
itab_vinc-icon = '@5C@'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052I01
...
/pws/zycie330-netwr TO itab_zycit330-netwr ,
/pws/zycie330-gewei TO itab_zycit330-gewei ,
/pws/zycie330-ntgew TO itab_zycit330-ntgew ,
/pws/zycie330-nrseqd TO itab_zycit330-nrseqd,
/pws/zycie330-nratoc TO itab_zycit330-nratoc,
/pws/zycie330-nrdi TO itab_zycit330-nrdi ,
/pws/zycie330-tpdi TO itab_zycit330-tpdi ,
/pws/zycie330-dtreg TO itab_zycit330-dtreg ,
/pws/zycie330-codcomp TO itab_zycit330-codcomp,
/pws/zycie330-nritem TO itab_zycit330-nritem ,
* >> Início da inclusão: MODULE ATUALIZA_ZYCIT330
/pws/zycie330-vltot TO itab_zycit330-vltot ,
* << Fim da inclusão
/pws/zycie330-ncm TO itab_zycit330-ncm ,
mark TO itab_zycit330-mark .
IF itab_zycit330-nrseqd IS INITIAL.
CLEAR itab_zycit330-nratoc.
ENDIF.
IF NOT /pws/zycie330-ebeln IS INITIAL AND NOT /pws/zycie330-ebelp IS
INITIAL.
MODIFY itab_zycit330 INDEX tc_itens-current_line.
ENDIF.
IF sy-subrc NE 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052O01
...
itab_zycit330-netwr TO /pws/zycie330-netwr ,
itab_zycit330-gewei TO /pws/zycie330-gewei ,
itab_zycit330-ntgew TO /pws/zycie330-ntgew ,
itab_zycit330-nrseqd TO /pws/zycie330-nrseqd,
itab_zycit330-nratoc TO /pws/zycie330-nratoc,
itab_zycit330-nrdi TO /pws/zycie330-nrdi ,
itab_zycit330-tpdi TO /pws/zycie330-tpdi ,
itab_zycit330-dtreg TO /pws/zycie330-dtreg ,
itab_zycit330-codcomp TO /pws/zycie330-codcomp,
itab_zycit330-nritem TO /pws/zycie330-nritem ,
* >> Início da inclusão: MODULE ATUALIZA_ZYCIE330
itab_zycit330-vltot TO /pws/zycie330-vltot ,
* << Fim da inclusão
itab_zycit330-ncm TO /pws/zycie330-ncm ,
itab_zycit330-mark TO mark .
DESCRIBE TABLE itab_zycit330 LINES v_line.
tc_itens-lines = v_line + 11.
ENDMODULE.
MODULE set_screen OUTPUT.
IF v_tcode = '/PWS/ZYCI052_E'.
LOOP AT SCREEN.
IF screen-group1 EQ 'OPE'.
screen-input = 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052TOP
...
DATA: BEGIN OF itab_zycit279_aux OCCURS 10.
INCLUDE STRUCTURE /pws/zycit279.
DATA: END OF itab_zycit279_aux.
DATA: BEGIN OF itab_vinc OCCURS 10.
DATA: icon(4) ,
nrseqd LIKE /pws/zycit244-nrseqd ,
nratoc LIKE /pws/zycit244-nratoc ,
qtd LIKE /pws/zycit245-qtd_tot,
valor LIKE /pws/zycit245-netpr_t,
nritem LIKE /pws/zycit245-nritem ,
* >> Início da inclusão:
waers LIKE /pws/zycit245-waers ,
* << Fim da inclusão
mark .
DATA: END OF itab_vinc.
DATA wa_zycie329 LIKE /pws/zycie329.
DATA: tdynpread LIKE dynpread OCCURS 0 WITH HEADER LINE.
CONTROLS: tc_itens TYPE TABLEVIEW USING SCREEN 0100,
tc_ato TYPE TABLEVIEW USING SCREEN 0200.
DATA: v_name1 LIKE lfa1-name1 ,
v_waers LIKE /pws/zycit001-waers ,
v_tcode LIKE sy-tcode ,
okcode LIKE sy-ucomm ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE330
...
DTREG DATUM
NCM STEUC
CODCOMP MATNR
NRITEM CHAR05
* >> Início da inclusão: TABD /PWS/ZYCIE330
VLTOT J_1BNETVAL
* << Fim da inclusão
* Inclusão do campo 'VLTOT'
* TpCampo: J_1BNETVAL
* Tabela Referencia: /PWS/ZYCIT330
* Cpo. ref.: WAERK
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT330
...
DTREG DATUM
NCM STEUC
CODCOMP MATNR
NRITEM CHAR05
* >> Início da inclusão: TABD /PWS/ZYCIT330
VLTOT J_1BNETVAL
* << Fim da inclusão
* Inclusão do campo 'VLTOT'
* TpCampo: J_1BNETVAL
* Tabela Referencia: /PWS/ZYCIT330
* Cpo. ref.: WAERK