Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 12/01/2006 00:00:00
Data/Hora Última Alteração: 17/02/2011 12:57:32
Descrição da Nota: AJUSTE NO ATO CONCESSÓRIO PARA TRAZER A DATA DA DI DA /PWS/ZYCIT279.
Sintoma
Quando é utilizado o modulo de importação o ato concessório busca a data
da primeira DI da tabela /pws/zycit085, causando erro no caso de uma
carga de dados da tabela /pws/zycit279.
Solução
Ajustar programa para que independente da parametrização de utilização
do modulo de importação busque a data na tabela /pws/zycit279.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00644 Data: 12/01/2006 Hora: 10:07:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00644
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00022
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
AJUSTE NO ATO CONCESSÓRIO PARA TRAZER A DATA DA DI DA /PWS/ZYCIT279.
----------------------------------------------------------------------------------------------------
Palavras Chave:
DATA - DI - ATO CONCESSÓRIO - /PWS/ZYCIT279
/PWS/SAPMZYCI040
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI040F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
IF sy-subrc NE 0.
MESSAGE i015 WITH text-291 /pws/zycie244-bukrs.
LEAVE PROGRAM.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM TRATA_BUTTON_ENTE2
IF /pws/zycit321-ut_imp EQ 'X'.
IF /pws/zycie244-dtdi IS INITIAL.
SELECT * FROM /pws/zycit078 INTO TABLE itab_zycit078
WHERE nrseqd EQ /pws/zycie244-nrseqd.
IF sy-subrc EQ 0.
SELECT a~dtreg
FROM ( /pws/zycit085 AS a INNER JOIN /pws/zycit100 AS b
ON a~nrseqdi EQ b~nrseqdi )
INTO TABLE itab_data_di
FOR ALL ENTRIES IN itab_zycit078
WHERE b~nrseq EQ itab_zycit078-nrseq
AND a~dtreg > 0.
IF sy-subrc EQ 0.
SORT itab_data_di BY data.
READ TABLE itab_data_di INDEX 1.
/pws/zycie244-dtdi = itab_data_di-data.
/pws/zycie244-vcto_fn = /pws/zycie244-dtdi + 731.
IF /pws/zycie244-vcto_vg IS INITIAL.
/pws/zycie244-vcto_vg = /pws/zycie244-vcto_fn.
itab_vencto2-vencto = /pws/zycie244-vcto_fn.
APPEND itab_vencto2.
ENDIF.
UPDATE /pws/zycit244 SET dtdi = /pws/zycie244-dtdi
vcto_fn = /pws/zycie244-vcto_fn
WHERE nrseqd EQ /pws/zycie244-nrseqd.
ELSE.
LOOP AT itab_zycit078.
SELECT SINGLE a~nrseqdi
FROM ( /pws/zycit085 AS a INNER JOIN /pws/zycit100 AS b
ON a~nrseqdi EQ b~nrseqdi )
INTO /pws/zycie085-nrseqdi
WHERE b~nrseq EQ itab_zycit078-nrseq.
IF sy-subrc EQ 0.
MESSAGE i015 WITH text-265 /pws/zycie085-nrseqdi text-266.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
* << Fim da exclusão
IF NOT /pws/zycie244-vcto_fn IS INITIAL.
IF /pws/zycie244-vcto_fn <= sy-datum.
IF /pws/zycie244-fechado IS INITIAL.
MESSAGE i015 WITH text-244.
ENDIF.
...
...
ENDIF.
FREE itab_zycit279_ap_aux.
SELECT * FROM /pws/zycit282 INTO TABLE itab_zycit282_ap
WHERE nrseqd EQ /pws/zycie244-nrseqd.
LOOP AT itab_zycit279_ap.
* >> Início da exclusão: FORM CARREGA_TABELA279
IF /pws/zycit321-ut_imp EQ 'X'.
IF itab_zycit279_ap-nrseqdi IS INITIAL.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit279_ap-nrseq
ebeln = itab_zycit279_ap-ebeln
ebelp = itab_zycit279_ap-ebelp.
READ TABLE itab_zycit085 WITH KEY
nrseqdi = itab_zycit100-nrseqdi.
itab_zycit279_ap-nrseqdi = itab_zycit085-nrseqdi.
itab_zycit279_ap-dtdi = itab_zycit085-dtreg .
itab_zycit279_ap-nrdi = itab_zycit085-nrdi .
itab_zycit279_ap-adicao = itab_zycit100-adicao .
ENDIF.
ELSE.
* << Fim da exclusão
MOVE itab_zycit279_ap-dtdi TO itab_data_di-data.
APPEND itab_data_di.
* >> Início da exclusão: FORM CARREGA_TABELA279
ENDIF.
* << Fim da exclusão
CLEAR: itab_zycit279_ap-qtd_perda, itab_zycit279_ap-qtd_perda_e.
LOOP AT itab_zycit282_ap
WHERE nrseqimp EQ itab_zycit279_ap-nrseq
AND ebeln EQ itab_zycit279_ap-ebeln
AND ebelp EQ itab_zycit279_ap-ebelp.
...
...
ENDLOOP.
itab_zycit279_ap-perda = ( itab_zycit279_ap-qtd_perda /
itab_zycit279_ap-menge ) * 100.
MODIFY itab_zycit279_ap.
ENDLOOP.
* >> Início da inclusão: FORM CARREGA_TABELA279
IF NOT itab_data_di[] IS INITIAL.
* << Fim da inclusão
* >> Início da exclusão: FORM CARREGA_TABELA279
IF /pws/zycit321-ut_imp NE 'X'
AND NOT itab_data_di[] IS INITIAL.
* << Fim da exclusão
SORT itab_data_di BY data.
READ TABLE itab_data_di INDEX 1.
/pws/zycie244-dtdi = itab_data_di-data.
/pws/zycie244-vcto_fn = /pws/zycie244-dtdi + 731.
IF /pws/zycie244-vcto_vg IS INITIAL.
...