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.
7.0
Produto:
Nota
Descrição
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'
...