Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 13/02/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:06:24
Descrição da Nota: SISTEMA ESTÁ SE PERDENDO E SELECIONANDO FATURAS ELIMINADAS NO EMBARQUE
Sintoma
Sistema está se perdendo e selecionando faturas eliminadas no embarque.
Ajustado estorno de fatura.
Solução
Verificar as duas tabelas ao selecionar a fatura.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03089 Data: 13/02/2007 Hora: 11:19:56
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03089
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00151
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02944 - 00001 - 6.0 - 00026 - EMBARQUE ESTÁ SE PERDENDO AO VINCULAR ITENS DO PEDIDO OU SCHEDULE
----------------------------------------------------------------------------------------------------
SISTEMA ESTÁ SE PERDENDO E SELECIONANDO FATURAS ELIMINADAS NO EMBARQUE
----------------------------------------------------------------------------------------------------
Palavras Chave:
SELECIONANDO FATURAS - FATURAS ELIMINADAS - FLAG TABELA
/PWS/ZYCIT263 - /PWS/ZYCIT006
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI001I01
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
...
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
PERFORM carrega_saldo.
PERFORM lock_pedido.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
eliminado = space.
* >> Início da inclusão: FORM VERIFICA_ITENS
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
FREE itab_itens_aux.
CLEAR itab_itens_aux.
SELECT ekko~ebeln ekko~inco1 ekko~spras
ekpo~ebelp ekpo~txz01 ekpo~menge ekpo~ktmng ekpo~bstyp
ekpo~meins ekpo~ntgew ekpo~gewei ekpo~netpr ekpo~bednr
ekpo~uebto ekpo~uebtk ekpo~loekz ekpo~elikz ekpo~j_1bnbm
ekpo~werks ekko~lifnr ekpo~j_1bmatuse ekpo~matnr ekpo~mtart
ekpo~mfrnr
FROM ( ekpo INNER JOIN ekko ON ekpo~ebeln = ekko~ebeln )
INTO TABLE itab_itens_aux
...
...
e_status = v_status_s.
READ TABLE itab_zycit003 WITH KEY mark = 'X'.
MOVE: itab_zycit003-lifnr TO v_lifnr,
itab_zycit003-waers TO v_moeda.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
* >> Início da inclusão: FORM CALL_FATURA
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit003 WHERE mark EQ 'X'.
IF v_lifnr NE itab_zycit003-lifnr.
MESSAGE i015 WITH text-070.
v_flag_loop = 'X'.
EXIT.
ENDIF.
IF v_moeda NE itab_zycit003-waers.
MESSAGE s015 WITH text-237 text-238.
v_flag_loop = 'X'.
...
...
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
eliminado = space.
* >> Início da inclusão: FORM RECUPERANDO_ITENS
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
UPDATE /pws/zycit263 SET eliminado = 'X'
WHERE nrseq = itab_zycit263-nrseq
AND ebeln = itab_zycit263-ebeln
AND ebelp = itab_zycit263-ebelp
AND nrseq_pgfat = itab_zycit263-nrseq_pgfat.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
SELECT * FROM /pws/zycit013
INTO TABLE itab_zycit013
FOR ALL ENTRIES IN itab_zycit003 WHERE
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
PERFORM carrega_saldo.
PERFORM lock_pedido.
ENDIF.
LOOP AT itab_zycit003.
READ TABLE itab_zycit013 WITH KEY ebeln = itab_zycit003-ebeln
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001I01
...
MODULE verifica_peso INPUT.
ENDMODULE.
MODULE atualiza_itens INPUT.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
eliminado = space.
* >> Início da inclusão: MODULE ATUALIZA_ITENS
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
IF /pws/zycie001-regime NE '14' AND /pws/zycie001-regime NE '16'.
PERFORM verifica_itens.
ELSE.
PERFORM verifica_itens_da.
ENDIF.
IF /pws/zycie003-qtd_iten > /pws/zycie003-menge.
MESSAGE w061 WITH text-004 itab_zycit003-ebelp
text-005 itab_zycit003-ebeln.
v_mexit = 'X'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
FREE itab_zycit263_aux.
CLEAR itab_zycit263_aux.
REFRESH itab_zycit263_aux.
IF NOT itab_zycit003_aux[] IS INITIAL.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263_aux
FOR ALL ENTRIES IN itab_zycit003_aux WHERE
nrseq = itab_zycit003_aux-nrseq AND
ebeln = itab_zycit003_aux-ebeln AND
ebelp = itab_zycit003_aux-ebelp AND
eliminado = space.
* >> Início da inclusão: FORM SELECIONAR_ITENS
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
CLEAR v_flag_saldo.
LOOP AT itab_zycit003_aux.
CLEAR vsaldo.
LOOP AT itab_zycit263_aux WHERE
nrseq = itab_zycit003_aux-nrseq AND
ebeln = itab_zycit003_aux-ebeln AND
ebelp = itab_zycit003_aux-ebelp AND
eliminado = space.
vsaldo = vsaldo + itab_zycit263_aux-qtd_iten.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
ENDFORM.
FORM calc_vlreal.
REFRESH: itab_zycit263.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
eliminado = space.
* >> Início da inclusão: FORM CALC_VLREAL
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
itab_zycit263-eliminado = 'X' .
MODIFY itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit003.
v_idx = sy-tabix.
CLEAR: tqtd, tvlr, tntg, tfre, tseg.
LOOP AT itab_zycit263 WHERE ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
tfre = tfre + itab_zycit263-vlfre_fat.
tseg = tseg + itab_zycit263-vlseg_fat.
tntg = tntg + itab_zycit263-ntgew.
tqtd = tqtd + itab_zycit263-qtd_iten.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
FOR ALL ENTRIES IN itab_matuse
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
REFRESH itab_zycit263.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
eliminado = space.
* >> Início da inclusão: MODULE LOAD_DATA
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycit003.
READ TABLE itab_matuse WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
READ TABLE itab_mara WITH KEY matnr = itab_matuse-matnr.
IF sy-subrc EQ 0.
IF itab_zycit003-mfrpn IS INITIAL.
MOVE itab_mara-mfrpn TO itab_zycit003-mfrpn.
MODIFY itab_zycit003.
ENDIF.
ENDIF.
...