Módulo: DRAWBACK
Funcionalidade: Parâmetros
Data/Hora da Publicação: 12/09/2006 00:00:00
Data/Hora Última Alteração: 17/02/2011 14:33:43
Descrição da Nota: AJUSTE NA MONTAGEM DOS DADOS REFERENTES AS DATAS NA TABELA.
Sintoma
O programa preenche as datas de validade com referencia no campo matnr da mas deveria preencher de
acordo com o campo matnr_alt
Solução
Ajustar o preenchimento da tabela.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02085 Data: 12/09/2006 Hora: 16:36:56
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02085
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00024
Agrupamento : 00129
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01977 - 00001 - 6.0 - 00024 - TRATAMENTO NO PROGRAMA PARA TRAZER CORRETAMENTE OS INSUMOS
----------------------------------------------------------------------------------------------------
AJUSTE NA MONTAGEM DOS DADOS REFERENTES AS DATAS NA TABELA.
----------------------------------------------------------------------------------------------------
Palavras Chave:
INSUMO - ALTERNATIVO - AVANÇO - TECNOLÓGICO
/PWS/ZYCIR342 - /PWS/ZYCIT433
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR342F01
REPS /PWS/ZYCIR342I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR342F01
FORM move_insumos.
itab_insumo[] = itab_zycit433_s[].
DELETE itab_insumo WHERE grupo NE itab_grupo-grupo.
* >> Início da exclusão: FORM MOVE_INSUMOS
DELETE ADJACENT DUPLICATES FROM itab_insumo
COMPARING matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_INSUMOS
LOOP AT itab_insumo.
IF itab_insumo-matnr_alt NE itab_insumo-matnr
AND NOT itab_insumo-matnr_alt IS INITIAL.
DELETE itab_insumo.
ENDIF.
ENDLOOP.
* << Fim da inclusão
MOVE: itab_grupo-grupo TO /pws/zycie433-grupo ,
itab_grupo-desc_g TO /pws/zycie433-desc_g ,
itab_grupo-j_1bnbm TO /pws/zycie433-j_1bnbm,
itab_grupo-meins TO /pws/zycie433-meins .
ENDFORM.
...
...
FORM grava.
DATA: itab_zycit433_a1 TYPE /pws/zycit433 OCCURS 0 WITH HEADER LINE,
itab_zycit433_a2 TYPE /pws/zycit433 OCCURS 0 WITH HEADER LINE,
v_matnr_alt TYPE /pws/zycit433-matnr_alt.
REFRESH: itab_zycit433_a1, itab_zycit433_a2.
* >> Início da exclusão: FORM GRAVA
itab_zycit433_a1[] = itab_zycit433_s[].
DELETE itab_zycit433_a1 WHERE grupo NE itab_zycit433_s-grupo.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA
LOOP AT itab_zycit433_s.
IF itab_zycit433_s-matnr_alt NE itab_zycit433_s-matnr
AND NOT itab_zycit433_s-matnr_alt IS INITIAL.
DELETE itab_zycit433_s.
ENDIF.
ENDLOOP.
itab_zycit433_a1[] = itab_zycit433_a2[] = itab_zycit433_s[].
REFRESH itab_zycit433_s.
* << Fim da inclusão
IF NOT itab_zycit433_a1[] IS INITIAL.
* >> Início da exclusão: FORM GRAVA
itab_zycit433_a2[] = itab_zycit433_s[].
* << Fim da exclusão
SORT itab_zycit433_a2 BY grupo matnr.
DELETE ADJACENT DUPLICATES FROM itab_zycit433_a2
COMPARING grupo matnr.
LOOP AT itab_zycit433_a1.
LOOP AT itab_zycit433_a2
WHERE grupo EQ itab_zycit433_a1-grupo.
* >> Início da inclusão: FORM GRAVA
itab_zycit433_s = itab_zycit433_a2.
* << Fim da inclusão
* >> Início da exclusão: FORM GRAVA
itab_zycit433_s = itab_zycit433_a1.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA
itab_zycit433_s-matnr = itab_zycit433_a1-matnr.
* << Fim da inclusão
itab_zycit433_s-matnr_alt = itab_zycit433_a2-matnr.
APPEND itab_zycit433_s.
ENDLOOP.
ENDLOOP.
DELETE itab_zycit433_s WHERE matnr_alt EQ space.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR342I01
...
MESSAGE i015 WITH text-016.
EXIT.
ENDIF.
CLEAR: v_exist.
LOOP AT itab_zycit433_s
* >> Início da exclusão: MODULE PREENCHE_INSUMO
WHERE matnr EQ /pws/zycie433-matnr
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
WHERE ( matnr_alt EQ /pws/zycie433-matnr or
( matnr EQ /pws/zycie433-matnr and
matnr_alt EQ space ) )
* << Fim da inclusão
AND grupo NE itab_grupo-grupo
AND ( ( dtde >= /pws/zycie433-dtde
AND dtde <= /pws/zycie433-dtate )
OR ( dtate >= /pws/zycie433-dtde
AND dtate <= /pws/zycie433-dtate ) ).
v_exist = 'X'.
EXIT.
ENDLOOP.
LOOP AT itab_zycit433_s
* >> Início da exclusão: MODULE PREENCHE_INSUMO
WHERE matnr EQ /pws/zycie433-grupo
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
WHERE ( matnr_alt EQ /pws/zycie433-matnr or
( matnr EQ /pws/zycie433-matnr and
matnr_alt EQ space ) )
* << Fim da inclusão
AND grupo NE itab_grupo-grupo
AND ( ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate )
OR ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate ) ).
...
...
itab_zycit433_s = itab_insumo.
APPEND itab_zycit433_s.
ELSE.
CLEAR: v_exist.
LOOP AT itab_zycit433_s
* >> Início da exclusão: MODULE PREENCHE_INSUMO
WHERE matnr EQ /pws/zycie433-matnr
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
WHERE ( matnr_alt EQ /pws/zycie433-matnr or
( matnr EQ /pws/zycie433-matnr and
matnr_alt EQ space ) )
* << Fim da inclusão
AND grupo NE itab_grupo-grupo
AND ( ( dtde >= /pws/zycie433-dtde
AND dtde <= /pws/zycie433-dtate )
OR ( dtate >= /pws/zycie433-dtde
AND dtate <= /pws/zycie433-dtate ) ).
v_exist = 'X'.
EXIT.
ENDLOOP.
LOOP AT itab_zycit433_s
* >> Início da exclusão: MODULE PREENCHE_INSUMO
WHERE matnr EQ /pws/zycie433-grupo
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
WHERE ( matnr_alt EQ /pws/zycie433-matnr or
( matnr EQ /pws/zycie433-matnr and
matnr_alt EQ space ) )
* << Fim da inclusão
AND grupo NE itab_grupo-grupo
AND ( ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate )
OR ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate ) ).
...
...
/pws/zycie433-dtde TO itab_insumo-dtde,
/pws/zycie433-dtate TO itab_insumo-dtate.
MODIFY itab_insumo INDEX tc_insumo-current_line.
itab_zycit433_s = itab_insumo.
MODIFY itab_zycit433_s TRANSPORTING dtde dtate
* >> Início da exclusão: MODULE PREENCHE_INSUMO
WHERE matnr EQ /pws/zycie433-matnr.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
WHERE matnr_alt EQ /pws/zycie433-matnr or
( matnr EQ /pws/zycie433-matnr and
matnr_alt EQ space ).
* << Fim da inclusão
ENDIF.
ENDMODULE.
MODULE marca_l102 INPUT.
READ TABLE itab_insumo INDEX tc_insumo-current_line.
IF sy-subrc EQ 0 .
...