CE PLUS - Nota 002586

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Adiantamento

Data/Hora da Publicação: 04/12/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:48:13

Descrição da Nota: NA ESTRATÉGIA DE LIBERAÇÃO DO ADIANTAMENTO - EMBARQUE ESTÁ SENDO USADO

Sintoma

Ao tentar liberar a ESTRATÉGIA de Liberação para um ADIANTAMENTO, se estou com o embarque aberto em

outra tela criando ou modificando o embarque referente aquele adiantamento, DEIXA LIBERAR

NORMALMENTE, não aparece mensagem impeditiva de liberação informando: "O Embarque está sendo

alterado por outro usuário. Não é possível liberar Adiantamento".

 

 

 

Solução

Corrigir rotina de 'lock' do embarque.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 02586 Data: 04/12/2006 Hora: 17:28:45

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

 

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

Nota Número              : 02586

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00142

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

NA ESTRATÉGIA DE LIBERAÇÃO DO ADIANTAMENTO - EMBARQUE ESTÁ SENDO USADO

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

Palavras Chave:

ESTRATÉGIA DE LIBERAÇÃO - ADIANTAMENTO - EMBARQUE SENDO UTILIZADO

 

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

Objetos da nota:

REPS /PWS/MZYCI001F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

    ENDIF.

    IF v_existe = 'S'.

      MESSAGE i061 WITH text-008 /pws/zycie001-embarca

                        text-009 /pws/zycie001-nrseq.

    ENDIF.

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

    COMMIT WORK.

    IF v_enqueue IS INITIAL.

      v_enqueue = 'X'.

      CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

           EXPORTING

                nrseq = /pws/zycie001-nrseq.

    ENDIF.

* << Fim da inclusão

  ELSE.

    MODIFY /pws/zycit001 FROM /pws/zycie001.

  ENDIF.

  IF /pws/zycie001-nrseq IS INITIAL.

    MESSAGE i061 WITH text-136.

...

 

...

       sy-tcode = '/PWS/ZYCI001_A' ) AND

     ( okcode = 'P-' OR okcode = 'P--' OR

       okcode = 'P+' OR okcode = 'P++' ).

  ELSEIF okcode EQ 'PED' OR okcode EQ 'ENTE' OR okcode EQ 'SAVE' OR

                                                okcode EQ 'FAT'.

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

    IF sy-tcode EQ '/PWS/ZYCI001_C' AND okcode EQ 'SAVE'.

      IF v_enqueue IS INITIAL.

        v_enqueue = 'X'.

        CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

             EXPORTING

                  nrseq = /pws/zycie001-nrseq.

      ENDIF.

    ENDIF.

* << Fim da exclusão

    CHECK NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit013

      INTO TABLE itab_zycit013

      FOR ALL ENTRIES IN itab_zycit003 WHERE

      ebeln = itab_zycit003-ebeln AND

...

 

...

FORM lock_record.

  "Checagem para ver se está em alteração

* << Início Exclusão

*  CHECK sy-tcode = '/PWS/ZYCI001_A' AND

*        NOT /pws/zycie001-nrseq IS INITIAL.

* << Fim Exclusão

* << Início Inclusão

  CHECK ( sy-tcode = '/PWS/ZYCI001_A' or

          sy-tcode = '/PWS/ZYCI001_C' ) AND

* << Fim Inclusão

        NOT /pws/zycie001-nrseq IS INITIAL.

  "Função de Lock

  CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

       EXPORTING

*           mode_zycit001  = 'N'

            nrseq          = /pws/zycie001-nrseq

       EXCEPTIONS

            foreign_lock   = 1

            system_failure = 2.

  "Analisando resultado e tomando as atitudes.

  CASE sy-subrc.

    WHEN 1.

      MESSAGE w015 WITH text-022 text-023.

      LEAVE TO TRANSACTION '/PWS/ZYCI001_E' AND SKIP FIRST SCREEN.

      v_status_s = '0'.

    WHEN 2.

      MESSAGE a015 WITH text-024.

  ENDCASE.

ENDFORM.                    " LOCK_RECORD

...