Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 06/06/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:56:06
Descrição da Nota: CE DEIXA ENCERRAR, FALTANDO UM DOS RECEBIMENTO POR FAZER.
Sintoma
Sistema deixa encerrar, faltando um dos recebimentos por fazer. Quando faz, valor fica errado.
Solução
Acrescentada verificação se todos os itens da nota fiscal foram recebidos.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06711 Data: 06/06/2008 Hora: 16:12:52
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06711
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00005
Agrupamento : 00050
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03294 - 00001 - 6.0 - 00028 - ENCERRAMENTO DE CUSTO
05665 - 00002 - 7.0 - 00004 - NECESSIDADE DE EXIT AO SELECIONAR ITENS DE RECEBIMENTO/NF
----------------------------------------------------------------------------------------------------
CE DEIXA ENCERRAR, FALTANDO UM DOS RECEBIMENTO POR FAZER.
----------------------------------------------------------------------------------------------------
Palavras Chave:
ENCERRAMENTO - RECEBIMENTO - ITENS DA NOTA - TRAVA .
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F02
...
ENDIF.
IF e_subrc EQ 0.
IF itab_zycit042[] IS INITIAL AND /pws/zycie001-modalidade NE '02'.
SELECT * FROM /pws/zycit042
INTO TABLE itab_zycit042 "#EC CI_NOFIRST
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc NE 0.
v_nota = 'X'.
MESSAGE i015 WITH text-072.
ENDIF.
* >> Início da inclusão: FORM ENCERRAMENTO
ELSE.
LOOP AT itab_zycit003.
READ TABLE itab_zycit042 WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc NE 0.
v_nota = 'X'.
EXIT.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ENCERRAMENTO
IF NOT itab_zycit042[] IS INITIAL.
READ TABLE itab_zycit042 WITH KEY nrseq = /pws/zycie001-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM ENCERRAMENTO
ENDLOOP.
* << Fim da inclusão
SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041
WHERE nrseq = itab_zycit042-nrseqnf AND
...
...
MESSAGE i015 WITH text-072.
ELSE.
LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial
OR belnr_f_51 IS initial .
ENDLOOP.
IF sy-subrc = 0 AND /pws/zycie001-regime NE '14' .
SELECT * FROM /pws/zycit043 INTO TABLE itab_zycit043
WHERE nrseq = itab_zycit042-nrseqnf AND
cancel = space.
IF sy-subrc = 0.
* >> Início da exclusão: FORM ENCERRAMENTO
LOOP AT itab_zycit043 WHERE belnr_mr1m IS initial
OR belnr_f_51 IS initial .
* << Fim da exclusão
* >> Início da inclusão: FORM ENCERRAMENTO
LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial
OR belnr_f_51 IS initial .
LOOP AT itab_zycit043 WHERE
nrseq = itab_zycit041-nrseq AND
nfglobal = itab_zycit041-nfglobal AND
docnumnfg = itab_zycit041-docnum.
IF itab_zycit043-belnr_mr1m = space OR
itab_zycit043-belnr_f_51 = space.
v_nota = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc NE 0.
v_nota = 'X'.
EXIT .
ENDIF.
IF v_nota EQ 'X'.
EXIT.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da exclusão: FORM ENCERRAMENTO
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ENCERRAMENTO
IF sy-subrc NE 0.
* << Fim da inclusão
v_nota = 'X'.
* >> Início da exclusão: FORM ENCERRAMENTO
MESSAGE i015 WITH text-073.
* << Fim da exclusão
ENDIF.
ELSE.
IF ( /pws/zycie001-regime NE '16' AND
/pws/zycie001-tpdecl EQ 'DI' ).
v_nota = 'X'.
* >> Início da exclusão: FORM ENCERRAMENTO
MESSAGE i015 WITH text-073.
* << Fim da exclusão
* >> Início da inclusão: FORM ENCERRAMENTO
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM ENCERRAMENTO
IF v_nota EQ 'X'.
MESSAGE i015 WITH text-073.
* << Fim da inclusão
ENDIF.
...