CE PLUS - Nota 002618

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.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO DE DATAS E EXCLUSÃO DOS TRATAMENTOS DE INSUMOS_ALTERNATIVOS

DESENVOLVIMENTO DA APROPRIAÇÃO/DESAP. COMUM/INTERMEDIARIO POR NCM

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.

...