CE PLUS - Nota 003613

Módulo: DRAWBACK

Funcionalidade: Parâmetros

Data/Hora da Publicação: 04/05/2007 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:08:30

Descrição da Nota: PERMITE O REPETIR O INSUMO NO MESMO GRUPO COM RANGER DE DATA DIFERENTE

Sintoma

O programa não permite que um mesmo insumo seja cadastrado para um determinado grupo mesmo com rager

de data diferente.

 

 

Solução

Ajustar o programa para permitir o cadastrado do mesmo insumo diversas vezes para o mesmo grupo com

ranger de datas diferentes.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO DE DATAS E EXCLUSÃO DOS TRATAMENTOS DE INSUMOS_ALTERNATIVOS

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 03613 Data: 04/05/2007 Hora: 07:37:43

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 03613

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00164

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

02190  - 00001 - 6.0    - 00025  - TRATAMENTO DE DATAS E EXCLUSÃO DOS TRATAMENTOS DE INSUMOS_ALTERNA

----------------------------------------------------------------------------------------------------

PERMITE O REPETIR O INSUMO NO MESMO GRUPO COM RANGER DE DATA DIFERENTE

----------------------------------------------------------------------------------------------------

Palavras Chave:

INSUMO - ALTERNATIVO - ITEM - GENÉRICO - /PWS/ZYCIR342

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

DYNP /PWS/ZYCIR342                           0102

DYNP /PWS/ZYCIR342                           0200

REPS /PWS/ZYCIR342F01

REPS /PWS/ZYCIR342I01

REPS /PWS/ZYCIR342O01

REPS /PWS/ZYCIR342TOP

REPT /PWS/ZYCIR342

TABD /PWS/ZYCIT433

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DYNP /PWS/ZYCIR342                           0102

 

 

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

*Campos modificados

*De.

+  TC_INSUMO

      Tabel      3        1      85      85      22

      Seleção linha=Simples, Seleção coluna=Simples

      TabEntr., Com título, Configurável, Coluna marc., LSep.horiz., LnhSep.vert.

*Para.

 

*De.

 - /PWS/ZYCIE433-MATNR

      I/O        1        1      18      18       1     CHAR   X           Ent Off

                               MAT

      Chave externa, Botão EntrsPoss.stand., Elem.TC

      Saída de conversão=MATN1

*Para.

 

*De.

 - /PWS/ZYCIE433-DTDE

      I/O        1        3      10      10       1     DATE   X           Ent Off

      Entr.obrig., Botão EntrsPoss.stand., Elem.TC

*Para.

 - /PWS/ZYCIE433-DTDE

      I/O        1        3      10      10       1     DATS   X               Off

      Botão EntrsPoss.stand., Elem.TC

*De.

 - /PWS/ZYCIE433-DTATE

      I/O        1        4      10      10       1     DATE   X           Ent Off

      Entr.obrig., Botão EntrsPoss.stand., Elem.TC

*Para.

 - /PWS/ZYCIE433-DTATE

      I/O        1        4      10      10       1     DATS   X               Off

      Botão EntrsPoss.stand., Elem.TC

 

*Inclusão:

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

*Botões

   BTN1

      Push      23        3      15      15       1     CHAR

                                                    ADD

   BTN2

      Push      23       20      18      18       1     CHAR

                                                    MOD

 

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DYNP /PWS/ZYCIR342                           0200

*Criar tela 0200:

Descrição breve        Adiciona Item

Idioma original        P

Tipo tela              Tela diálogo modal

Tela seguin            0200

Manter dados           Desativado

Fonte equidistante     Desativado

Compressão tmp.exec.   Ativado

Tela-modelo            Desativado

Manter posição de rola Desativado

Posição cursor

Grp.telas

Linhas/colunas  Ocupds   5 / 34

                Atual.   6 / 45

 

*Layout

 

      ....+...10....+...10....+...30....+...40....+

 

 001  Material        __________________>

 002  Valido de:      __________>

 003  Valido até:     __________>

 004

 005        __________      Cancelar

 006

 

*Atributos dos campos:

Nome

   Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

   Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

   Outros atributos

 

/PWS/ZYCIE433-MATNR

   Texto      1        1      15      15       1     CHAR      X    2

   Chave externa

/PWS/ZYCIE433-MATNR

   I/O        1       17      18      18       1     CHAR   X           Ent Off

                            MAT

   Chave externa, Botão EntrsPoss.stand.

   Saída de conversão=MATN1

/PWS/ZYCIE433-DTDE

   Texto      2        1      10      10       1     CHAR      X    F

 

/PWS/ZYCIE433-DTDE

   I/O        2       17      10      10       1     DATS   X           Ent Off

   Botão EntrsPoss.stand.

/PWS/ZYCIE433-DTATE

   Texto      3        1      11      11       1     CHAR      X    F

 

/PWS/ZYCIE433-DTATE

   I/O        3       17      10      10       1     DATS   X           Ent Off

   Botão EntrsPoss.stand.

BTN1

   Push       5        7      10      10       1     CHAR                   Off

                                                 OK

BTN2

   Push       5       23       8       8       1     CHAR

                                                 CANC                 E

 

*Código de fonte:

 

PROCESS BEFORE OUTPUT.

 MODULE STATUS_0200.

 

PROCESS AFTER INPUT.

 

 MODULE: USER_COMMAND_0200,

         user_command_exit at exit-command.

 

 

----------------------------------------------------------------------------------------------------

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

  SORT itab_insumo BY matnr dtde.

* << 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 deleta_insumo.

  DATA: v_matnr_d    TYPE mara-matnr.

  CLEAR: v_matnr_d.

  SELECT SINGLE matnr

    FROM /pws/zycit279

...

 

...

       EXCEPTIONS

          text_not_found              = 1

          OTHERS                      = 2.

ENDFORM.

FORM grava.

  SORT itab_zycit433_s BY grupo matnr.

  DELETE ADJACENT DUPLICATES FROM itab_zycit433_s.

  DELETE /pws/zycit433 FROM TABLE itab_zycit433_d.

  MODIFY /pws/zycit433 FROM TABLE itab_zycit433_s.

ENDFORM.

* >> Início da inclusão:

FORM verifica_inclus.

  DATA: v_mensagem(50) TYPE c,

        v_exist        TYPE c.

  CHECK NOT /pws/zycie433-dtde IS INITIAL

        AND NOT /pws/zycie433-dtate IS INITIAL.

  CLEAR: itab_zycit433_s.

  READ TABLE itab_zycit433_s WITH KEY matnr = /pws/zycie433-matnr.

  IF sy-subrc EQ 0.

    LOOP AT itab_zycit433_s

                    WHERE matnr EQ /pws/zycie433-matnr

                      AND ( ( dtde  >= /pws/zycie433-dtde

                       AND    dtde  <= /pws/zycie433-dtate )

                       OR  (  dtate >= /pws/zycie433-dtde

                       AND    dtate <= /pws/zycie433-dtate ) ).

      IF v_modifica EQ 'X'.

        CHECK itab_insumo-item  NE itab_zycit433_s-item OR

              itab_insumo-grupo NE itab_zycit433_s-grupo.

      ENDIF.

      v_exist = 'X'.

      EXIT.

    ENDLOOP.

    IF v_exist EQ 'X'.

      MESSAGE i015 WITH text-009 /pws/zycie433-matnr text-010.

      EXIT.

    ENDIF.

  ENDIF.

  IF v_modifica NE 'X'.

    SELECT SINGLE a~steuc b~meins

           INTO (/pws/zycie433-j_1bnbm, /pws/zycie433-meins)

           FROM ( marc AS a INNER JOIN mara AS b ON

                  a~matnr EQ b~matnr )

           WHERE a~matnr EQ /pws/zycie433-matnr

             AND a~steuc NE space.

    IF  itab_grupo-j_1bnbm NE /pws/zycie433-j_1bnbm.

      CLEAR v_mensagem.

      CONCATENATE text-009 /pws/zycie433-matnr text-012

                INTO v_mensagem SEPARATED BY space.

      MESSAGE i015 WITH v_mensagem itab_insumo-j_1bnbm text-014.

      EXIT.

    ENDIF.

    IF  itab_grupo-meins NE /pws/zycie433-meins.

      CLEAR v_mensagem.

      CONCATENATE text-009 /pws/zycie433-matnr text-013

                INTO v_mensagem SEPARATED BY space.

      MESSAGE i015 WITH v_mensagem /pws/zycie433-meins text-014.

      EXIT.

    ENDIF.

    SELECT SINGLE maktx FROM makt

         INTO /pws/zycie433-maktx

         WHERE matnr EQ /pws/zycie433-matnr.

    IF /pws/zycie433-dtde > /pws/zycie433-dtate.

      MESSAGE i015 WITH text-015.

      EXIT.

    ENDIF.

    CLEAR: itab_insumo.

    SORT itab_insumo DESCENDING BY item.

    READ TABLE itab_insumo WITH KEY matnr = /pws/zycie433-matnr.

    ADD 1 TO itab_insumo-item.

    MOVE:

        itab_grupo-grupo        TO /pws/zycie433-grupo ,

        itab_grupo-j_1bnbm      TO /pws/zycie433-j_1bnbm,

        itab_grupo-meins        TO /pws/zycie433-meins,

        itab_grupo-desc_g       TO /pws/zycie433-desc_g,

        itab_insumo-item        TO /pws/zycie433-item.

    APPEND /pws/zycie433 TO itab_insumo.

    APPEND /pws/zycie433 TO itab_zycit433_s.

  ELSE.

    itab_zycit433_s = /pws/zycie433.

    MODIFY itab_zycit433_s TRANSPORTING dtde dtate

                              WHERE item  EQ itab_insumo-item

                                AND matnr EQ itab_insumo-matnr

                                AND grupo EQ itab_insumo-grupo.

    PERFORM move_insumos.

  ENDIF.

  LEAVE TO SCREEN 0.

ENDFORM.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCIR342I01

 

...

          ENDIF.

          PERFORM deleta_insumo.

      ENDCASE.

    WHEN 'SAVE'.

      PERFORM pergunta USING text-001

                             text-002

                    CHANGING v_resposta.

      IF v_resposta EQ '1'.

        PERFORM grava.

      ENDIF.

* >> Início da inclusão: MODULE USER_COMMAND_0100

    WHEN 'ADD'.

      BTN1 = text-023.

      wa_zycit433 = /pws/zycie433.

      CLEAR: /pws/zycie433, v_modifica.

      CALL SCREEN 0200 STARTING AT 1 1 .

      /pws/zycie433 = wa_zycit433.

    WHEN 'MOD'.

      READ TABLE itab_insumo WITH KEY mark = 'X'.

      IF sy-subrc EQ 0.

      BTN1 = text-024.

        wa_zycit433 = /pws/zycie433.

        /pws/zycie433 = itab_insumo.

        v_modifica = 'X'.

        CALL SCREEN 0200 STARTING AT 1 1 .

        /pws/zycie433 = wa_zycit433.

      ENDIF.

* << Fim da inclusão

    WHEN 'EXIT'.

      PERFORM pergunta USING text-001

                             text-017

                    CHANGING v_resposta.

      IF v_resposta EQ '1'.

        PERFORM grava.

      ENDIF.

      IF v_resposta NE 'A'.

        LEAVE PROGRAM.

      ENDIF.

...

 

...

                            AND grupo = /pws/zycie433-grupo.

  ENDIF.

ENDMODULE.

MODULE marca_l102 INPUT.

  READ TABLE itab_insumo INDEX tc_insumo-current_line.

  IF sy-subrc EQ 0 .

    itab_insumo-mark = v_mark.

    MODIFY itab_insumo INDEX tc_insumo-current_line.

  ENDIF.

ENDMODULE.

* >> Início da inclusão:

MODULE user_command_0200 INPUT.

  CASE sy-ucomm .

    WHEN 'OK'.

      PERFORM verifica_inclus.

    WHEN 'CANC'.

      LEAVE TO SCREEN 0.

  ENDCASE.

ENDMODULE.

MODULE user_command_exit INPUT.

  CASE sy-ucomm .

    WHEN 'CANC'.

      LEAVE TO SCREEN 0.

  ENDCASE.

ENDMODULE.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCIR342O01

 

...

MODULE tela_102 OUTPUT.

  IF NOT /pws/zycie433-matnr IS INITIAL.

    LOOP AT SCREEN.

      IF screen-name EQ '/PWS/ZYCIE433-MATNR'.

        screen-input = 0.

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

  ENDIF.

ENDMODULE.

* >> Início da inclusão:

MODULE status_0200 OUTPUT.

  IF v_modifica EQ 'X'.

    LOOP AT SCREEN.

      IF screen-name EQ '/PWS/ZYCIE433-MATNR'.

        screen-input = 0.

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCIR342TOP

 

...

      mark    TYPE c                    .

DATA: END OF itab_grupo.

DATA: BEGIN OF itab_insumo OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit433.

DATA: mark  TYPE c             .

DATA: END OF itab_insumo.

DATA: v_ini        TYPE c                      ,

      v_mark       TYPE c                      ,

      v_okcode     TYPE sy-ucomm               ,

      v_tela(4)    TYPE c VALUE '0101'         ,

* >> Início da inclusão:

      wa_zycit433  type /pws/zycit433          ,

      v_modifica   type c                      ,

      BTN1(15)     type c                      ,

* << Fim da inclusão

      v_pasta      TYPE sy-ucomm VALUE 'TS_GR' ,

      v_confirm(1) TYPE c VALUE 'N'            ,

      v_resposta   TYPE c                      .

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPT /PWS/ZYCIR342

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 023

 

Texto: (9 caracteres)

"Adicionar"

 

Comprimento máximo: 9

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 024

 

Texto: (9 caracteres)

"Modificar"

 

Comprimento máximo: 10

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT433

 

Nome campo Chv Elem.dados Tab.verif. N CtDt Comp.

 

...

GRUPO          CHAR4                   CHAR     4

* >> Início da inclusão:

ITEM           NUMC4                   NUMC     4

* << Fim da inclusão

DESC_G         MAKTX                   CHAR    40

J_1BNBM        J_1BNBMCO1 T604F        CHAR    16

...

...

...

...