Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 06/06/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:12:46
Descrição da Nota: EMBARQUE - ADMISSÃO TEMPORÁRIA
Sintoma
Quando preenche baixa na Pasta Baixa T.R. não está atualizando o Saldo do Item na Pasta Saldo T.R.
Quando elimina itens também não atualiza.
Solução
Quando inclui/elimina itens no Embarque ou Baixa deve atualizar o Saldo do Item. E quando eliminar
itens do Embarque deve também eliminar da tabela /PWS/ZYCIT396.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03862 Data: 06/06/2007 Hora: 15:39:32
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03862
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00169
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01940 - 00001 - 6.0 - 00024 - PERFORMANCE DA TRANSAÇÃO /PWS/ZYCI001_A ESTÁ CONSUMINDO MUITA MEM
----------------------------------------------------------------------------------------------------
EMBARQUE - ADMISSÃO TEMPORÁRIA
----------------------------------------------------------------------------------------------------
Palavras Chave:
SALDO; T.R.; QUANTIDADE; BAIXA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI001I01
REPS /PWS/MZYCI001O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
...
ENDIF.
MODIFY /pws/zycit125 FROM TABLE itab_zycit125.
LOOP AT itab_zycit125_aux.
READ TABLE itab_zycit125 WITH KEY
lifnr = itab_zycit125_aux-lifnr.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit125 WHERE nrseq = /pws/zycie001-nrseq
AND lifnr = itab_zycit125_aux-lifnr.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM GRAVA_TABELAS
IF NOT itab_zycit003_del[] IS INITIAL.
LOOP AT itab_zycit003_aux2.
DELETE FROM /pws/zycit374
WHERE nrseq EQ itab_zycit003_aux2-nrseq
AND ebeln EQ itab_zycit003_aux2-ebeln
AND ebelp EQ itab_zycit003_aux2-ebelp.
DELETE FROM /pws/zycit396
WHERE nrseq EQ itab_zycit003_aux2-nrseq
AND ebeln EQ itab_zycit003_aux2-ebeln
AND ebelp EQ itab_zycit003_aux2-ebelp.
ENDLOOP.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycit003 WHERE qtd_iten EQ 0.
ENDLOOP.
IF sy-subrc EQ 0.
v_msg = 'X' .
ENDIF.
IF v_msg EQ 'X'.
MESSAGE i015 WITH text-261 text-260.
DELETE itab_zycit003 WHERE qtd_iten EQ '0'.
ENDIF.
LOOP AT itab_zycit003.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001I01
...
/pws/zycie374-descr TO itab_zycit374-descr,
/pws/zycie374-qtd_iten TO itab_zycit374-qtd_iten,
/pws/zycie374-meins TO itab_zycit374-meins,
/pws/zycie374-slqtde TO itab_zycit374-slqtde.
MOVE: mark TO itab_zycit374-mark .
MODIFY itab_zycit374 INDEX tc_ped_tr-current_line.
ENDMODULE.
MODULE altera_itab_zycit374_it INPUT.
DATA: v_indiceaux LIKE /pws/zycit396-indice.
CLEAR v_saldo.
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
IF NOT /pws/zycie396-qtd_iten IS INITIAL.
* << Fim da inclusão
v_tot_qtd_baixa = v_tot_qtd_baixa + /pws/zycie396-qtd_baixa.
/pws/zycie396-slqtde = /pws/zycie396-qtd_iten - v_tot_qtd_baixa.
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
IF /pws/zycie396-slqtde < 0.
* << Fim da inclusão
* >> Início da exclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
IF v_saldo < 0.
MESSAGE w015 WITH text-208 text-209.
CLEAR:
itab_zycit396-slqtde,
itab_zycit396-qtd_baixa,
/pws/zycit374-qtd_baixa,
/pws/zycit374-slqtde.
* << Fim da exclusão
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
MESSAGE i015 WITH text-208 text-209.
* << Fim da inclusão
* >> Início da exclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
CLEAR: /pws/zycie396-qtd_baixa.
* << Fim da exclusão
ENDIF.
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
ENDIF.
* << Fim da inclusão
/pws/zycie396-meins = v_um.
/pws/zycie396-nrseq = /pws/zycie001-nrseq.
MOVE-CORRESPONDING /pws/zycie396 TO itab_zycit396.
IF /pws/zycie396-indice IS INITIAL.
SELECT SINGLE MAX( indice ) FROM /pws/zycit396
INTO v_indiceaux
...
...
DELETE itab_zycit396aux WHERE nrseq = /pws/zycie396-nrseq AND
ebelp = /pws/zycie396-ebelp AND
ebeln = /pws/zycie396-ebeln.
MOVE-CORRESPONDING /pws/zycie396 TO itab_zycit396aux.
APPEND itab_zycit396aux.
SELECT * FROM /pws/zycit396
INTO TABLE itab_zycit396_aux
WHERE nrseq = /pws/zycie396-nrseq
AND ebeln = /pws/zycie396-ebeln
AND ebelp = /pws/zycie396-ebelp
* >> Início da exclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
AND indice = tc_bx_itens-current_line.
* << Fim da exclusão
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
AND indice = itab_zycit396-indice.
* << Fim da inclusão
IF NOT itab_zycit396_aux[] IS INITIAL.
DELETE FROM /pws/zycit396
WHERE nrseq = /pws/zycie396-nrseq
AND ebeln = /pws/zycie396-ebeln
AND ebelp = /pws/zycie396-ebelp
* >> Início da exclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
AND indice = tc_bx_itens-current_line.
* << Fim da exclusão
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT374_IT
AND indice = itab_zycit396-indice.
* << Fim da inclusão
ENDIF.
IF ( NOT itab_zycit396-nrseq IS INITIAL AND
NOT itab_zycit396-ebeln IS INITIAL AND
NOT itab_zycit396-ebelp IS INITIAL AND
NOT itab_zycit396-indice IS INITIAL AND
NOT itab_zycit396-qtd_baixa IS INITIAL ).
INSERT /pws/zycit396 FROM /pws/zycie396.
ENDIF.
ENDMODULE.
MODULE consiste_itend INPUT.
...
...
SELECT SINGLE land1 FROM t001 INTO v_land1 WHERE
bukrs = /pws/zycie001-bukrs.
IF v_land1 EQ 'BR' AND /pws/zycie001-j_1bbranch IS INITIAL.
MESSAGE e013 WITH text-221.
ENDIF.
SET PARAMETER ID 'BKR' FIELD /pws/zycie001-bukrs.
ENDMODULE.
MODULE user_command_0110 INPUT.
MOVE: v_tot_qtd_baixa TO itab_zycit374-qtd_baixa.
/pws/zycie374-slqtde = /pws/zycie374-qtd_iten - v_tot_qtd_baixa.
* >> Início da inclusão: MODULE USER_COMMAND_0110
CLEAR: itab_zycit396, itab_zycit374, v_tot_qtd_baixa .
LOOP AT itab_zycit374 WHERE mark EQ 'X'.
ENDLOOP.
IF sy-subrc EQ 0.
LOOP AT itab_zycit396.
ADD itab_zycit396-qtd_baixa TO v_tot_qtd_baixa .
ENDLOOP.
itab_zycit374-qtd_baixa = v_tot_qtd_baixa.
itab_zycit374-slqtde = itab_zycit374-qtd_iten - v_tot_qtd_baixa.
MODIFY itab_zycit374 TRANSPORTING qtd_baixa slqtde
WHERE ebelp = itab_zycit374-ebelp
AND ebeln = itab_zycit374-ebeln.
ENDIF.
MOVE v_tot_qtd_baixa TO /pws/zycie374-qtd_baixa.
* << Fim da inclusão
ENDMODULE.
MODULE clear_variavel INPUT.
FREE itab_zycit396_aux.
CLEAR: v_tot_qtd_baixa.
REFRESH itab_zycit396.
ENDMODULE.
MODULE busca_desc_agrupamento INPUT.
CLEAR v_agrup.
IF NOT /pws/zycie003-agrupamento IS INITIAL.
SELECT SINGLE agrupamento
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001O01
...
ENDIF.
CLEAR: v_qtditen.
IF NOT itab_zycit374[] IS INITIAL AND
itab_zycit396_aux1[] IS INITIAL.
SELECT * FROM /pws/zycit396 INTO TABLE itab_zycit396_aux1
FOR ALL ENTRIES IN itab_zycit374
WHERE nrseq = itab_zycit374-nrseq AND
ebelp = itab_zycit374-ebelp AND
ebeln = itab_zycit374-ebeln.
ENDIF.
* >> Início da exclusão: MODULE LOAD_ZYCIT374
LOOP AT itab_zycit374.
v_idx374 = sy-tabix.
LOOP AT itab_zycit396_aux1
WHERE nrseq = itab_zycit374-nrseq AND
ebelp = itab_zycit374-ebelp AND
ebeln = itab_zycit374-ebeln.
v_qtditen = v_qtditen + itab_zycit396_aux1-qtd_baixa.
ENDLOOP.
itab_zycit374-qtd_baixa = v_qtditen.
MODIFY itab_zycit374 INDEX v_idx374.
CLEAR:itab_zycit396_aux1, v_qtditen.
ENDLOOP.
* << Fim da exclusão
ENDMODULE.
MODULE move_dados OUTPUT.
READ TABLE itab_zycit374 WITH KEY mark = 'X'.
IF sy-subrc = 0.
MOVE-CORRESPONDING itab_zycit374 TO /pws/zycie374.
ELSE.
IF ts_adm-activetab = 'FC_BX_TR'.
MESSAGE i015 WITH text-030.
ts_adm-activetab = 'FC_SD_TR'.
ENDIF.
...