Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Função
Data/Hora da Publicação: 01/06/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:30:58
Descrição da Nota: AJUSTES PARA TRANSMISSÃO DE DESPESAS DI
Sintoma
Transmissão Siscomex - DI Valor THC no valor da mercadoria não está transmitindo, somando ao valor
da mercadoria na pasta carga da DI.
Solução
Atualização do programa de transmissão de DI ao siscomex para envio correto do valor total da
mercadoria na moeda.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03830 Data: 01/06/2007 Hora: 17:14:08
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03830
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00168
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03673 - 00001 - 7.0 - 00001 - AO TRANSMITIR SISCOMEX, A CONTA ESTÁ INDO SOMENTE COM HÍFEN, SEM
----------------------------------------------------------------------------------------------------
AJUSTES PARA TRANSMISSÃO DE DESPESAS DI
----------------------------------------------------------------------------------------------------
Palavras Chave:
V_VALOR, /PWS/ZYCIE085-VLFOB, WA_085-WAERS, IT_CABECALHO_DI-WAERS
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSFER_DI
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSFER_DI
...
/pws/zycie123a,
/pws/zycit122 ,
/pws/zycit124 ,
/pws/zycft007 ,
/pws/zycie006 ,
/pws/zycit263 ,
/pws/zycit080 ,
lfa1 ,
t005u ,
lfbk ,
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
t001 .
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
t001 ,
/pws/zycit000,
/pws/zycbt007.
data: v_valor type /pws/zycie085-vlfob.
* << Fim da inclusão
CLEAR:
it_cabecalho_di, it_itens_di, it_det_itens_di, it_inst_desp_di,
it_proc_vinc_di, it_volumes_di, it_armazens_di, it_deb_cta_di,
it_doc_vinc_di, it_prest_cta_di, it_acresc_sisco, it_deduc_sisco,
it_adicao_di, it_pagtos_di, it_parc_var_di, it_nomencl_di,
it_t005_di, it_urf_desp_di, it_resumoit_di, it_bl_di,
it_faturas_di, it_ag_faturas, it_compl_di, it_destncm, it_forn,
it_destaque, it_lfbk, it_fat_merc_di.
REFRESH:
it_cabecalho_di, it_itens_di, it_det_itens_di, it_inst_desp_di,
...
...
it_destaque, it_lfbk, it_fat_merc_di.
v_nrseqdi = i_nrseqdi .
v_tpdi = i_tpdi .
PERFORM carrega_exits
CHANGING
itab_zyglt100[].
SELECT * UP TO 1 ROWS FROM /pws/zycit085 INTO TABLE it_cabecalho_di
WHERE nrseqdi EQ i_nrseqdi
AND tpdi EQ i_tpdi.
IF sy-subrc EQ 0.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
SELECT SINGLE * FROM t001 WHERE bukrs EQ it_cabecalho_di-bukrs.
SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000
WHERE land1 EQ t001-land1.
SELECT SINGLE * FROM /pws/zycbt007 INTO /pws/zycbt007
WHERE bukrs EQ it_cabecalho_di-bukrs.
* << Fim da inclusão
IF NOT it_cabecalho_di[] IS INITIAL.
READ TABLE it_cabecalho_di INDEX 1.
IF it_cabecalho_di-opfundap IS INITIAL.
it_cabecalho_di-opfundap = 'N'.
ELSE.
it_cabecalho_di-opfundap = 'S'.
ENDIF.
p_moeda = it_cabecalho_di-waersseg.
p_valor = it_cabecalho_di-vlseg.
PERFORM trata_decimais_di USING p_moeda
p_valor.
it_cabecalho_di-vlseg = p_valor.
MODIFY it_cabecalho_di INDEX 1 TRANSPORTING opfundap vlseg.
MOVE it_cabecalho_di TO wa_085.
PERFORM load_pais(/pws/sapmzyci023) USING wa_085-land
CHANGING it_cabecalho_di-land v_txtpais.
PERFORM load_waers(/pws/sapmzyci023):
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
USING wa_085-waersfob
CHANGING it_cabecalho_di-waersfob v_txtw,
* << Fim da exclusão
USING wa_085-waersseg
CHANGING it_cabecalho_di-waersseg v_txtw,
USING wa_085-waers
CHANGING it_cabecalho_di-waers v_txtw.
MODIFY it_cabecalho_di INDEX 1 TRANSPORTING
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
land waersfob waersseg waers.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
land waersseg waers.
* << Fim da inclusão
IF NOT it_cabecalho_di[] IS INITIAL.
SELECT * FROM /pws/zycit100 INTO TABLE it_itens_di
FOR ALL ENTRIES IN it_cabecalho_di
WHERE nrseqdi EQ it_cabecalho_di-nrseqdi.
ENDIF.
IF NOT it_itens_di[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE it_det_itens_di
FOR ALL ENTRIES IN it_itens_di
WHERE nrseq EQ it_itens_di-nrseq
AND ebeln EQ it_itens_di-ebeln
...
...
READ TABLE it_039 WITH KEY
codigo = it_019-codigo.
IF sy-subrc EQ 0.
it_049-divabs = it_039-divabs.
ENDIF.
ENDIF.
it_049-codigo = it_019-codigo.
it_049-tipo = it_019-tipo.
it_049-tpdesp = it_019-tpdesp.
it_049-coddesp = it_019-coddesp.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
IF it_049-waers NE 'BRL'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
IF it_049-tipo EQ 'A'.
IF it_049-tpdesp NE /pws/zycit000-flagfreten.
IF it_049-waers NE it_cabecalho_di-waersfob.
if it_049-waers eq /pws/zycbt007-waersb.
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_cabecalho_di-waersfob
wa_085-dttax
CHANGING s_tax.
IF NOT s_tax IS INITIAL .
it_cabecalho_di-vlfob = it_cabecalho_di-vlfob +
( it_049-vldp / s_tax ) .
ENDIF.
else.
v_valor = it_049-vldp.
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_049-waers
wa_085-dttax
changing s_tax.
v_valor = v_valor * s_tax.
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_cabecalho_di-waersfob
wa_085-dttax
changing s_tax.
if not s_tax is initial.
v_valor = v_valor / s_tax.
endif.
it_cabecalho_di-vlfob = it_cabecalho_di-vlfob +
v_valor .
endif.
ELSE.
it_cabecalho_di-vlfob =
it_cabecalho_di-vlfob + it_049-vldp.
ENDIF.
ENDIF.
ENDIF.
IF it_049-waers NE /pws/zycbt007-waersb.
* << Fim da inclusão
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_049-waers wa_085-dttax
CHANGING s_tax.
it_049-vlreal = it_049-vldp * s_tax.
ELSE.
it_049-vlreal = it_049-vldp.
ENDIF.
v_moeda = it_049-waers.
PERFORM load_waers(/pws/sapmzyci023):
USING v_moeda
...
...
APPEND it_deduc_sisco.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
SORT it_acresc_sisco BY adicao codigo.
SORT it_deduc_sisco BY adicao codigo.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
PERFORM load_waers(/pws/sapmzyci023):
USING wa_085-waersfob
CHANGING it_cabecalho_di-waersfob v_txtw.
MODIFY it_cabecalho_di INDEX 1 TRANSPORTING
vlfob vlfobr waersfob .
* << Fim da inclusão
DATA: BEGIN OF it_det_itens_di_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycie003.
DATA: END OF it_det_itens_di_aux.
DATA: BEGIN OF it_resumoit_di_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycie100t.
DATA: END OF it_resumoit_di_aux.
LOOP AT it_itens_di.
READ TABLE it_det_itens_di WITH KEY
nrseq = it_itens_di-nrseq
ebeln = it_itens_di-ebeln
...