Módulo: DOC. IMPORTAÇÃO
Funcionalidade: LI
Data/Hora da Publicação: 14/11/2013 15:53:55
Data/Hora Última Alteração: 14/11/2013 15:53:55
Descrição da Nota: AO TRANSMITIR LI NÃO LEVAVA QUANTIDADE ESTATISTICA
Sintoma
Ao transmitir LI não levava quantidade estatistica
Solução
Ajustar para recalcular a quantidade estatistica caso não esteja preenchido ao salvar.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13386 Data: 06/11/2013 Hora: 14:50:21
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13386
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00166
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03452 - 00001 - 7.0 - 00001 - O PROGRAMA DA LI ESTÁ SEMPRE RECALCULANDO A QUANTIDADE ESTATISTIC
03820 - 00002 - 7.0 - 00001 - LI - QUANTIDADE UM ESTATÍSTICA
03896 - 00003 - 7.0 - 00001 - AJUSTE NA LI PARA EXIBIR A QTDE. UM. ESTAT CORRETAMENTE
04686 - 00004 - 7.0 - 00003 - QUNATIDADE NA UNIDADE DE MEDIDA ESTATISTICA NO DETALHE DO ITEN DA
06213 - 00005 - 7.0 - 00005 - O PROGRAMA NÃO ESTÁ SOMANDO AS QUANTIDADES NA UM ESTATISTICA
07015 - 00006 - 7.0 - 00006 - UNIDADE DE MEDIDA ESTATISTICA (PEDIDOS COM CLASSIFICAÇÃO FISCAL)
07831 - 00007 - 7.0 - 00008 - CALCULO DA QUANTIDADE ESTATISTICA
09495 - 00008 - 8.0 - 00002 - LI NÃO RECALCULA QTDE UM ESTATÍSTICA SE ALTERAR A QUANTIDADE
12068 - 00009 - 8.0 - 00011 - AO INCLUIR E EXCLUIR NOVAMENTE ITENS NÃO RECALCULA UM ESTATISTIC
12186 - 00010 - 8.0 - 00011 - ERRO AO FAZER PRÉ CRÍTICA NA PLI E VINCULAÇÃO NO EMBARQUE
12190 - 00011 - 8.0 - 00011 - ERRO AO VINCULAR EMBARQUE A LI.
12436 - 00012 - 9.0 - 00001 - CALCULO QUANTIDADE ESTATÍSTICA LI DRAWBACK
12489 - 00013 - 9.0 - 00001 - AO MUDAR A QTDE DOS ITENS DA LI NÃO ESTÁ RECALCULANDO A QTDE ESTA
12778 - 00014 - 9.0 - 00003 - NECESSÁRIO DESENVOLVIMENTO ESPECÍFICO
----------------------------------------------------------------------------------------------------
AO TRANSMITIR LI NÃO LEVAVA QUANTIDADE ESTATISTICA
----------------------------------------------------------------------------------------------------
Palavras Chave:
LI - QTDEST - QUANTIDADE ESTATISTICA - TRANSMISSÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI020O01
REPS /PWS/MZYCI020F02
REPS /PWS/MZYCI020F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
CLEAR wa_zycie078d1.
wa_zycie078d1 = /pws/zycie078.
/pws/zycie078 = wa_zycit078_aux2.
CLEAR /pws/zycie078-nrseqd.
PERFORM save_drawback.
CLEAR /pws/zycie078.
/pws/zycie078 = wa_zycie078d1.
ENDIF.
* >> Início da inclusão: FORM SAVE
IF /pws/zycie078-qtdest IS INITIAL.
PERFORM trata_qtdest.
ENDIF.
* << Fim da inclusão
PERFORM save_drawback.
CLEAR: v_ncm.
READ TABLE it_zycit079 INDEX 1.
IF sy-subrc EQ 0.
READ TABLE itab_itens_aux WITH KEY ebelp = it_zycit079-ebelp
ebeln = it_zycit079-ebeln.
v_ncm = itab_itens_aux-j_1bnbm.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
* >> Início da inclusão:
form trata_qtdest.
IF NOT it_zycit079[] IS INITIAL.
CLEAR: it_ekpo.
IF it_ekpo[] IS INITIAL.
REFRESH: it_ekpo.
SELECT * FROM ekpo INTO TABLE it_ekpo
FOR ALL ENTRIES IN it_zycit079
WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
ENDIF.
CLEAR: v_qtdest, v_qtdtot, v_peso.
IF /pws/zycie078-tpli EQ 'N' AND
/pws/zycie078-flagpli EQ ' ' AND
sy-ucomm NE 'DLIT' AND
v_alt EQ 'X'.
CLEAR: /pws/zycie078-qtdest, v_alt.
ENDIF.
LOOP AT it_zycit079.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
IF sy-subrc NE 0.
SELECT SINGLE * FROM ekpo INTO it_ekpo
WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
IF sy-subrc EQ 0.
APPEND it_ekpo.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
v_peso = v_peso + it_zycit079-ntgew.
v_qtdtot = v_qtdtot + it_zycit079-qtd_iten.
IF NOT it_ekpo-matnr IS INITIAL.
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING it_zycit079-meins
it_zycit079-qtd_iten.
ENDIF.
v_qtdest = v_qtdest +
it_zycit079-qtd_iten.
ENDLOOP.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI020'
'LI006'.
e_subrc = 0.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'LI006' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND .
ENDIF.
ENDIF.
IF e_subrc EQ 0.
IF /pws/zycie078-qtdest IS INITIAL OR
( /pws/zycie078-qtdest <> v_qtdest AND v_novo_item IS INITIAL ).
IF /pws/zycie078-qtdest IS INITIAL.
/pws/zycie078-qtdest = v_qtdest.
ELSE.
IF NOT itab_itens[] IS INITIAL.
IF v_novo_item EQ 'X'.
IF NOT it_zycit079-qtd_iten IS INITIAL.
/pws/zycie078-qtdest = /pws/zycie078-qtdest +
it_zycit079-qtd_iten.
DELETE itab_itens WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
CLEAR v_novo_item.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSEIF /pws/zycie078-qtdest <> v_qtdest AND
NOT v_novo_item IS INITIAL.
/pws/zycie078-qtdest = v_qtdest.
CLEAR v_novo_item.
ENDIF.
ENDIF.
LOOP AT it_079_del.
READ TABLE it_ekpo WITH KEY ebeln = it_079_del-ebeln
ebelp = it_079_del-ebelp.
IF sy-subrc NE 0.
SELECT SINGLE * FROM ekpo INTO it_ekpo
WHERE ebeln EQ it_079_del-ebeln
AND ebelp EQ it_079_del-ebelp.
IF sy-subrc EQ 0.
APPEND it_ekpo.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
IF NOT it_ekpo-matnr IS INITIAL.
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING it_079_del-meins
it_079_del-qtd_iten.
ENDIF.
IF /pws/zycie078-qtdest GE it_079_del-qtd_iten.
/pws/zycie078-qtdest = /pws/zycie078-qtdest -
it_079_del-qtd_iten.
ENDIF.
DELETE it_079_del WHERE ebeln EQ it_079_del-ebeln
AND ebelp EQ it_079_del-ebelp.
ENDLOOP.
ELSE.
CLEAR /pws/zycie078-qtdest.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020O01
...
ELSE.
CLEAR: v_descr25.
IF NOT /pws/zycie078-j_1bbranch IS INITIAL.
SELECT SINGLE name
FROM j_1bbranch
INTO (v_descr25)
WHERE bukrs = /pws/zycie078-bukrs
AND branch = /pws/zycie078-j_1bbranch.
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE LOAD_DATA
IF NOT it_zycit079[] IS INITIAL.
CLEAR: it_ekpo.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA
PERFORM trata_qtdest.
* << Fim da inclusão
* >> Início da exclusão: MODULE LOAD_DATA
IF it_ekpo[] IS INITIAL.
REFRESH: it_ekpo.
SELECT * FROM ekpo INTO TABLE it_ekpo
FOR ALL ENTRIES IN it_zycit079
WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
ENDIF.
CLEAR: v_qtdest, v_qtdtot, v_peso.
IF /pws/zycie078-tpli EQ 'N' AND
/pws/zycie078-flagpli EQ ' ' AND
sy-ucomm NE 'DLIT' AND
v_alt EQ 'X'.
CLEAR: /pws/zycie078-qtdest, v_alt.
ENDIF.
LOOP AT it_zycit079.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
IF sy-subrc NE 0.
SELECT SINGLE * FROM ekpo INTO it_ekpo
WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
IF sy-subrc EQ 0.
APPEND it_ekpo.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
v_peso = v_peso + it_zycit079-ntgew.
v_qtdtot = v_qtdtot + it_zycit079-qtd_iten.
IF NOT it_ekpo-matnr IS INITIAL.
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING it_zycit079-meins
it_zycit079-qtd_iten.
ENDIF.
v_qtdest = v_qtdest +
it_zycit079-qtd_iten.
ENDLOOP.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI020'
'LI006'.
e_subrc = 0.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'LI006' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND .
ENDIF.
ENDIF.
IF e_subrc EQ 0.
IF /pws/zycie078-qtdest IS INITIAL OR
( /pws/zycie078-qtdest <> v_qtdest AND v_novo_item IS INITIAL ).
IF /pws/zycie078-qtdest IS INITIAL.
/pws/zycie078-qtdest = v_qtdest.
ELSE.
IF NOT itab_itens[] IS INITIAL.
IF v_novo_item EQ 'X'.
IF NOT it_zycit079-qtd_iten IS INITIAL.
/pws/zycie078-qtdest = /pws/zycie078-qtdest +
it_zycit079-qtd_iten.
DELETE itab_itens WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
CLEAR v_novo_item.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSEIF /pws/zycie078-qtdest <> v_qtdest AND
NOT v_novo_item IS INITIAL.
/pws/zycie078-qtdest = v_qtdest.
CLEAR v_novo_item.
ENDIF.
ENDIF.
LOOP AT it_079_del.
READ TABLE it_ekpo WITH KEY ebeln = it_079_del-ebeln
ebelp = it_079_del-ebelp.
IF sy-subrc NE 0.
SELECT SINGLE * FROM ekpo INTO it_ekpo
WHERE ebeln EQ it_079_del-ebeln
AND ebelp EQ it_079_del-ebelp.
IF sy-subrc EQ 0.
APPEND it_ekpo.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
IF NOT it_ekpo-matnr IS INITIAL.
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING it_079_del-meins
it_079_del-qtd_iten.
ENDIF.
IF /pws/zycie078-qtdest GE it_079_del-qtd_iten.
/pws/zycie078-qtdest = /pws/zycie078-qtdest -
it_079_del-qtd_iten.
ENDIF.
DELETE it_079_del WHERE ebeln EQ it_079_del-ebeln
AND ebelp EQ it_079_del-ebelp.
ENDLOOP.
ELSE.
CLEAR /pws/zycie078-qtdest.
ENDIF.
* << Fim da exclusão
ENDMODULE.
...