Módulo: DOC. IMPORTAÇÃO
Funcionalidade: LI
Data/Hora da Publicação: 11/08/2010 00:00:00
Data/Hora Última Alteração: 23/02/2011 10:09:54
Descrição da Nota: PROGRAMA SOMA ERRADO COM PEDIDOS COM UNIDADES DE MEDIDAS DIFERENTES
Sintoma
Programa soma errado com pedidos com unidades de medidas diferentes
Solução
Converter para o mesmo tipo de Unidade de medida antes de somar.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10486 Data: 11/08/2010 Hora: 11:39:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10486
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00004
Agrupamento : 00034
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08553 - 00001 - 7.0 - 00010 - IMPLEMENTAÇÃO DO CAMPO MATERIAL MATNR NA LICENÇA DE IMPORTAÇÃO
09048 - 00002 - 8.0 - 00001 - NECESSÁRIO EXIT DE LI NO BOTÃO DE VINCULAÇÃO DE ATO CONCESSÓRIO
09371 - 00003 - 8.0 - 00001 - AO ACESSAR A LI COM O SEQUENCIAL SEM OS ZEROS NÃO ENCONTRA A LI N
09813 - 00004 - 8.0 - 00002 - CONVERSÃO DE UNIDADES DE MEDIDA ESTATÍSTICA UMB
----------------------------------------------------------------------------------------------------
PROGRAMA SOMA ERRADO COM PEDIDOS COM UNIDADES DE MEDIDAS DIFERENTES
----------------------------------------------------------------------------------------------------
Palavras Chave:
UNIDADE DE MEDIDA - LI - DRAWBACK - CONVERSÃO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
IF v_qtdtot > 0 .
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_iten =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
* >> Início da exclusão: FORM SAVE_DRAWBACK
it_zycit079-qtd_iten =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DRAWBACK
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = it_zycit079-matnr
meins = it_zycit079-meins
qtde = it_zycit079-qtd_iten
conv = ' '
land = t001-land1
IMPORTING
qtds = it_zycit079-qtd_iten
un_s = it_zycit079-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6.
* << Fim da inclusão
ENDIF.
ELSE.
it_zycit079-qtd_iten =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
FORM comm_detli.
v_flag2 = '1'.
LOOP AT it_zycit079 WHERE mark = 'X'.
v_ip = sy-tabix.
* >> Início da exclusão: FORM COMM_DETLI
IF v_qtdtot > 0 .
IF /pws/zycie078-zum EQ '10' AND
NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
MODIFY it_zycit079 TRANSPORTING qtd_drawback.
* << Fim da exclusão
MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079a.
PERFORM load_desc_fabr.
...
...
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10' AND NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ELSE.
* >> Início da exclusão: FORM VINCULA_ATO
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULA_ATO
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = it_zycit079-matnr
meins = it_zycit079-meins
qtde = it_zycit079-qtd_drawback
conv = ' '
land = t001-land1
IMPORTING
qtds = it_zycit079-qtd_drawback
un_s = it_zycit079-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6.
* << Fim da inclusão
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079.
ENDLOOP.
ENDIF.
...
...
IF v_qtdtot > 0 .
IF /pws/zycie078-zum EQ '10' AND NOT v_peso IS INITIAL.
itab_zycit079-qtd_iten =
( itab_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ELSE.
* >> Início da exclusão: FORM VINCULAR_ATOC
itab_zycit079-qtd_iten =
( itab_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULAR_ATOC
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = itab_zycit079-matnr
meins = itab_zycit079-meins
qtde = itab_zycit079-qtd_iten
conv = ' '
land = t001-land1
IMPORTING
qtds = itab_zycit079-qtd_iten
un_s = itab_zycit079-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6.
IF sy-subrc <> 0.
ENDIF.
* << Fim da inclusão
ENDIF.
ELSE.
itab_zycit079-qtd_iten =
( itab_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
...
...
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10' AND
NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ELSE.
* >> Início da exclusão: FORM USER_COMMAND_0810
it_zycit079-qtd_drawback = ( it_zycit079-qtd_iten *
/pws/zycie078-qtdest ) / v_qtdtot.
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0810
it_zycit079-qtd_drawback = it_zycit079-qtd_iten .
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = it_zycit079-matnr
meins = it_zycit079-meins
qtde = it_zycit079-qtd_drawback
conv = ' '
land = t001-land1
IMPORTING
qtds = it_zycit079-qtd_drawback
un_s = it_zycit079-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6.
* << Fim da inclusão
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
...
...
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10' AND
NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ELSE.
* >> Início da exclusão: FORM USER_COMMAND_0810
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0810
it_zycit079-qtd_drawback = it_zycit079-qtd_iten .
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = it_zycit079-matnr
meins = it_zycit079-meins
qtde = it_zycit079-qtd_drawback
conv = ' '
land = t001-land1
IMPORTING
qtds = it_zycit079-qtd_drawback
un_s = it_zycit079-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6.
* << Fim da inclusão
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079 TRANSPORTING item_drawback nritem_db
qtd_drawback vl_prod_drawback
WHERE ebeln = it_ekpo-ebeln
...
...
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10' AND
NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ELSE.
* >> Início da exclusão: FORM USER_COMMAND_0810
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0810
it_zycit079-qtd_drawback = it_zycit079-qtd_iten .
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = it_zycit079-matnr
meins = it_zycit079-meins
qtde = it_zycit079-qtd_drawback
conv = ' '
land = t001-land1
IMPORTING
qtds = it_zycit079-qtd_drawback
un_s = it_zycit079-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6.
IF sy-subrc EQ 0.
ENDIF.
* << Fim da inclusão
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079.
ENDLOOP.
ENDIF.
...