CE PLUS - Nota 004650

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 06/09/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:09:45

Descrição da Nota: AJUST ENO CALCULO DO IVA PARA A BAP DA MIRO.

Sintoma

O programa está calculando incorretamente o valor de IVA.

 

 

Solução

informar a região do itens do pedido selecionando-os na ekpo assim como é realizado na bapi da miro.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTE PARA REALIZAR O RATEIO DE IMPOSTOS DE ACORDO COM A ANA

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 04650 Data: 06/09/2007 Hora: 16:00:58

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 04650

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00013

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

04525  - 00001 - 7.0    - 00002  - AJUSTE PARA REALIZAR O RATEIO DE IMPOSTOS DE ACORDO COM A ANA

----------------------------------------------------------------------------------------------------

AJUST ENO CALCULO DO IVA PARA A BAP DA MIRO.

----------------------------------------------------------------------------------------------------

Palavras Chave:

IVA - BAP - MIRO - FATURA - /PWS/SAPMZYCI003

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI003F02

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

          INCLUDE STRUCTURE komk.

  DATA: ebeln LIKE ekko-ebeln.

  DATA: END OF itab_komk_aux.

  DATA: BEGIN OF itab_fat OCCURS 0.

  DATA: nrseq TYPE /pws/zycie006-nrseq.

  DATA: END OF itab_fat.

  DATA: itab_zycit047a TYPE /pws/zycit047 OCCURS 0 WITH HEADER LINE.

  DATA: BEGIN OF itab_ivaped OCCURS 0.

  DATA:  ebeln TYPE ekpo-ebeln,

         ebelp TYPE ekpo-ebelp,

* >> Início da exclusão: FORM MIRO_AM_LA

         mwskz TYPE ekpo-mwskz.

* << Fim da exclusão

* >> Início da inclusão: FORM MIRO_AM_LA

         mwskz TYPE ekpo-mwskz,

         txjcd TYPE ekpo-txjcd.

* << Fim da inclusão

  DATA: END OF itab_ivaped.

  DATA: itab_itens_iva TYPE mmcr_drseg OCCURS 0 WITH HEADER LINE,

        itab_retorno TYPE bset OCCURS 0 WITH HEADER LINE.

  DATA: itab_zycit399 TYPE /pws/zycit399 OCCURS 0 WITH HEADER LINE,

        itab_zycit403 TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE,

        itab_zycit403a TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE.

* >> Início da inclusão: FORM MIRO_AM_LA

  v_vltotal = /pws/zycie006-vltotal.

  PERFORM retorna_decimais USING /pws/zycie006-waers

                         CHANGING v_vltotal.

* << Fim da inclusão

  IF v_parcela = 'X' AND

    NOT itab_zycit132-belnr_mr1m IS INITIAL.

    EXIT.

  ENDIF.

  FREE: itab_contas_aux.

  itab_contas_aux[] = itab_contas[].

  itab_zycbe033_aux[] = itab_zycbe033[].

  PERFORM get_parameters_mrm1_receb.

  CASE /pws/zycie006-tpfatura.

    WHEN '01'.

...

 

...

                            OR kbetr EQ space.

      ENDIF.

    ENDIF.

    SELECT * FROM /pws/zycit399 INTO TABLE itab_zycit399

        WHERE pais EQ t001-land1.

    READ TABLE itab_zycit003 INDEX 1.

    SELECT SINGLE nrseqdi FROM /pws/zycit100 INTO /pws/zycit085-nrseqdi

    WHERE nrseq EQ itab_zycit003-nrseq.

    SELECT * FROM /pws/zycit403 INTO TABLE itab_zycit403

        WHERE nrseqdi EQ /pws/zycit085-nrseqdi.

* >> Início da exclusão: FORM MIRO_AM_LA

  ELSE.

    SELECT ebeln ebelp mwskz FROM ekpo

* << Fim da exclusão

* >> Início da inclusão: FORM MIRO_AM_LA

  ENDIF.

  REFRESH itab_ivaped.

  SELECT ebeln ebelp mwskz txjcd FROM ekpo

* << Fim da inclusão

        INTO TABLE itab_ivaped

        FOR ALL ENTRIES IN itab_zycit003

        WHERE ebeln EQ itab_zycit003-ebeln

          AND ebelp EQ itab_zycit003-ebelp.

* >> Início da exclusão: FORM MIRO_AM_LA

  ENDIF.

* << Fim da exclusão

  READ TABLE itab_zycit003 INDEX 1.

  READ TABLE itab_zycbe033_aux INDEX 1.

  IF /pws/zycie006-tpfatura EQ '02' AND

...

...

      itab_zycit031-meins  = itab_zycit003-meins   .

      itab_zycit031-mwskz  = itab_zycie033-mwskz   .

      LOOP AT itab_zycit047 WHERE vldp > 0.

        CLEAR: itab_zycit019, itab_zycit030.

        READ TABLE itab_zycit019 WITH KEY

                                  tpdesp = itab_zycit047-tpdesp.

        READ TABLE itab_zycit030 WITH KEY

                                  codigo = itab_zycit019-codigo.

        itab_zycit031-lgort = itab_zycit030-kschl.

        itab_zycit031-wrbtr  = itab_contas_aux-wrbtr *

* >> Início da exclusão: FORM MIRO_AM_LA

             ( itab_zycit047-vldp / /pws/zycie006-vltotal ).

* << Fim da exclusão

* >> Início da inclusão: FORM MIRO_AM_LA

             ( itab_zycit047-vldp / v_vltotal ).

* << Fim da inclusão

        v_vlaux = v_vlaux + itab_zycit031-wrbtr.

        READ TABLE itab_zycit399 WITH KEY codigo = itab_zycit019-codigo.

        IF sy-subrc EQ 0.

          CONTINUE.

        ENDIF.

        CLEAR: itab_zycit031-sernp.

        READ TABLE itab_zycit047a WITH KEY

                        tpdesp = itab_zycit047-tpdesp.

        IF sy-subrc EQ 0.

          itab_zycit031-sernp = 'X'.

...

...

            EXIT.

          ENDIF.

        ELSE.

          CONTINUE.

        ENDIF.

        CLEAR: v_vlaux.

        LOOP AT itab_zycit403 WHERE codigo = itab_zycit019-codigo.

          READ TABLE itab_zycit003

                    WITH KEY ebeln = itab_zycit403-ebeln

                             ebelp = itab_zycit403-ebelp.

* >> Início da exclusão: FORM MIRO_AM_LA

          PERFORM retorna_decimais USING /pws/zycie006-waers

                                CHANGING itab_contas_aux-wrbtr.

* << Fim da exclusão

          CLEAR: itab_zycit031.

          itab_zycit031-tcode  = itab_zycie033-tcode   .

          itab_zycit031-tabela = itab_zycie033-tabela  .

          itab_zycit031-cpochv = itab_zycie033-cpochv  .

          itab_zycit031-ebeln  = itab_zycit003-ebeln   .

          itab_zycit031-ebelp  = itab_zycit003-ebelp   .

          itab_zycit031-meins  = itab_zycit003-meins   .

          itab_zycit031-mwskz  = itab_zycie033-mwskz   .

          itab_zycit031-menge  = itab_zycit003-qtd_iten.

          itab_zycit031-wrbtr  = itab_zycit047-vldp *

...

 

...

    itab_itens_iva-ebeln = itab_itemdata-po_number.

    itab_itens_iva-ebelp = itab_itemdata-po_item.

    itab_itens_iva-matnr = itab_zycit003-matnr.

    itab_itens_iva-meins = itab_itemdata-po_unit.

    itab_itens_iva-umren = '1'.

    itab_itens_iva-umrez = '1'.

    itab_itens_iva-waers = /pws/zycie006-waers.

    itab_itens_iva-wepos = 'X'.

    itab_itens_iva-werks = itab_zycit003-werks.

    itab_itens_iva-eindt = itab_zycie033-bldat.

* >> Início da inclusão: FORM MIRO_AM_LA

    READ TABLE itab_ivaped WITH KEY ebeln = itab_zycit003-ebeln

                                    ebelp = itab_zycit003-ebelp.

    itab_itens_iva-txjcd = itab_ivaped-txjcd.

    IF itab_zycie033-mwskz IS INITIAL.

      itab_itens_iva-mwskz = itab_zycit031-mwskz.

    ELSE.

* << Fim da inclusão

    itab_itens_iva-mwskz = itab_zycie033-mwskz.

* >> Início da inclusão: FORM MIRO_AM_LA

    ENDIF.

* << Fim da inclusão

    itab_itens_iva-gjahr = itab_zycie033-bldat(4).

    itab_itens_iva-kokrs = /pws/zycie006-bukrs.

    itab_itens_iva-menge = itab_itemdata-quantity.

    itab_itens_iva-mlmaa = 'X'.

    itab_itens_iva-selkz = 'X'.

    itab_itens_iva-wrbtr = itab_itemdata-item_amount.

...

 

...

      i_wwert           = itab_zycie033-bldat

    TABLES

      t_drseg           = itab_itens_iva

      t_bset            = itab_retorno

   EXCEPTIONS

      user_exit         = 1

      OTHERS            = 2

            .

  IF sy-subrc <> 0.

  ENDIF.

* >> Início da inclusão: FORM MIRO_AM_LA

  CLEAR: itab_retorno-hwste.

  LOOP AT itab_itens_iva.

    ADD itab_itens_iva-fwste TO itab_retorno-hwste.

  ENDLOOP.

* << Fim da inclusão

  wa_headerdata-gross_amount = wa_headerdata-gross_amount +

                                             itab_retorno-hwste.

  CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'

       EXPORTING

            headerdata       = wa_headerdata

       IMPORTING

            invoicedocnumber = v_belnr_mr1m

            fiscalyear       = v_gjahr

       TABLES

            itemdata         = itab_itemdata

...