O Conhecimento

O conhecimento é inútil a menos que você o compartilhe.

terça-feira, 23 de dezembro de 2014

Objeto de Bloqueio

Coisinha bobinha mas que toma um tempo quando não funciona direito......

Objeto de Bloqueio com parâmetro errado pode causar uma dor de cabeça se não estiver feito a chamada de acordo com a sua necessidade....segue....

Atentar parâmetro _scope

CALL FUNCTION 'ENQUEUE_EZTBCO0029'
    
EXPORTING
      repid          
sy-repid
      _scope         
'1'
    
EXCEPTIONS
      foreign_lock   
1
      system_failure 
2
      
OTHERS         3.
  
IF sy-subrc <> 0.
* Implement suitable error handling here
    
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
             
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  
ENDIF.

segue a fonte: http://scn.sap.com/thread/1974118 / http://scn.sap.com/thread/346975

If you have _SCOPE = 1 you can have a COMMIT WORK after each update (or one COMMIT after both updates) and have to DEQUEUE it afterwards; if _SCOPE is 2 or 3 a COMMIT WORK automatically dequeues the lock and in this case you need no DEQUEUE fm before COMMIT WORK.

-----------------------------------------------------------------------------------------------------------------------------------------------------------
Mais uma opção.....

fiunção: ENQUEUE_EGMSPPROGRAM

* Chama função de bloqueio de programa
  call function 'ENQUEUE_EGMSPPROGRAM'
    exporting
*     MODE_GMSPPROGRAM       = 'E'
*     CLIENT                 = SY-MANDT
      sponsored_prog         pi_program
*     X_SPONSORED_PROG       = ' '
*     _SCOPE                 = '2'
*     _WAIT                  = ' '
*     _COLLECT               = ' '
    exceptions
      foreign_lock           1
      system_failure         2
      others                 3.

 
Blogger Templates