CE PLUS - Nota 003294

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Encerramento de Custo

Data/Hora da Publicação: 22/03/2007 00:00:00

Data/Hora Última Alteração: 08/03/2010 20:14:26

Descrição da Nota: ENCERRAMENTO DE CUSTO

Sintoma

 

O sistema está permitindo gerar o encerramento de custo mesmo sem que todos os documentos do

recebimento tenham sido gerados corretamente.

 

Solução

 

Atualização do programa de Encerramento de Custo para somente permitir que seja gerado o

encerramento após verificar se todos os documentos do recebimento foram gerados.

Versões Tratadas

6.0

Informações Complementares

 

----------------------------------------------------------------------------------------------------

Nota Número 03294 Data: 22/03/2007 Hora: 09:43:38

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 03294

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00028

Agrupamento              : 00158

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

ENCERRAMENTO DE CUSTO

----------------------------------------------------------------------------------------------------

Palavras Chave:

DOCUMENTOS; RECEBIMENTO; F-51; MIRO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI010F02

REPS /PWS/MZYCI010F03

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI010F02

 

...

  ENDIF.

  IF NOT itab_zycit042[] IS INITIAL.

    READ TABLE itab_zycit042 WITH KEY nrseq = /pws/zycie001-nrseq.

    SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041

      WHERE nrseq  = itab_zycit042-nrseqnf AND

            cancel = space.

    IF sy-subrc NE 0.

      v_nota = 'X'.

      MESSAGE i015 WITH text-072.

    ELSE.

* >> Início da exclusão: FORM ENCERRAMENTO

      LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial.

* << Fim da exclusão

* >> Início da inclusão: FORM ENCERRAMENTO

      LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial

                            or MBLNR_MB01    is initial

                            or BELNR_F_51    is initial .

* << Fim da inclusão

      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.

* << Fim da exclusão

* >> Início da inclusão: FORM ENCERRAMENTO

          LOOP AT itab_zycit043 WHERE belnr_mr1m IS initial

                            or BELNR_F_51    is initial .

* << Fim da inclusão

          ENDLOOP.

          IF sy-subrc EQ 0.

            v_nota = 'X'.

            MESSAGE i015 WITH text-073.

          ENDIF.

        ELSE.

          if ( /pws/zycie001-regime ne '16' and

               /pws/zycie001-TPDECL eq 'DI' ).

              v_nota = 'X'.

              MESSAGE i015 WITH text-073.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI010F03

 

...

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

      FOR ALL ENTRIES IN itab_zycit036

      WHERE nrseq = itab_zycit036-nrseq.

  ENDIF.

  SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041

    WHERE nrseq  = /pws/zycit085-nrseqdi AND

          cancel = space.

  IF sy-subrc NE 0.

    v_nota = 'X'.

  ELSE.

* >> Início da exclusão: FORM CUSTO_IGUAL_NF

    LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial.

* << Fim da exclusão

* >> Início da inclusão: FORM CUSTO_IGUAL_NF

    LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial

                            or BELNR_F_51    is initial .

* << Fim da inclusão

    ENDLOOP.

    IF sy-subrc = 0.

      SELECT * FROM /pws/zycit043 INTO TABLE itab_zycit043

        WHERE nrseq  = /pws/zycit085-nrseqdi AND

              cancel = space.

      IF sy-subrc = 0.

* >> Início da exclusão: FORM CUSTO_IGUAL_NF

        LOOP AT itab_zycit043 WHERE belnr_mr1m IS initial.

* << Fim da exclusão

* >> Início da inclusão: FORM CUSTO_IGUAL_NF

        LOOP AT itab_zycit043 WHERE belnr_mr1m IS initial

                            or BELNR_F_51    is initial .

* << Fim da inclusão

        ENDLOOP.

        IF sy-subrc EQ 0.

          v_nota = 'X'.

        ENDIF.

      ELSE.

        v_nota = 'X'.

      ENDIF.

    ENDIF.

  ENDIF.

  p_dpnf = 'X'.

...

 

...

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

      FOR ALL ENTRIES IN itab_zycit036_aux3

      WHERE nrseq = itab_zycit036_aux3-nrseq.

  ENDIF.

  SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041

    WHERE nrseq  = /pws/zycit085-nrseqdi AND

          cancel = space.

  IF sy-subrc NE 0.

    v_nota = 'X'.

  ELSE.

* >> Início da exclusão: FORM CUSTO_IGUAL_NF2

    LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial.

* << Fim da exclusão

* >> Início da inclusão: FORM CUSTO_IGUAL_NF2

    LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial

                            or BELNR_F_51    is initial .

* << Fim da inclusão

    ENDLOOP.

    IF sy-subrc = 0.

      SELECT * FROM /pws/zycit043 INTO TABLE itab_zycit043

        WHERE nrseq  = /pws/zycit085-nrseqdi AND

              cancel = space.

      IF sy-subrc = 0.

        LOOP AT itab_zycit043 WHERE belnr_mr1m IS initial.

        ENDLOOP.

        IF sy-subrc EQ 0.

          v_nota = 'X'.

...