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.
9.0
Produto:
Nota
Descrição
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