CE PLUS - Nota 013363

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: PLI

Data/Hora da Publicação: 29/10/2013 00:00:00

Data/Hora Última Alteração: 01/11/2013 18:30:42

Descrição da Nota: ABRIR CAMPO DE FABRICANTE NA PLI PARA INFORMAR NÃO CADASTRADOS

Sintoma

Abrir campo de fabricante na PLI para informar Fabricantes não cadastrados no SAP

 

 

Solução

Fazer tratamento para salvar informações de fabricantes não cadastrados no SAP.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

ALTERAR TIPO DO CAMPO COD SUFR = /PWS/ZYCIT535-NRFORN

AJUSTES PARA TRANSMISSÃO SUFRAMA PLI

IMPLEMENTAÇÃO DA NAVEGABILIDADE NA LI, LSI E PLI

DJAI PARA PROCESSOS LATAM - DESENVOLVIMENTO ADICIONAL

ALTERAR A CHAVE DA TABELA /PWS/ZYCIT535

INCLUSÃO DE CAMPOS PARA INFORMAR O FABRICANTE.

AJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI

NA PLI AO COLOCAR ORGÃO ANUENTE PARA O ITEM DUPLICA PARA OS DEMAIS ITENS

Informações Complementares

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

Nota Número 13363 Data: 29/10/2013 Hora: 14:56:08

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

 

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

Nota Número              : 13363

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00166

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

Referência às notas relacionadas:

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

 

07601  - 00001 - 7.0    - 00007  - IMPLEMENTAÇÃO DA NAVEGABILIDADE NA LI, LSI E PLI

10420  - 00002 - 8.0    - 00004  - NA PLI AO COLOCAR ORGÃO ANUENTE PARA O ITEM DUPLICA PARA OS DEMAI

12255  - 00003 - 8.0    - 00011  - AJUSTES PARA TRANSMISSÃO SUFRAMA PLI

12259  - 00004 - 8.0    - 00011  - AAJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI

12308  - 00005 - 9.0    - 00001  - INCLUSÃO DE CAMPOS PARA INFORMAR O FABRICANTE.

13024  - 00006 - 9.0    - 00004  - ALTERAR A CHAVE DA TABELA /PWS/ZYCIT535

13044  - 00007 - 9.0    - 00004  - ALTERAR TIPO DO CAMPO COD SUFR = /PWS/ZYCIT535-NRFORN

13342  - 00008 - 9.0    - 00006  - DJAI PARA PROCESSOS LATAM - DESENVOLVIMENTO ADICIONAL

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

ABRIR CAMPO DE FABRICANTE NA PLI PARA INFORMAR NÃO CADASTRADOS

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

Palavras Chave:

PLI - FABRICANTE - INFORMAÇÕES - CADASTRO SAP

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI020                        0521

DYNP /PWS/SAPMZYCI020                        0509

REPS /PWS/MZYCI020X01

REPS /PWS/MZYCI020O01

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020I01

REPS /PWS/MZYCI020F02

 

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

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

 

 

 

PROCESS AFTER INPUT.

  FIELD : /pws/zycie079a-codsufra     MODULE load_sufra ON REQUEST,

          /pws/zycie079a-destaque     MODULE load_suframa.

* >> Início da inclusão:

  FIELD   /pws/zycie079a-lifnr        MODULE :  load_forn ON REQUEST.

* << Fim da inclusão

  FIELD   /pws/zycie079a-fabric       MODULE load_desc_fabr ON REQUEST.

* >> Início da exclusão:

  FIELD   /pws/zycie079a-lifnr        MODULE :  load_forn ON REQUEST.

* << Fim da exclusão

  FIELD v_frn1 MODULE check_fabric ON REQUEST.

  FIELD v_frn2 MODULE check_fornec ON REQUEST.

 

...

 

 

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

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

 

*Adicionar Grupo1 = FE para os campos abaixos:

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-CITY"

Grupo 1                  FE

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-COMPL"

Grupo 1                  FE

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-LANDA"

Grupo 1                  FE

Código função

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-LOGRADOURO"

Grupo 1                  FE

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-NAME1"

Grupo 1                  FE

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-NRLOGR"

Grupo 1                  FE

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-REGIO"

Grupo 1                  FE

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020X01

 

...

 

* >> Início da inclusão:

DATA: v_propoe.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

 

...

 

MODULE load_fornecedor OUTPUT.

* >> Início da exclusão: MODULE LOAD_FORNECEDOR

  IF /pws/zycie078-fabric EQ '1' OR

     /pws/zycie078-fabric EQ ' '.

* << Fim da exclusão

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

  IF '01' CA /pws/zycie079a-fabric .

* << Fim da inclusão

...

 

 

...

           INTO /pws/zycit181-descricao

           WHERE steuc EQ /pws/zycie079-steuc1

           AND   spras EQ sy-langu      .               "#EC CI_GENBUFF

    IF sy-subrc NE 0.

      MOVE space TO /pws/zycit181-descricao.

    ENDIF.

  ELSE.

    MOVE space TO /pws/zycit181-descricao.

  ENDIF.

  IF sy-dynnr EQ '0502'.

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

    v_frn1 = it_zycit079-nrforn1 .

* << Fim da inclusão

    READ TABLE it_ekpo WITH KEY ebeln = /pws/zycie079-ebeln

                                ebelp = /pws/zycie079-ebelp.

...

 

...

 

MODULE load_fornec_509 OUTPUT.

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

  IF  /pws/zycie079a-lifnr IS INITIAL.

    READ TABLE itab_zycit080 WITH KEY

        ebeln = /pws/zycie079a-ebeln

        ebelp = /pws/zycie079a-ebelp

        lifnr = /pws/zycie079a-lifnr

        tipoforn = 'F' .

    IF sy-subrc EQ 0  .

      IF  v_propoe = 'X' .

        IF itab_zycit080-lifnr EQ /pws/zycie079a-lifnr.

          MOVE-CORRESPONDING itab_zycit080 TO /pws/zycie080a .

        ENDIF.

        /pws/zycie080a-name1  = /pws/zycie079a-descfab.

        /pws/zycie080a-landa  = /pws/zycie079a-paisfab.

        CLEAR v_propoe.

      ENDIF.

    ELSE.

      IF  v_propoe = 'X' .

        /pws/zycie080a-name1  = /pws/zycie079a-descfab.

        /pws/zycie080a-landa  = /pws/zycie079a-paisfab.

        CLEAR v_propoe.

      ENDIF.

    ENDIF.

  ELSE.

* << Fim da inclusão

  IF /pws/zycie079a-fabric EQ '2'.

...

 

...

 

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

   ENDIF.

* << Fim da inclusão

ENDMODULE.

MODULE load_fornecedor_510 OUTPUT.

  IF /pws/zycie079a-fabric EQ '3'.

    SELECT SINGLE *

           FROM lfa1

* >> Início da exclusão: MODULE LOAD_FORNECEDOR_510

           WHERE lifnr EQ /pws/zycie079a-lifnr.

* << Fim da exclusão

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

           WHERE lifnr EQ lfa1-lifnr.

* << Fim da inclusão

 

...

 

...

      AND   nrseqli EQ /pws/zycie078-nrseqli

      AND   lifnr EQ /pws/zycie079a-lifnr

      AND tipoforn EQ 'F'.

      IF sy-subrc NE 0 .

        SELECT SINGLE nrforn FROM /pws/zycit080

        INTO v_frn1

        WHERE lifnr EQ /pws/zycie079a-lifnr.            "#EC CI_NOFIRST

      ENDIF.

    ENDIF.

  ELSE.

* >> Início da exclusão: MODULE PROPOE_NRFORN

    CLEAR v_frn1.

* << Fim da exclusão

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

    IF /pws/zycie079a-fabric EQ '2'.

      v_frn1 = it_zycit079-nrforn1 .

    ENDIF.

* << Fim da inclusão

  ENDIF.

  IF NOT lfa1-lifnr IS INITIAL.

    IF v_frn2 IS INITIAL.

      SELECT SINGLE nrforn FROM /pws/zycit080

      INTO v_frn2

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

               sy-tcode EQ '/PWS/ZYCI020_A' OR

             sy-tcode EQ '/PWS/ZYCI020_T' OR

             sy-tcode EQ '/PWS/ZYCI020_U' ) AND

          NOT /pws/zycie078-numpli IS INITIAL.

            screen-input = 0 .

          ELSE.

            screen-input = 0 .

          ENDIF.

        ENDIF.

      ENDIF.

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

    ELSEIF screen-group1 EQ 'FE'  .

      IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR

           sy-tcode EQ '/PWS/ZYCI020_I' ) AND

           /pws/zycie079a-fabric EQ '2' .

        screen-input = 1 .

      ENDIF .

* << Fim da inclusão

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

  IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR

       sy-tcode EQ '/PWS/ZYCI020_I' ) AND

     ( gv_status EQ 'P' OR gv_status EQ 'F' ).

    LOOP AT tc_item_pli-cols INTO wa_cols.

      wa_cols-screen-input = 0.

      MODIFY tc_item_pli-cols FROM wa_cols.

    ENDLOOP.

...

 

...

 

FORM load_desc_fabr.

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

  IF /pws/zycie079a-fabric IS INITIAL.

    CLEAR /pws/zycie079a-lifnr.

    /pws/zycie079a-fabric  = '3' .

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE * FROM ekko

         WHERE ebeln EQ /pws/zycie079a-ebeln.

  IF /pws/zycie079a-fabric EQ 1 .

    /pws/zycie079a-lifnr = ekko-lifnr.

  ENDIF.

  IF NOT /pws/zycie079a-lifnr IS INITIAL.

    SELECT SINGLE name1 land1 FROM lfa1

           INTO (/pws/zycie079a-descfab,/pws/zycie079a-paisfab)

           WHERE lifnr EQ /pws/zycie079a-lifnr.

    IF /pws/zycie079a-fabric EQ 2 .

      CLEAR lfa1.

      lfa1-lifnr = ekko-lifnr.

      SELECT SINGLE name1 land1 FROM lfa1

             INTO (lfa1-name1,lfa1-land1)

             WHERE lifnr EQ lfa1-lifnr.

    ENDIF.

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

  ELSEIF /pws/zycie079a-fabric NE '3'.

    CLEAR: /pws/zycie079a-descfab,

           /pws/zycie079a-paisfab.

* << Fim da exclusão

  ENDIF.

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

  IF /pws/zycie079a-fabric EQ 3.

* << Fim da exclusão

    CLEAR lfa1.

    lfa1-lifnr = ekko-lifnr.

    SELECT SINGLE name1 land1 FROM lfa1

           INTO (lfa1-name1,lfa1-land1)

           WHERE lifnr EQ lfa1-lifnr.

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

  ENDIF.

* << Fim da exclusão

ENDFORM.

 

...

 

...

    IF NOT it_lfa1[] IS INITIAL.

      SELECT addrnumber name1 country street

             house_num1 city1 city2 region

             FROM adrc

             INTO TABLE it_adrc

             FOR ALL ENTRIES IN it_lfa1

             WHERE addrnumber EQ it_lfa1-adrnr.

    ENDIF.

    LOOP AT p_it_zycit079.

      CLEAR /pws/zycie080.

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

      IF  p_it_zycit079-fabric IS INITIAL.

        p_it_zycit079-fabric = '3' .

      ENDIF.

* << Fim da inclusão

      IF p_it_zycit079-fabric EQ '1'.

        MOVE: p_zycie078-nrseqli TO /pws/zycie080-nrseqli,

              p_it_zycit079-lifnr TO /pws/zycie080-lifnr,

              p_it_zycit079-ebeln TO /pws/zycie080-ebeln,

              p_it_zycit079-ebelp TO /pws/zycie080-ebelp.

...

 

...

 

        CLEAR /pws/zycie080.

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

        READ TABLE itab_zycit080 WITH KEY

               ebeln =  p_it_zycit079-ebeln

               ebelp =  p_it_zycit079-ebelp

               tipoforn = 'F' .

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING itab_zycit080 TO /pws/zycie080.

        ELSE.

          /pws/zycie080-name1       = p_it_zycit079-descfab.

          /pws/zycie080-landa       = p_it_zycit079-paisfab.

          /pws/zycie080-tipoforn    = 'F' .

        ENDIF.

* << Fim da inclusão

        MOVE: p_zycie078-nrseqli TO /pws/zycie080-nrseqli,

              p_it_zycit079-lifnr TO /pws/zycie080-lifnr,

              p_it_zycit079-ebeln TO /pws/zycie080-ebeln,

              p_it_zycit079-ebelp TO /pws/zycie080-ebelp.

        IF ( v_tcode EQ '/PWS/ZYCI020_I' OR

             v_tcode EQ '/PWS/ZYCI020_G' ) AND

             NOT p_it_zycit079-nrforn1 IS INITIAL.

          MOVE p_it_zycit079-nrforn1 TO /pws/zycie080-nrforn.

        ELSE.

          PERFORM gera_nrforn.

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

        ENDIF.

        READ TABLE it_lfa1 WITH KEY lifnr = /pws/zycie080-lifnr.

        IF sy-subrc EQ 0.

          READ TABLE it_adrc WITH KEY addrnumber = it_lfa1-adrnr.

* << Fim da exclusão

        ENDIF.

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

        /pws/zycie080-tipoforn  = 'F'.

        /pws/zycie080-name1       = it_adrc-name1.

        /pws/zycie080-landa       = it_adrc-country.

        /pws/zycie080-logradouro  = it_adrc-street.

        /pws/zycie080-nrlogr      = it_adrc-house_num1.

        /pws/zycie080-city        = it_adrc-city1.

        /pws/zycie080-regio       = it_adrc-region.

* << Fim da exclusão

        MODIFY /pws/zycit080 FROM /pws/zycie080.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020I01

 

...

 

    WHEN 'FORN'.

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

      v_propoe = 'X' .

* << Fim da inclusão

      CALL SCREEN '0504'.

 

...

 

...

 

      MOVE it_zycit079[] TO it_zycit079_aux2[].

      IF NOT /pws/zycie078-numpexpam IS INITIAL.

        MOVE it_zycit079[] TO it_zycit079_aux4[].

      ENDIF.

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

      SELECT * FROM /pws/zycit080

      INTO TABLE itab_zycit080

      WHERE nrseqli = /pws/zycie078-nrseqli.

* << Fim da inclusão

      LOOP AT it_zycit079.

        MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079.

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

        IF it_zycit079-fabric EQ '2'.

          READ TABLE itab_zycit080 WITH KEY

          nrseqli = it_zycit079-nrseqli

          ebeln   = it_zycit079-ebeln

          ebelp   = it_zycit079-ebelp

          tipoforn = 'F' .

          IF sy-subrc EQ 0.

            it_zycit079-nrforn1 = itab_zycit080-nrforn.

            MODIFY it_zycit079 TRANSPORTING nrforn1

            WHERE nrseqli = it_zycit079-nrseqli

            AND   ebeln   = it_zycit079-ebeln

            AND   ebelp   = it_zycit079-ebelp.

          ENDIF.

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

      IF /pws/zycie078-fabric EQ '1'.

        SELECT SINGLE * FROM  /pws/zycit080

                        INTO  /pws/zycie080

                        WHERE nrseqli  = /pws/zycie078-nrseqli

                          AND tipoforn = 'E'.

        IF sy-subrc EQ 0.

          MOVE: /pws/zycie080       TO wa_zycit080_aux,

                /pws/zycie080-lifnr TO v_forn.

        ENDIF.

...

 

...

 

    WHEN 'BACK'.

      IF v_tcode EQ '/PWS/ZYCI020_G' OR

         v_tcode EQ '/PWS/ZYCI020_L' OR

         v_tcode EQ '/PWS/ZYCI020_I' .

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

        PERFORM salva_fabric_item.

* << Fim da inclusão

        LEAVE TO SCREEN '0520' .

      ELSE.

        LEAVE TO SCREEN '0200'.

      ENDIF.

 

...

 

...

 

MODULE load_desc_fabr INPUT.

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

  IF '23' CA /pws/zycie079a-fabric .

    CLEAR: /pws/zycie079a-lifnr ,

           /pws/zycie079a-descfab,

           /pws/zycie079a-paisfab.

    CLEAR: /pws/zycie080a.

    CLEAR: it_zycit079-lifnr ,

           it_zycit079-descfab,

           it_zycit079-paisfab.

  ENDIF.

* << Fim da inclusão

  PERFORM load_desc_fabr.

ENDMODULE.

MODULE check_fabric INPUT.

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

  IF NOT /pws/zycie079a-fabric EQ '2' .

* << Fim da inclusão

  IF NOT v_frn1 IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit535

       WHERE nrforn   = v_frn1

         AND tipoforn = 'F'.

    IF sy-subrc NE 0.

      MESSAGE e015 WITH text-103 v_frn1 text-104.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

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

  ELSE.

    it_zycit079-nrforn1 = v_frn1.

    MODIFY it_zycit079 TRANSPORTING nrforn1

    WHERE ebeln = /pws/zycie079a-ebeln

    AND   ebelp = /pws/zycie079a-ebelp .

* << Fim da inclusão

  ENDIF.

ENDMODULE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

           screen-name EQ '/PWS/ZYCIE079A-DESCFAB' OR

           screen-name EQ '/PWS/ZYCIE079A-PAISFAB' .

          screen-input = 0.

        ENDIF.

        IF screen-name EQ 'V_FRN2' OR

           screen-name EQ 'T_VFRN2' .

          screen-input = 0.

          screen-invisible = 1.

        ENDIF.

      WHEN '2'.

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

        IF screen-name EQ '/PWS/ZYCIE079A-LIFNR'.

* << Fim da exclusão

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

        IF screen-name EQ '/PWS/ZYCIE079A-LIFNR'   OR

           screen-name EQ '/PWS/ZYCIE079A-DESCFAB' OR

           screen-name EQ '/PWS/ZYCIE079A-PAISFAB'.

* << Fim da inclusão

          screen-input = 1.

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

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE079A-DESCFAB' OR

           screen-name EQ '/PWS/ZYCIE079A-PAISFAB'.

          screen-input = 0.

* << Fim da exclusão

        ENDIF.

      WHEN '3'.

        IF  screen-name EQ '/PWS/ZYCIE079A-PAISFAB'.

...

 

...

 

* >> Início da inclusão:

FORM salva_fabric_item.

  CHECK /pws/zycie079a-fabric EQ 2.

  READ TABLE itab_zycit080 WITH KEY

    nrseqli = /pws/zycie078-nrseqli

    ebeln   = /pws/zycie079a-ebeln

    ebelp   = /pws/zycie079a-ebelp

    tipoforn = 'F' .

  IF sy-subrc NE 0 .

    itab_zycit080-mandt     = sy-mandt.

    itab_zycit080-nrseqli   = /pws/zycie078-nrseqli .

    itab_zycit080-ebeln     = /pws/zycie079a-ebeln  .

    itab_zycit080-ebelp     = /pws/zycie079a-ebelp  .

    itab_zycit080-lifnr     = /pws/zycie079a-lifnr  .

    itab_zycit080-tipoforn  = 'F' .

    itab_zycit080-name1     = /pws/zycie080a-name1  .

    itab_zycit080-landa     = /pws/zycie080a-landa  .

    itab_zycit080-logradouro  = /pws/zycie080a-logradouro .

    itab_zycit080-nrlogr    = /pws/zycie080a-nrlogr .

    itab_zycit080-compl     = /pws/zycie080a-compl  .

    itab_zycit080-city      = /pws/zycie080a-city   .

    itab_zycit080-regio     = /pws/zycie080a-regio  .

    itab_zycit080-nrforn    = v_frn1  .

    itab_zycit080-prog      = sy-repid.

    APPEND itab_zycit080 .

  ELSE.

    v_tabix = sy-tabix.

    MOVE-CORRESPONDING /pws/zycie080a TO itab_zycit080 .

    /pws/zycie080a-nrforn = it_zycit079-nrforn1.

    MODIFY itab_zycit080 INDEX v_tabix.

  ENDIF.

  /pws/zycie079a-descfab = /pws/zycie080a-name1.

  /pws/zycie079a-paisfab = /pws/zycie080a-landa.

ENDFORM.

* << Fim da inclusão