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