CE PLUS - Nota 003830

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AO TRANSMITIR SISCOMEX, A CONTA ESTÁ INDO SOMENTE COM HÍFEN, SEM DÍGITO.

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

...