CE PLUS - Nota 012300

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: PLI

Data/Hora da Publicação: 19/06/2012 00:00:00

Data/Hora Última Alteração: 17/08/2012 15:37:19

Descrição da Nota: TRATAMENTO PARA CRIAR PLI COM CÓPIA E PLI SUBSTITUTIVA

Sintoma

Tratamento para criar PLI com Cópia e PLI Substitutiva

 

 

Solução

Novo tratamento em PLI para "cópia" e PLI Substitutiva.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

NECESSÁRIO AJUSTAR SEQUENCIAL TRANSMITIDO AO SUFRAMA

AO CRIAR LI¿S SUBSTITUTIVA COM CÓPIA O PROGRAMA ESTA SE PERDENDO

Informações Complementares

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

Nota Número 12300 Data: 19/06/2012 Hora: 14:11:26

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

 

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

Nota Número              : 12300

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00001

Agrupamento              : 00117

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

Referência às notas relacionadas:

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

 

09040  - 00001 - 8.0    - 00001  - AO CRIAR LI¿S SUBSTITUTIVA COM CÓPIA O PROGRAMA ESTA SE PERDENDO

12245  - 00002 - 8.0    - 00011  - NECESSÁRIO AJUSTAR SEQUENCIAL TRANSMITIDO AO SUFRAMA

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

TRATAMENTO PARA CRIAR PLI COM CÓPIA E PLI SUBSTITUTIVA

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

Palavras Chave:

CÓPIA PLI - PLI SUBSTITUTIVA - CRIACAO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI020                        0501

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020O01

REPS /PWS/MZYCI020X01

REPT /PWS/SAPMZYCI020

TABD /PWS/ZYCIE078

TABD /PWS/ZYCIT078

 

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE078

 

Ao final da estrutura, acrescentar o campo abaixo.

 

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

 

LI_REF       /PWS/ZYCIL229                 CHAR   10

 

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

Modificações efetuadas em TABD /PWS/ZYCIT078

 

Ao final da tabela, acrescentar o campo abaixo.

 

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

 

LI_REF       /PWS/ZYCIL229                 CHAR   10

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI020                        0501

 

 

*Na tela 501, mover para baixo os quadros Importador (C_QUADRO1), Informações Basicas da PLI

*(C_QUADRO2) e o quadro de datas.

 

 

 

MODIFICAR FRAME "C_QUADRO1"

Altura                   3

Comprimento Visível      74

Linha                    6

Coluna                   5

Formato                  CHAR

Texto                    Importador

 

 

MODIFICAR FRAME "C_QUADRO2"

Altura                   7

Comprimento Visível      74

Linha                    9

Coluna                   5

Formato                  CHAR

Texto                    Informações Básicas

 

 

MODIFICAR FRAME ""

Altura                   7

Comprimento Visível      74

Linha                    16

Coluna                   5

Formato                  CHAR

 

*Acima deles e após o campo /PWS/ZYCIE078-SEQ_SUFRA, incluir campo abaixo.

 

INCLUIR TEXTO "/PWS/ZYCIE078-LI_REF"

Comprimento Visível      16

Linha                    5

Coluna                   6

Formato                  CHAR

Texto                    LI de Referência

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE078-LI_REF"

Comprimento Visível      10

Linha                    5

Coluna                   27

Formato                  CHAR

Linhas mínimas           10

Texto                    __________

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

 

FORM quest_gravacao.

* >> Início da inclusão: FORM QUEST_GRAVACAO

  DATA: v_liref TYPE /pws/zycie078-li_ref.

* << Fim da inclusão

 

...

 

...

 

        CASE /pws/zycie078-tpli.

          WHEN 'N'.

            IF /pws/zycie078-flagpli IS INITIAL.

              PERFORM comm_save.

            ELSE.

* >> Início da inclusão: FORM QUEST_GRAVACAO

              IF okcode EQ 'LISUBST'.

                v_liref = /pws/zycie078-li_ref.

                CLEAR /pws/zycie078-li_ref.

* << Fim da inclusão

              PERFORM savepli.

* >> Início da inclusão: FORM QUEST_GRAVACAO

                /pws/zycie078-li_ref = v_liref.

              ELSE.

                PERFORM savepli.

* << Fim da inclusão

            ENDIF.

* >> Início da inclusão: FORM QUEST_GRAVACAO

            ENDIF.

* << Fim da inclusão

          WHEN 'S'.

            DESCRIBE TABLE it_zycit079 LINES v_cont.

            IF v_cont GT 1.

              MESSAGE s015 WITH text-411.

            ELSE.

              PERFORM comm_save.

 

...

 

...

 

  IF NOT /pws/zycie078-nrpli IS INITIAL AND

     NOT /pws/zycie078-dtreg IS INITIAL.

    IF NOT /pws/zycie078-status EQ 'VIN'.

      /pws/zycie078-status = 'VAL'.

* >> Início da inclusão: FORM COMM_SAVEPLI

    ENDIF.

  ENDIF.

  IF v_plisub EQ 'X' .

    READ TABLE it_zycit079 WITH KEY numli = /pws/zycie078-li_ref.

    IF sy-subrc NE 0.

      MESSAGE i015 WITH text-517 text-519.

      EXIT.

    ELSE.

      PERFORM trata_pli_sub.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  IF NOT it_zycit079[] IS INITIAL.

    SELECT ebeln ebelp matnr mfrpn FROM ekpo

           INTO TABLE it_ekpo_temp

           FOR ALL ENTRIES IN it_zycit079

           WHERE ebeln EQ it_zycit079-ebeln

             AND ebelp EQ it_zycit079-ebelp.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

          space TO wa_zycit078-dtusera,

          space TO wa_zycit078-identify,

          space TO wa_zycit078-nrli,

          space TO wa_zycit078-dtreg,

          space TO wa_zycit078-dtdef,

          space TO wa_zycit078-dtvencto,

          space TO wa_zycit078-nrseqlisub,

          space TO wa_zycit078-nrlisub,

          space TO wa_zycit078-nrseqlisuba,

          space TO wa_zycit078-nrlisuba.

* >> Início da inclusão: FORM COMM_COPY

    CLEAR: /pws/zycie078-nrpli,

    /pws/zycie078-dtreg,

    /pws/zycie078-dtvencto,

    /pws/zycie078-dtdef,

    v_nrpli    ,

    v_dtreg    .

* << Fim da inclusão

    LOOP AT it_zycit079.

* >> Início da inclusão: FORM COMM_COPY

      CLEAR:  /pws/zycie079-numli,

              /pws/zycie079-nrli ,

              it_zycit079-numli,

              it_zycit079-nrli .

* << Fim da inclusão

      IF NOT it_zycit079-nrseqli IS INITIAL AND

         it_zycit079-slqtde < it_zycit079-qtd_iten.

        it_zycit079-qtd_iten = it_zycit079-slqtde.

...

 

...

 

FORM comm_lisubst_pli.

* >> Início da inclusão: FORM COMM_LISUBST_PLI

  LOOP AT it_zycit079 WHERE numli NE space.

  ENDLOOP.

  IF sy-subrc NE 0.

    MESSAGE i015 WITH text-517 text-518.

    EXIT.

  ENDIF.

* << Fim da inclusão

  PERFORM quest_gravacao.

  IF v_resp_save NE 'A'.

    IF /pws/zycie078-status EQ 'VAL'.

* >> Início da exclusão: FORM COMM_LISUBST_PLI

      v_flag = 'X'.

      MOVE /pws/zycie078 TO wa_zycit078_aux2.

      wa_zycit078_aux2-status = 'SUB'.

      v_tcode2 = v_tcode.

      CASE v_tcode.

        WHEN '/PWS/ZYCI020_E'  OR '/PWS/ZYCI020_A'.

          v_tcode  = '/PWS/ZYCI020_C'.

        WHEN '/PWS/ZYCI020_R' OR '/PWS/ZYCI020_N'.

          v_tcode  = '/PWS/ZYCI020_P'.

        WHEN '/PWS/ZYCI020_L' OR '/PWS/ZYCI020_G'.

          v_tcode = '/PWS/ZYCI020_I'.

      ENDCASE.

      PERFORM find_nrseqc_pli.

      v_tcode = v_tcode2.

      wa_zycit078-nrseqli     = /pws/zycie078-nrseqli.

      wa_zycit078-nrlisuba     = wa_zycit078_aux2-nrli.

      wa_zycit078-nrseqlisuba  = wa_zycit078_aux2-nrseqli.

      MOVE: space TO wa_zycit078-nrli,

            space TO wa_zycit078-dtuserc,

            space TO wa_zycit078-usernamec,

            space TO wa_zycit078-dtusera,

            space TO wa_zycit078-usernamea,

            space TO wa_zycit078-nrseqdi,

            space TO wa_zycit078-nrdi,

            space TO wa_zycit078-adicao,

            space TO wa_zycit078-dtregdi.

      IF /pws/zycie078-tpli EQ 'N'.

        MESSAGE s015 WITH text-042.

      ELSEIF /pws/zycie078-tpli EQ 'S'.

        MESSAGE s015 WITH text-041.

      ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM COMM_LISUBST_PLI

      v_plisub = 'X' .

      /pws/zycie078-tppli = 2.

* << Fim da inclusão

    ELSE.

* >> Início da exclusão: FORM COMM_LISUBST_PLI

      MESSAGE i015 WITH text-025 text-032.

* << Fim da exclusão

* >> Início da inclusão: FORM COMM_LISUBST_PLI

      MESSAGE i015 WITH text-517 text-032.

* << Fim da inclusão

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

 

FORM gera_seq_novoreg.

  DATA: v_nrseqli2   LIKE /pws/zycie078-nrseqli,

         v_count2(7) TYPE n              ,

         v_ano2(4)   TYPE c              .

  CLEAR  /pws/zycie078c.

* >> Início da exclusão: FORM GERA_SEQ_NOVOREG

  MOVE : /pws/zycie078  TO /pws/zycie078c       ,

* << Fim da exclusão

* >> Início da inclusão: FORM GERA_SEQ_NOVOREG

  IF v_plisub EQ 'X' .

    SELECT SINGLE * FROM /pws/zycit078

    INTO /pws/zycie078c

    WHERE nrseqli EQ /pws/zycie078-li_ref.

    MOVE /pws/zycie078-nrseqli TO /pws/zycie078c-numpli.

  ELSE.

    MOVE : /pws/zycie078  TO /pws/zycie078c  ,

* << Fim da inclusão

         v_pliorig TO /pws/zycie078c-numpli.

* >> Início da inclusão: FORM GERA_SEQ_NOVOREG

  ENDIF.

* << Fim da inclusão

  CLEAR : /pws/zycie078c-flagpli,

          /pws/zycie078c-nrpli  ,

          /pws/zycie078c-dtreg  .

  CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano2.

...

 

...

 

* >> Início da inclusão:

FORM trata_pli_sub.

  v_flag = 'X'.

  MOVE /pws/zycie078 TO wa_zycit078_aux2.

  wa_zycit078_aux2-status = 'SUB'.

  v_tcode2 = v_tcode.

  CASE v_tcode.

    WHEN '/PWS/ZYCI020_E'  OR '/PWS/ZYCI020_A'.

      v_tcode  = '/PWS/ZYCI020_C'.

    WHEN '/PWS/ZYCI020_R' OR '/PWS/ZYCI020_N'.

      v_tcode  = '/PWS/ZYCI020_P'.

    WHEN '/PWS/ZYCI020_L' OR '/PWS/ZYCI020_G'.

      v_tcode = '/PWS/ZYCI020_I'.

  ENDCASE.

  PERFORM find_nrseqc_pli.

  MOVE /pws/zycie078 TO /pws/zycit078.

  INSERT /pws/zycit078.

  WHILE sy-subrc NE 0.

    PERFORM find_nrseqc_pli.

  ENDWHILE.

  MOVE-CORRESPONDING /pws/zycie078c TO /pws/zycit078.

 

  v_tcode = v_tcode2.

  wa_zycit078-nrseqli     = /pws/zycie078-nrseqli.

  wa_zycit078-nrlisuba     = wa_zycit078_aux2-nrli.

  wa_zycit078-nrseqlisuba  = wa_zycit078_aux2-nrseqli.

  UPDATE /pws/zycit078 SET nrseqlisub  = /pws/zycie078-nrseqli

  where nrseqli = wa_zycit078_aux2-nrseqli.

  MOVE-CORRESPONDING wa_zycit078_aux2 TO /pws/zycit078.

 

  MOVE: space TO wa_zycit078-nrli,

        space TO wa_zycit078-dtuserc,

        space TO wa_zycit078-usernamec,

        space TO wa_zycit078-dtusera,

        space TO wa_zycit078-usernamea,

        space TO wa_zycit078-nrseqdi,

        space TO wa_zycit078-nrdi,

        space TO wa_zycit078-adicao,

        space TO wa_zycit078-dtregdi.

  IF /pws/zycie078-tpli EQ 'N'.

    MESSAGE s015 WITH text-042.

  ELSEIF /pws/zycie078-tpli EQ 'S'.

    MESSAGE s015 WITH text-041.

  ENDIF.

  DELETE it_zycit079 WHERE numli NE /pws/zycie078-li_ref.

  PERFORM gera_seq_novoreg.

  LOOP AT it_zycit079.

    it_zycit079-nrseqli = /pws/zycie078-nrseqli.

    MODIFY it_zycit079.

  ENDLOOP.

  SELECT * FROM /pws/zycit079

  INTO TABLE it_zycit079_ncm

  WHERE nrseqli = /pws/zycie078-li_ref.

  PERFORM: atual_tabelas,

           gera_novoreg .

  CLEAR: /pws/zycie078-nrpli,

  /pws/zycie078-dtreg,

  /pws/zycie078-dtvencto,

  /pws/zycie078-dtdef.

  it_zycit079-numli =  /pws/zycie078c-nrseqli.

  MODIFY it_zycit079 TRANSPORTING numli

  WHERE nrseqli = /pws/zycie078-nrseqli.

  MOVE /pws/zycie078 TO wa_zycit078_aux2.

  PERFORM  limpa_tabncm .

  CLEAR v_plisub.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

 

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

  LOOP AT SCREEN.

    IF screen-name EQ '/PWS/ZYCIE078-LI_REF' .

      IF v_plisub EQ 'X' OR

      ( NOT /pws/zycie078-li_ref IS INITIAL

        AND /pws/zycie078-tppli EQ '2'  ).

        screen-input = '1' .

        screen-invisible = '0'.

      ELSE.

        screen-input = '0' .

        screen-invisible = '1'.

      ENDIF.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

* << Fim da inclusão

ENDMODULE.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020X01

 

...

 

* >> Início da inclusão:

data:   v_plisub.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI020

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 517

 

Texto: (35 caracteres)

"Substitutive PLI can only be create"

 

Comprimento máximo: 35

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 517

 

Texto: (35 caracteres)

"PLI Substitutiva só pode ser criada"

 

Comprimento máximo: 35

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 517

 

Texto: (33 caracteres)

"PLI Substitutiva puede ser creada"

 

Comprimento máximo: 35

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 518

 

Texto: (18 caracteres)

"with generated LI."

 

Comprimento máximo: 24

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 518

 

Texto: (24 caracteres)

"com LI gerada nos itens."

 

Comprimento máximo: 24

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 518

 

Texto: (14 caracteres)

"com LI creada."

 

Comprimento máximo: 24

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 519

 

Texto: (44 caracteres)

"LI referenciada não é relacionada nos itens."

 

Comprimento máximo: 44