CE PLUS - Nota 008016

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Encerramento de Custo

Data/Hora da Publicação: 06/02/2009 00:00:00

Data/Hora Última Alteração: 17/05/2011 15:02:53

Descrição da Nota: GRAVA VALORES INCORRETOS NO ENCERRAMENTO DE CUSTO.

Sintoma

Ao acessar um encerramento de custo que já foi salvo os valores estão diferentes de quando este foi

gerado.

No encerramento contabil gravou o documento no encerramento incorreto

 

 

Solução

Ajustado o programa de encerramento de custo para somar as despesas para gravar na tabela

/pws/zycit201.

Ajustado encerramento de custo para ordenar a tabela de encerramentos pelo sequencial de

encerramento.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ENCERRAMENTO CONTÁBIL SOMENTE VISUALIZAÇÃO NÃO LISTAVA TODO ENCERRAMENTO

Informações Complementares

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

Nota Número 08016 Data: 06/02/2009 Hora: 11:47:27

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

 

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

Nota Número              : 08016

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00084

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

06794  - 00001 - 7.0    - 00006  - ENCERRAMENTO CONTÁBIL SOMENTE VISUALIZAÇÃO NÃO LISTAVA TODO ENCER

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

GRAVA VALORES INCORRETOS NO ENCERRAMENTO DE CUSTO.

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

Palavras Chave:

ENCERRAMENTO - CUSTO - CONTABIL - ORDENAÇÃO - VALOR - SOMA

/PWS/SAPMZYCI037 - /PWS/SAPMZYCI010

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

Objetos da nota:

REPS /PWS/MZYCI010F03

REPS /PWS/MZYCI037F01

REPS /PWS/MZYCI037I01

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F03

 

...

FORM fill_036_aux2.

  CLEAR: v_codigo, itab_zycit036_aux, itab_zycit036_aux2.

  FREE itab_zycit036_aux2.

  LOOP AT itab_zycit036_aux.

    IF itab_zycit036_aux-origem NE 'PED'.

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

      IF v_codigo = itab_zycit036_aux-codigo.

* << Fim da exclusão

        MOVE itab_zycit036_aux TO wa_zycit036.

        READ TABLE itab_zycit036_aux2 WITH KEY

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

                                    ebeln  = itab_zycit036_aux-ebeln

* << Fim da inclusão

                                      ebelp  = itab_zycit036_aux-ebelp

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

                                    origem = itab_zycit036_aux-origem

* << Fim da inclusão

                                      codigo = itab_zycit036_aux-codigo.

...

 

...

          itab_zycit036_aux2-vlmov = wa_zycit036-vlmov +

                                              itab_zycit036_aux2-vlmov.

          IF itab_zycit036_aux2-waers_mov IS INITIAL.

            itab_zycit036_aux2-waers_mov = itab_zycit036_aux-waers_mov.

          ENDIF.

          itab_zycit036_aux2-vldif = wa_zycit036-vldif +

                                              itab_zycit036_aux2-vldif.

          IF itab_zycit036_aux2-waers_dif IS INITIAL.

            itab_zycit036_aux2-waers_dif = itab_zycit036_aux-waers_dif.

          ENDIF.

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

        MODIFY itab_zycit036_aux2 INDEX v_index.

* << Fim da inclusão

        ELSE.

          MOVE itab_zycit036_aux TO itab_zycit036_aux2.

          APPEND itab_zycit036_aux2 .

          v_codigo = itab_zycit036_aux-codigo.

        ENDIF.

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

      ELSE.

        MOVE itab_zycit036_aux TO itab_zycit036_aux2.

        APPEND itab_zycit036_aux2 .

        v_codigo = itab_zycit036_aux-codigo.

      ENDIF.

* << Fim da exclusão

    ENDIF.

  ENDLOOP.

  CLEAR:  itab_zycit036_aux, itab_zycit036_aux2.

  LOOP AT itab_zycit036_aux WHERE origem = 'PED'

                              AND vlmov  NE 0.

    MOVE itab_zycit036_aux TO wa_zycit036.

    READ TABLE itab_zycit036_aux2 WITH KEY

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

                                  ebeln  = itab_zycit036_aux-ebeln

* << Fim da inclusão

                                  ebelp  = itab_zycit036_aux-ebelp

                                  codigo = itab_zycit036_aux-codigo.

    IF sy-subrc NE 0.

      MOVE itab_zycit036_aux TO itab_zycit036_aux2.

      APPEND itab_zycit036_aux2 .

    ENDIF.

  ENDLOOP.

  SORT itab_zycit036_aux2 BY nrseq ebeln ebelp codigo origem.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI037F01

 

...

    ENDIF.

  ENDLOOP.

  IF v_execloop EQ 'S'.

    MODIFY /pws/zycit001 FROM /pws/zycie001.

    MODIFY /pws/zycit202 FROM /pws/zycie202.

    MODIFY /pws/zycit211 FROM itab_zycit211.

    COMMIT WORK.

  ENDIF.

  SELECT * FROM /pws/zycit202 INTO TABLE it_zycit202 WHERE

         nrseq = /pws/zycie001-nrseq.                   "#EC CI_NOFIELD

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

  SORT it_zycit202 BY nrseqenc.

* << Fim da inclusão

  FREE: v_ucomm.

ENDFORM.

...

 

...

FORM call_list.

  SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycie001 WHERE

         nrseq = /pws/zycie001-nrseq.

  IF NOT it_zycit201[] IS INITIAL.

    SELECT * FROM /pws/zycit202 INTO TABLE it_zycit202

           FOR ALL ENTRIES IN it_zycit201

           WHERE nrseqenc = it_zycit201-nrseqenc.

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

    SORT it_zycit202 BY nrseqenc.

* << Fim da inclusão

  ENDIF.

  CLEAR sy-ucomm.

  CALL SCREEN '0050'.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI037I01

 

...

            PERFORM call_list.

          ENDIF.

        ELSE.

          PERFORM lock_encer.

          PERFORM call_list.

        ENDIF.

      ELSEIF sy-dynnr EQ '0002'.

        IF sy-tcode NE '/PWS/ZYCI037_E'.

          SELECT * FROM /pws/zycit202 INTO TABLE it_zycit202

                 WHERE nrseq = /pws/zycie001-nrseq.     "#EC CI_NOFIELD

* >> Início da inclusão: MODULE USER_COMMAND_0001

          SORT it_zycit202 BY nrseqenc.

* << Fim da inclusão

        ELSE.

          SELECT * FROM /pws/zycit202 INTO TABLE it_zycit202

                 WHERE nrseq = /pws/zycie001-nrseq.     "#EC CI_NOFIELD

* >> Início da inclusão: MODULE USER_COMMAND_0001

          SORT it_zycit202 BY nrseqenc.

* << Fim da inclusão

        ENDIF.

        IF sy-subrc NE 0.

          MESSAGE w002.

        ELSE.

...

 

...

      CALL METHOD html_control->go_back.

    WHEN 'CLOSE'.

      PERFORM set_the_flag.

    WHEN 'AVAN'.

      CALL METHOD html_control->go_forward.

    WHEN 'ENCERC'.

      PERFORM comm_encer_contabil.

    WHEN 'NEW_ENC'.

      SET PARAMETER ID '/PWS/ZYCIP001' FIELD /pws/zycie001-nrseq.

      CALL TRANSACTION '/PWS/ZYCI010_E'

* >> Início da exclusão: MODULE USER_COMMAND_0050

      AND SKIP FIRST SCREEN.                             "#EC CI_CALLTA

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0050

       AND SKIP FIRST SCREEN.                            "#EC CI_CALLTA

* << Fim da inclusão

      GET PARAMETER ID '/PWS/ZYCIP001' FIELD /pws/zycie001-nrseq.

      SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycie001

             WHERE nrseq EQ /pws/zycie001-nrseq.

      SELECT * FROM /pws/zycit201 INTO TABLE it_zycit201

* >> Início da exclusão: MODULE USER_COMMAND_0050

             WHERE nrseq EQ /pws/zycie001-nrseq.        "#EC CI_NOFIRST

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0050

              WHERE nrseq EQ /pws/zycie001-nrseq.       "#EC CI_NOFIRST

* << Fim da inclusão

      IF NOT it_zycit201[] IS INITIAL.

        SELECT * FROM /pws/zycit202 INTO TABLE it_zycit202

               FOR ALL ENTRIES IN it_zycit201

               WHERE nrseqenc = it_zycit201-nrseqenc.

* >> Início da inclusão: MODULE USER_COMMAND_0050

          SORT it_zycit202 BY nrseqenc.

* << Fim da inclusão

      ENDIF.

    WHEN 'MODO'.

      CALL FUNCTION '/PWS/ZYGL_AUTORIZA_MODO_BATCH'

...