Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DSI
Data/Hora da Publicação: 01/12/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:59:46
Descrição da Nota: PREENCHE CENTRO LUCRO NA VARIAÇÃO CAMBIAL DA DSI
Sintoma
Ao lançar a variação cambial na DSI não está preenchendo o centro de lucro mesmo estando
parametrizado para que este seja preenchido.
Solução
Ajustado programa para utilizar a mesma função utilizada pela DI para lançar a variação cambial.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07680 Data: 01/12/2008 Hora: 14:08:57
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07680
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00076
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03047 - 00001 - 6.0 - 00026 - ESTA NOTA CRIA A FUNÇÃO DE RECLASSIFICAÇÃO DE IA
----------------------------------------------------------------------------------------------------
PREENCHE CENTRO LUCRO NA VARIAÇÃO CAMBIAL DA DSI
----------------------------------------------------------------------------------------------------
Palavras Chave:
VARIAÇÃO - CAMBIAL - CENTRO - LUCRO - DSI -
/PWS/SAPMZYCI058
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI058F01
REPS /PWS/MZYCI058F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F01
...
itab_zycit115[] TO itab_zycit115a[],
itab_zycit116[] TO itab_zycit116a[],
itab_zycit118[] TO itab_zycit118a[],
itab_zycit121[] TO itab_zycit121a[],
itab_zycit124[] TO itab_zycit124a[],
itab_zycit200[] TO itab_zycit200a[],
itab_zycit049di2[] TO itab_zycit049di[],
itab_it[] TO itab_ita[],
/pws/zycie085 TO wa_zycit085.
PERFORM save_especificacao.
* >> Início da exclusão: FORM SAVE_DATA
PERFORM reclassificacao_ia.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA
PERFORM reclassificacao_ia_funcao.
* << Fim da inclusão
ENDFORM.
FORM verify_changes.
CLEAR v_changed.
CHECK v_acto EQ 'A'.
CLEAR: itab_zycit100, itab_zycit003.
REFRESH: itab_zycit100, itab_zycit003, itab_zycit049di2.
LOOP AT itab_it.
MOVE-CORRESPONDING itab_it TO itab_zycit100.
APPEND itab_zycit100.
ENDLOOP.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F02
...
* >> Início da inclusão:
FORM reclassificacao_ia_funcao.
DATA: BEGIN OF itab_variacao OCCURS 0.
INCLUDE STRUCTURE /pws/zycit085.
DATA: END OF itab_variacao.
CHECK NOT /pws/zycie085-dtreg IS INITIAL AND
NOT /pws/zycie085-nrdi IS INITIAL.
LOOP AT itab_zycit006.
IF itab_zycit006-frpagto EQ 'P' OR
itab_zycit006-frpagto EQ 'A' .
DELETE itab_zycit006.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit006.
ENDLOOP.
IF sy-subrc NE 0 .
EXIT.
ENDIF.
IF v_modo_bi IS INITIAL .
v_modo_bi = 'N'.
ENDIF.
CLEAR: v_dele.
IF /pws/zycie085-belnr_0 IS INITIAL AND
NOT /pws/zycie085-belnr_0_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_0_f05
/pws/zycie085-budat_0.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_0_f05.
ENDIF.
ENDIF.
IF /pws/zycie085-belnr_1 IS INITIAL AND
NOT /pws/zycie085-belnr_1_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_1_f05
/pws/zycie085-budat_1.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_1_f05.
ENDIF.
ENDIF.
IF /pws/zycie085-belnr_2 IS INITIAL AND
NOT /pws/zycie085-belnr_2_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_2_f05
/pws/zycie085-budat_2.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_2_f05.
ENDIF.
ENDIF.
IF /pws/zycie085-belnr_3 IS INITIAL AND
NOT /pws/zycie085-belnr_3_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_3_f05
/pws/zycie085-budat_3.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_3_f05.
ENDIF.
ENDIF.
UPDATE /pws/zycit085 SET belnr_0_f05 = /pws/zycie085-belnr_0_f05
belnr_1_f05 = /pws/zycie085-belnr_1_f05
belnr_2_f05 = /pws/zycie085-belnr_2_f05
belnr_3_f05 = /pws/zycie085-belnr_3_f05
WHERE nrseqdi = /pws/zycie085-nrseqdi.
PERFORM clear_date_batch.
CALL FUNCTION '/PWS/ZYCI_RECLASSIFICACAO_IA'
EXPORTING
i_zycit001 = itab_zycit001
v_modo = v_modo_bi
i_programa = 'DI'
TABLES
t_zycit100 = itab_zycit100[]
t_zycit003 = itab_zycit003[]
t_zycbt032 = itab_zycbt032[]
itab_variacao = itab_variacao[]
EXCEPTIONS
table_initial = 1
existe_recebimento = 2
flag_reclassificacao = 3
dados_di_inicial = 4
OTHERS = 5.
IF sy-subrc <> 0.
CLEAR itab_variacao.
ENDIF.
READ TABLE itab_variacao INDEX 1.
IF sy-subrc EQ 0.
IF NOT itab_variacao-belnr_0_f05 IS INITIAL OR
NOT itab_variacao-belnr_1_f05 IS INITIAL OR
NOT itab_variacao-belnr_2_f05 IS INITIAL OR
NOT itab_variacao-belnr_3_f05 IS INITIAL OR
NOT itab_variacao-belnr_0 IS INITIAL OR
NOT itab_variacao-belnr_1 IS INITIAL OR
NOT itab_variacao-belnr_2 IS INITIAL OR
NOT itab_variacao-belnr_3 IS INITIAL.
MOVE :
itab_variacao-belnr_0 TO /pws/zycie085-belnr_0 ,
itab_variacao-belnr_1 TO /pws/zycie085-belnr_1,
itab_variacao-belnr_2 TO /pws/zycie085-belnr_2,
itab_variacao-belnr_3 TO /pws/zycie085-belnr_3,
itab_variacao-budat_0 TO /pws/zycie085-budat_0,
itab_variacao-budat_1 TO /pws/zycie085-budat_1,
itab_variacao-budat_2 TO /pws/zycie085-budat_2,
itab_variacao-budat_3 TO /pws/zycie085-budat_3,
itab_variacao-belnr_0_f05 TO /pws/zycie085-belnr_0_f05,
itab_variacao-belnr_1_f05 TO /pws/zycie085-belnr_1_f05,
itab_variacao-belnr_2_f05 TO /pws/zycie085-belnr_2_f05,
itab_variacao-belnr_3_f05 TO /pws/zycie085-belnr_3_f05.
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-51'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-05'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-51'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-05'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da inclusão