CE PLUS - Nota 009492

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 02/12/2009 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:59:04

Descrição da Nota: RECEBIMENTO CENARIO CHILE, LANÇA VALOR INCORRETO NA MIRO

Sintoma

Ao tentar fazer um recebimento do Chile, esta dando um erro de diferença elevado, valor demasiado

para compensação.

 

 

Solução

Corrigida montagem do valor dos itens na montagem dos dados para a BAPI da MIRO.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO AO CONVERTER MOEDA CLP NO CUSTO EFETIVO

ERRO NA MENSAGEM AO EFETUAR O RECEBIMENTO

CORREÇÃO DO PREENCHIMENTO DA QUANTIDADE NA UNIDADE DE PREÇO DO PEDIDO

REFERENCIA DA MIRO NO RECEBIMENTO

Informações Complementares

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

Nota Número 09492 Data: 02/12/2009 Hora: 10:11:14

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

 

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

Nota Número              : 09492

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00001

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

Referência às notas relacionadas:

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

 

03789  - 00001 - 7.0    - 00001  - ERRO NA MENSAGEM AO EFETUAR O RECEBIMENTO

04545  - 00002 - 7.0    - 00002  - REFERENCIA DA MIRO NO RECEBIMENTO

07059  - 00003 - 7.0    - 00006  - CORREÇÃO DO PREENCHIMENTO DA QUANTIDADE NA UNIDADE DE PREÇO DO PE

09468  - 00004 - 8.0    - 00001  - ERRO AO CONVERTER MOEDA CLP NO CUSTO EFETIVO

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

RECEBIMENTO CENARIO CHILE, LANÇA VALOR INCORRETO NA MIRO

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

Palavras Chave:

RECEBIMENTO - CLP - MOEDA - MIRO - VALOR - CASAS - DECIMAIS

/PWS/SAPMZYCI017 - DIFERENÇA - GRANDE - CONTABILIZAÇÃO - BAPI

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

Objetos da nota:

REPS /PWS/MZYCI017F01

REPS /PWS/MZYCI017F02

REPS /PWS/ZYCIR145

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

    READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit031-ebeln

                                       ebelp = itab_zycit031-ebelp.

    IF sy-subrc EQ 0.

      v_cont = v_cont + 1.

      READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycit031-ebeln

                                        ebelp = itab_zycit031-ebelp.

      itab_itemdata-invoice_doc_item = v_cont          .

      itab_itemdata-po_number     = itab_zycit031-ebeln.

      itab_itemdata-po_item       = itab_zycit031-ebelp.

      itab_itemdata-tax_code      = wa_zycit000-iva    .

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

      IF t001-land1 EQ 'CL'.

        PERFORM trata_decimais USING itab_zycit031-waers

* << Fim da exclusão

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

      PERFORM retorna_decimais USING itab_zycit031-waers

* << Fim da inclusão

                               CHANGING itab_zycit031-wrbtr.

        MODIFY itab_zycit031 INDEX v_tabix.

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

      ENDIF.

* << Fim da exclusão

      itab_itemdata-item_amount   = itab_zycit031-wrbtr.

      itab_itemdata-quantity      = itab_zycit031-menge.

      itab_itemdata-po_unit       = itab_zycit031-meins.

      itab_itemdata-po_unit_iso   = itab_zycit031-meins.

      itab_itemdata-po_pr_uom     = itab_ekpo-bprme    .

...

 

...

          itab_account-bus_area         = itab_ekkn_mult-gsber.

          itab_account-profit_ctr       = itab_ekkn_mult-prctr.

          itab_account-wbs_elem         = itab_ekkn_mult-ps_psp_pnr.

          APPEND itab_account.

        ENDLOOP.

      ENDIF.

    ENDLOOP.

  ENDIF.

  READ TABLE itab_zycie033 INDEX 1.

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

  IF t001-land1 EQ 'CL'.

    PERFORM trata_decimais USING itab_zycie033-waers

* << Fim da exclusão

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

  PERFORM retorna_decimais USING itab_zycie033-waers

* << Fim da inclusão

                            CHANGING itab_zycie033-rmwwr.

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

  ENDIF.

* << Fim da exclusão

  wa_headerdata-invoice_ind = 'X'.

  wa_headerdata-doc_date = itab_zycie033-bldat.

  wa_headerdata-pstng_date = itab_zycie033-budat.

  wa_headerdata-comp_code = itab_zycie033-bukrs.

  wa_headerdata-currency = itab_zycie033-waers.

  wa_headerdata-gross_amount = itab_zycie033-rmwwr.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F02

 

...

  itab_zycbe033-tcode = v_trans.

  itab_zycbe033-tabela = v_ntabela.

  itab_zycbe033-cpochv = wa_nf-nrseq.

  IF /pws/zycie041-docnum IS INITIAL.

    SELECT SINGLE * FROM j_1bnfdoc

           WHERE docnum EQ /pws/zycie043-docnum.

  ELSE.

    SELECT SINGLE * FROM j_1bnfdoc

           WHERE docnum EQ /pws/zycie041-docnum.

  ENDIF.

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

  IF /pws/zycie001-modalidade = '99'.

* << Fim da exclusão

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

  IF /pws/zycie001-modalidade = '99' OR sy-subrc NE 0.

* << Fim da inclusão

    itab_zycbe033-bldat = sy-datlo.

  ELSE.

    itab_zycbe033-bldat = j_1bnfdoc-docdat.

  ENDIF.

  itab_zycbe033-d_valut = sy-datlo.

  itab_zycbe033-budat = sy-datlo.

  itab_zycbe033-brnch = t001w-j_1bbranch.

  v_codeven = '006DS'.

  v_nfnum = wa_nf-nfnum.

  itab_zycbe033-xblnr = v_nfnum.

...

 

...

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013 INTO TABLE itab_zycbt013

         WHERE tabela = v_ntabela.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011 INTO wa_zycbt011

         WHERE codeven = '006DS'

           AND codmod  = 'D'.

  LOOP AT itab_zycbt035.

    v_index = sy-tabix.

    IF itab_zycbt035-bschl EQ '50'.

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

      CLEAR: v_matuse.

      IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

        IF itab_zycbt035-knttp EQ 'F' OR itab_zycbt035-knttp EQ 'K'.

          v_matuse = 3.

        ELSE.

          v_matuse = 1.

        ENDIF.

      ENDIF.

      IF v_matuse IS INITIAL.

        v_matuse =  itab_zycbt035-matuse.

      ENDIF.

* << Fim da inclusão

      CLEAR itab_cta. REFRESH itab_cta.

      PERFORM seek_account_number

              TABLES itab_cta

              USING wa_nf-bukrs

                    'PRS'

                    itab_zycbt035-werks

                    itab_zycbt035-bklas

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

                    itab_zycbt035-matuse

* << Fim da exclusão

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

                    v_matuse

* << Fim da inclusão

                    space

                    space.

      READ TABLE itab_cta INDEX 1.

      itab_zycbt035-ktosl = 'PRS'.

      IF itab_cta-konth IS INITIAL.

        CLEAR itab_cta. REFRESH itab_cta.

        PERFORM seek_account_number

                TABLES itab_cta

                USING wa_nf-bukrs

                      'PRS'

                      itab_zycbt035-werks

                      space

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

                      itab_zycbt035-matuse

* << Fim da exclusão

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

                      v_matuse

* << Fim da inclusão

                      space

                      space.

        READ TABLE itab_cta INDEX 1.

      ENDIF.

      itab_zycbt035-d_newko = itab_cta-konth.

      PERFORM verify_null_field USING itab_zycbt035-d_newko 'C_NEWKO'

                                                               text-016.

    ELSEIF itab_zycbt035-bschl EQ '40'.

      CLEAR: v_matuse.

      IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR145

 

...

      ELSEIF NOT itab_zycit036-waers IS INITIAL .

        MOVE itab_zycit036-waers TO i_final-waers.

      ENDIF.

    ENDIF.

    READ TABLE itab_descr WITH KEY codigo = itab_zycit036-codigo.

    MOVE: itab_descr-descricao TO i_final-descricao.

    READ TABLE itab_material WITH KEY ebeln = itab_zycit036-ebeln

                                      ebelp = itab_zycit036-ebelp.

    IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

      IF itab_zycit036-origem = 'NF'.

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

        PERFORM trata_decimais USING /pws/zycbt007-waersb

                               CHANGING i_final-valor.

* << Fim da exclusão

        i_final-waers = /pws/zycbt007-waersb.

      ENDIF.

    ENDIF.

    APPEND i_final.

  ENDLOOP.

ENDFORM.

FORM pf_status_alv USING extab TYPE kkblo_t_extab.

  FREE it_code.

  IF v_visualiza IS INITIAL.

    SET PF-STATUS 'ALV'.

...