Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Despesas
Data/Hora da Publicação: 22/03/2010 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:51:16
Descrição da Nota: TRATAMENTO DE CASAS DECIMAIS PARA AS DESPESAS DA FATURA.
Sintoma
Erro ocorre ao criar uma fatura de despesas utilizando moeda que não possua casas decimais, ao
preencher os valores das despesas estes estão sendo multiplicadas por 100 a cada ação realizada no
programa como, por exemplo, pressionar a tecla enter ou tentar salvar a fatura.
Solução
Adicionada coluna moeda a table control de despesas.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09985 Data: 22/03/2010 Hora: 09:13:55
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09985
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00012
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00984 - 00001 - 6.0 - 00022 - A FATURA 04 NÃO ESTÁ LEVANDO O VALOR DA DESPESA NA PASTA EXPENDIT
----------------------------------------------------------------------------------------------------
TRATAMENTO DE CASAS DECIMAIS PARA AS DESPESAS DA FATURA.
----------------------------------------------------------------------------------------------------
Palavras Chave:
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI003 0107
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI003 0107
*Incluir a coluna "/PWS/ZYCIE047-WAERS" entre as colunas descrição da despesa e valor da despesa.
INCLUIR CAMPO TEXTO "/PWS/ZYCIE047-WAERS" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 5
Linha 1
Coluna 3
Formato CUKY
Linhas mínimas 5
Texto _____
INCLUIR TEXTO "/PWS/ZYCIE047-WAERS" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 15
Linha 1
Coluna 3
Formato CHAR
Texto Moeda
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
itab_zycit019-codigo = 'PIS' OR
itab_zycit019-codigo = 'COFINS' .
DELETE itab_zycit019.
ENDIF.
ENDLOOP.
IF itab_zycit047[] IS INITIAL.
REFRESH: itab_zycit047, itab_zycit047_aux.
CLEAR:itab_zycit047, itab_zycit047_aux.
LOOP AT itab_zycit019.
MOVE /pws/zycie006-nrseq TO itab_zycit047-nrseq.
* >> Início da inclusão: FORM CARREGANDO_DADOS_019
MOVE /pws/zycie006-waers TO itab_zycit047-waers.
* << Fim da inclusão
MOVE /pws/zycie006-nrfat TO itab_zycit047-nrfat.
MOVE itab_zycit019-tpdesp TO itab_zycit047-tpdesp.
MOVE itab_zycit019-descr TO itab_zycit047-descr.
APPEND itab_zycit047.
ENDLOOP.
ENDIF.
IF sy-tcode = '/PWS/ZYCI003_L' OR
sy-tcode = '/PWS/ZYCI003_A' OR
sy-tcode = '/PWS/ZYCI003_E' OR
sy-tcode = '/PWS/ZYCI003_M' .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
ENDIF.
DELETE itab_zycit403 WHERE valorrec EQ space.
LOOP AT itab_zycit403.
itab_zycit403a-codigo = itab_zycit403-codigo.
itab_zycit403a-valorrec = itab_zycit403-valorrec.
COLLECT itab_zycit403a.
ENDLOOP.
DESCRIBE TABLE itab_zycit003 LINES v_line.
CLEAR: v_erro.
LOOP AT itab_zycit047 WHERE vldp > 0.
* >> Início da inclusão: FORM MIRO_AM_LA
PERFORM retorna_decimais USING itab_zycit047-waers
CHANGING itab_zycit047-vldp.
* << Fim da inclusão
READ TABLE itab_zycit019 WITH KEY
tpdesp = itab_zycit047-tpdesp.
READ TABLE itab_zycit399 WITH KEY codigo = itab_zycit019-codigo.
IF sy-subrc EQ 0.
READ TABLE itab_zycit403a WITH KEY
codigo = itab_zycit019-codigo.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-177 itab_zycit047-descr.
v_erro = 'X'.
EXIT.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
IF v_status_s = 0 OR sy-tcode = '/PWS/ZYCI003_M'.
screen-input = '0'.
MODIFY SCREEN.
ELSEIF v_status_s = 1 AND screen-group1 NE 'OUT'.
screen-input = '1' .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF v_status_s = 0 OR sy-tcode = '/PWS/ZYCI003_M'.
LOOP AT tc_desp-cols INTO wa_cols.
* >> Início da inclusão: MODULE SET_SCREEN
IF wa_cols-screen-name = '/PWS/ZYCIE047-WAERS'.
wa_cols-invisible = 1.
ENDIF.
* << Fim da inclusão
wa_cols-screen-input = '0'.
MODIFY tc_desp-cols FROM wa_cols.
ENDLOOP.
ELSEIF v_status_s = 1.
LOOP AT tc_desp-cols INTO wa_cols.
IF wa_cols-screen-group1 NE 'OUT' .
wa_cols-screen-input = '1'.
* >> Início da inclusão: MODULE SET_SCREEN
IF wa_cols-screen-name = '/PWS/ZYCIE047-WAERS'.
wa_cols-invisible = 1.
ENDIF.
* << Fim da inclusão
MODIFY tc_desp-cols FROM wa_cols.
ENDIF.
ENDLOOP.
ENDIF.
WHEN '0108'.
LOOP AT SCREEN.
IF screen-name = '/PWS/ZYCIE006-BCOFAV' AND
/pws/zycie006-flagdesc = 'X'.
screen-input = 0.
ENDIF.
...
...
/pws/zycie047-mandt = itab_zycit047-mandt.
/pws/zycie047-nrseq = itab_zycit047-nrseq.
/pws/zycie047-nrfat = itab_zycit047-nrfat.
/pws/zycie047-tpdesp = itab_zycit047-tpdesp.
/pws/zycie047-descr = itab_zycit047-descr.
/pws/zycie047-embarca = itab_zycit047-embarca.
/pws/zycie047-bukrs = itab_zycit047-bukrs.
/pws/zycie047-werks = itab_zycit047-werks.
/pws/zycie047-waers = itab_zycit047-waers.
/pws/zycie047-vldp = itab_zycit047-vldp.
* >> Início da exclusão: MODULE /PWS/ZYCIE047
tc_desp-lines = tc_desp-lines + 8.
* << Fim da exclusão
ENDMODULE.
...