CE PLUS - Nota 013153

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: BL

Data/Hora da Publicação: 05/08/2013 14:17:00

Data/Hora Última Alteração: 05/08/2013 14:17:00

Descrição da Nota: VERIFICAR SE O PROCESSO ESTÁ SENDO ALTERADO POR ALGUM USUÁRIO E BLOQUEAR

Sintoma

O sistema está permitindo alterar/excluir um processo, sendo que outro usuário está criando uma DI

ou nota.

 

 

Solução

Acertar o ENQUEUE no BL, Embarque, Fatura, DI, Nota e Recebimento.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

O SISTEMA ESTÁ PERMITINDO CRIAR DI POR FORA COM O EMBARQUE SENDO EDITADO

Informações Complementares

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

Nota Número 13153 Data: 05/08/2013 Hora: 11:17:39

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

 

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

Nota Número              : 13153

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00005

Agrupamento              : 00161

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

Referência às notas relacionadas:

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

 

13027  - 00001 - 9.0    - 00004  - O SISTEMA ESTÁ PERMITINDO CRIAR DI POR FORA COM O EMBARQUE SENDO

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

VERIFICAR SE O PROCESSO ESTÁ SENDO ALTERADO POR ALGUM USUÁRIO E BLOQUEAR

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

Palavras Chave:

BLOQUEIO - ENQUEUE - LOCK - VERIFICAR SE O PROCESSO ESTÁ SENDO ALTERADO

 

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

Objetos da nota:

REPS /PWS/MZYCI003I01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI002F02

REPS /PWS/MZYCI023I01

REPS /PWS/MZYCI017F03

REPS /PWS/MZYCI017F01

REPT /PWS/SAPMZYCI002

REPT /PWS/SAPMZYCI003

REPT /PWS/SAPMZYCI017

 

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

Modificações efetuadas em REPS /PWS/MZYCI003I01

 

...

          ELSE.

            AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                                /pws/zycie006-bukrs

                                                ID 'ACTVT' FIELD '02'.

            IF sy-subrc NE 0.

              MESSAGE e083(f5) WITH /pws/zycie006-bukrs.

            ENDIF.

          ENDIF.

        ENDIF.

        PERFORM check_lock USING /pws/zycie006-nrseq.

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

        READ TABLE itab_zycit003 INDEX 1.

        PERFORM lock_embarque USING itab_zycit003-nrseq.

* << Fim da inclusão

        CALL SCREEN  '0100'.

      ELSE.

        MESSAGE s015 WITH text-004.

      ENDIF.

    WHEN 'BACK'.

      CLEAR /pws/zycie006.

      PERFORM unlock_record USING /pws/zycie006-nrseq.

      IF v_import_emb = 'X'.

        CLEAR v_import_emb.

        LEAVE PROGRAM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

* >> Início da inclusão:

FORM lock_embarque USING    p_nrseq.

  IF sy-tcode = '/PWS/ZYCI003_A' OR

     sy-tcode = '/PWS/ZYCI003_M' OR

   ( sy-tcode = '/PWS/ZYCI003_L' AND v_status_s EQ 1 ).

    CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

         EXPORTING

              nrseq          = p_nrseq

         EXCEPTIONS

              foreign_lock   = 1

              system_failure = 2.

    CASE sy-subrc.

      WHEN 1.

        MESSAGE w039 WITH text-333.

        v_status_s = 0.

      WHEN 2.

        MESSAGE a015 WITH text-152.

    ENDCASE.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI002F02

 

...

    tabctrl1-lines = tabctrl1-lines + 50.

    CLEAR: v_pos, v_linha, rtext.

    REFRESH: rtext.

    IF sy-tcode EQ '/PWS/ZYCI002_A'.

      v_tcode  = '/PWS/ZYCI002_A'.

      v_status = 1.

    ELSEIF sy-tcode EQ '/PWS/ZYCI002_E'.

      v_tcode  = '/PWS/ZYCI002_E'.

      v_status = 0.

    ENDIF.

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

    READ TABLE itab_zycit094s INDEX 1.

    PERFORM lock_embarque USING itab_zycit094s-nrseq.

* << Fim da inclusão

    v_status = v_status_s.

    PERFORM load_agen_transp.

    CLEAR: v_st.

    SELECT status UP TO 1 ROWS FROM /pws/zycit085 INTO v_st

           WHERE nrbl EQ /pws/zycie093-nrseqce.         "#EC CI_NOFIELD

    ENDSELECT.

    IF sy-subrc EQ 0.

      IF v_st EQ 'TRA'.

        IF sy-tcode EQ '/PWS/ZYCI002_A'.

          v_tcode  = '/PWS/ZYCI002_E'.

...

 

...

* >> Início da inclusão:

FORM lock_embarque USING    p_nrseq.

  CHECK sy-tcode = '/PWS/ZYCI002_A'.

  CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

       EXPORTING

            nrseq          = p_nrseq

       EXCEPTIONS

            foreign_lock   = 1

            system_failure = 2.

  CASE sy-subrc.

    WHEN 1.

      MESSAGE w061 WITH text-333 text-118.

      v_tcode_s = '/PWS/ZYCI002_E'.

      v_status_s = 0.

      LEAVE TO TRANSACTION '/PWS/ZYCI002_E'.

    WHEN 2.

      MESSAGE a015 WITH text-119.

  ENDCASE.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023I01

 

...

MODULE user_command_0010 INPUT.

  CASE sy-ucomm.

    WHEN 'ENTE'.

      GET CURSOR LINE v_linha.

      IF sy-subrc EQ 0.

        v_pos = tc_di-top_line + v_linha - 1.

        CLEAR itab_zycit085.

        READ TABLE itab_zycit085 INDEX v_pos.

        MOVE itab_zycit085 TO /pws/zycie085.

        CLEAR: v_pos, v_linha, sy-ucomm.

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

        v_difora = 'X'.

* << Fim da inclusão

        PERFORM loading_all.

      ENDIF.

    WHEN 'BACK'.

      CLEAR: /pws/zycie085, sy-ucomm.

      LEAVE TO SCREEN '0001' .

  ENDCASE.

  CLEAR sy-ucomm.

ENDMODULE.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F03

 

...

* >> Início da inclusão:

FORM lock_embarque USING    p_nrseq.

  CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

       EXPORTING

            nrseq          = p_nrseq

       EXCEPTIONS

            foreign_lock   = 1

            system_failure = 2.

  IF sy-subrc EQ '1'.

    MESSAGE i015 WITH text-444 sy-uname text-265.

    SET PARAMETER ID '/PWS/ZYCIP085' FIELD v_nrseqdi.

    LEAVE TO TRANSACTION '/PWS/ZYCI017_E'.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

    SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.

    SELECT SINGLE *

      FROM /pws/zycit000

      INTO wa_zycit000

      WHERE land1 EQ t001-land1.

    gc_subscreen-prog = '0200'.

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

    IF v_menu = 'X'.

      READ TABLE itab_zycit044 INDEX 1.

      PERFORM lock_embarque USING itab_zycit044-nrseq.

    ENDIF.

* << Fim da inclusão

    PERFORM lock_record.

    CALL SCREEN  '0050'.

    PERFORM unlock_pedido.

  ELSE.

    MESSAGE s015 WITH text-013.

  ENDIF.

ENDFORM.

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI002

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 333

 

Texto: (39 caracteres)

"Shipment is been using by another user."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 333

 

Texto: (47 caracteres)

"Embarque está sendo alterado por outro usuário."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 333

 

Texto: (46 caracteres)

"Embarque esta sendo cambiada por otro usuario."

 

Comprimento máximo: 50

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI003

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 333

 

Texto: (39 caracteres)

"Shipment is been using by another user."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 333

 

Texto: (47 caracteres)

"Embarque está sendo alterado por outro usuário."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 333

 

Texto: (46 caracteres)

"Embarque esta sendo cambiada por otro usuario."

 

Comprimento máximo: 50

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI017

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 444

 

Texto: (37 caracteres)

"Shipment is already been used by user"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 444

 

Texto: (46 caracteres)

"Embarque já está sendo processado pelo usuário"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 444

 

Texto: (46 caracteres)

"Embarque está siendo alterado por otro usuário"

 

Comprimento máximo: 50

Comprimento máximo: 50