Módulo: DRAWBACK
Funcionalidade: Apropriação
Data/Hora da Publicação: 07/12/2006 00:00:00
Data/Hora Última Alteração: 17/02/2011 14:42:29
Descrição da Nota: AJUSTADO TRATAMENTO DO INSUMO ALTERNATIVO
Sintoma
Ajuste para tratar alterações realizadas no cadastro dos insumos alternativos.
Solução
Ajuste para tratar alterações realizadas no cadastro dos insumos alternativos.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02618 Data: 07/12/2006 Hora: 08:54:47
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02618
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00142
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01373 - 00001 - 6.0 - 00023 - DESENVOLVIMENTO DA APROPRIAÇÃO/DESAP. COMUM/INTERMEDIARIO POR NCM
02190 - 00002 - 6.0 - 00025 - TRATAMENTO DE DATAS E EXCLUSÃO DOS TRATAMENTOS DE INSUMOS_ALTERNA
----------------------------------------------------------------------------------------------------
AJUSTADO TRATAMENTO DO INSUMO ALTERNATIVO
----------------------------------------------------------------------------------------------------
Palavras Chave:
INSUMO - ALTERNATIVO - APROPRIAÇÃO
/PWS/ZYCIR254
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR254
REPS /PWS/ZYCIR254F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR254
...
INCLUDE STRUCTURE /pws/zycit279.
DATA: matnr_alt LIKE /pws/zycit279-matnr.
DATA: END OF it_zycit279.
DATA: BEGIN OF it_zycit279_save OCCURS 0.
INCLUDE STRUCTURE /pws/zycit279.
DATA: matnr_alt LIKE /pws/zycit279-matnr.
DATA: END OF it_zycit279_save.
DATA: BEGIN OF itab_zycit433 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit433.
DATA: END OF itab_zycit433.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit433t OCCURS 0.
INCLUDE STRUCTURE /pws/zycit433.
DATA: END OF itab_zycit433t.
* << Fim da inclusão
DATA: BEGIN OF it_zycit244 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit244.
DATA: END OF it_zycit244.
DATA: BEGIN OF it_zycit245 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit245.
DATA: END OF it_zycit245.
DATA: BEGIN OF it_zycit282 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit282.
DATA: END OF it_zycit282.
DATA: BEGIN OF it_zycit247 OCCURS 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR254F01
...
v_qtdtot LIKE /pws/zycee002-fkimg,
v_qttmp LIKE /pws/zycee002-fkimg,
v_tabix LIKE sy-tabix,
v_perda LIKE /pws/zycie245-perda,
v_qtd_perda LIKE /pws/zycee002-fkimg,
v_tabix_245 LIKE sy-tabix,
c_pct_dec TYPE p DECIMALS 2.
CLEAR it_zycit279.
MODIFY it_zycit279 TRANSPORTING matnr_alt
WHERE matnr_alt NE space.
* >> Início da inclusão: FORM GET_PCT
IF itab_zycit433[] IS INITIAL.
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433.
ENDIF.
* << Fim da inclusão
LOOP AT itab_lista.
* >> Início da inclusão: FORM GET_PCT
REFRESH itab_zycit433t.
itab_zycit433t[] = itab_zycit433[].
CLEAR: itab_zycit433.
READ TABLE itab_zycit433 WITH KEY matnr = itab_lista-matnr.
DELETE itab_zycit433t WHERE grupo NE itab_zycit433-grupo.
* << Fim da inclusão
* >> Início da exclusão: FORM GET_PCT
REFRESH itab_zycit433.
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
WHERE matnr EQ itab_lista-matnr.
itab_zycit433-matnr = itab_lista-matnr.
itab_zycit433-matnr_alt = itab_lista-matnr.
APPEND itab_zycit433.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PCT
it_zycit279-matnr_alt = itab_lista-matnr.
MODIFY it_zycit279 TRANSPORTING matnr_alt
WHERE matnr EQ itab_lista-matnr
AND nrseqd EQ it_zycit247-nrseqd.
* << Fim da inclusão
* >> Início da exclusão: FORM GET_PCT
LOOP AT itab_zycit433.
it_zycit279-matnr_alt = itab_zycit433-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PCT
LOOP AT itab_zycit433t.
it_zycit279-matnr_alt = itab_lista-matnr.
* << Fim da inclusão
MODIFY it_zycit279 TRANSPORTING matnr_alt
* >> Início da exclusão: FORM GET_PCT
WHERE matnr EQ itab_zycit433-matnr_alt
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PCT
WHERE matnr EQ itab_zycit433t-matnr
* << Fim da inclusão
AND nrseqd EQ it_zycit247-nrseqd.
ENDLOOP.
CLEAR: v_qtdtot, v_qtd_perda, v_perda, it_zycit245.
...
...
CLEAR it_apr_final_aux. REFRESH it_apr_final_aux.
IF p_qtdebase IS INITIAL.
p_qtdebase = 1.
ENDIF.
LOOP AT itab_lista_aux.
v_qtdtmp2 = itab_lista_aux-usagem *
( it_zycet002-fkimg - p_qtdaprop ) .
CLEAR it_zycit279.
MODIFY it_zycit279 TRANSPORTING matnr_alt
WHERE matnr_alt NE space.
* >> Início da exclusão: FORM APPROPRIATE_TNG
REFRESH itab_zycit433.
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
WHERE matnr EQ itab_lista_aux-matnr.
itab_zycit433-matnr = itab_lista_aux-matnr.
itab_zycit433-matnr_alt = itab_lista_aux-matnr.
APPEND itab_zycit433.
* << Fim da exclusão
* >> Início da inclusão: FORM APPROPRIATE_TNG
REFRESH itab_zycit433t.
itab_zycit433t[] = itab_zycit433[].
CLEAR: itab_zycit433.
READ TABLE itab_zycit433 WITH KEY matnr = itab_lista_aux-matnr.
DELETE itab_zycit433t WHERE grupo NE itab_zycit433-grupo.
* << Fim da inclusão
* >> Início da exclusão: FORM APPROPRIATE_TNG
LOOP AT itab_zycit433.
it_zycit279-matnr_alt = itab_zycit433-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM APPROPRIATE_TNG
it_zycit279-matnr_alt = itab_lista_aux-matnr.
* << Fim da inclusão
MODIFY it_zycit279 TRANSPORTING matnr_alt
* >> Início da exclusão: FORM APPROPRIATE_TNG
WHERE matnr EQ itab_zycit433-matnr_alt
* << Fim da exclusão
* >> Início da inclusão: FORM APPROPRIATE_TNG
WHERE matnr EQ itab_lista_aux-matnr
* << Fim da inclusão
AND nrseqd EQ it_zycit247-nrseqd.
* >> Início da inclusão: FORM APPROPRIATE_TNG
LOOP AT itab_zycit433t.
it_zycit279-matnr_alt = itab_lista_aux-matnr.
MODIFY it_zycit279 TRANSPORTING matnr_alt
WHERE matnr EQ itab_zycit433t-matnr
AND nrseqd EQ it_zycit247-nrseqd.
* << Fim da inclusão
ENDLOOP.
CLEAR: v_aprcomum.
LOOP AT it_zycit279 WHERE nrseqd = it_zycit247-nrseqd
AND esgotado = space
AND matnr_alt EQ itab_lista_aux-matnr.
CLEAR v_dias.
v_dias = v_dtforn - it_zycit279-dtnf.
IF it_zycit281-nrdprod > v_dias.
CONTINUE.
ENDIF.
...