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.
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'.
...