Definizione
I Lock Objects sono utilizzati in SAP, per evitare
l’inconsistenza dei dati al momento dell’inserimento/modifica nel database.
Sap fornisce 3 tipi di Lock objects:
- Read Lock (Shared Locked). Questo Lock permette alle altre transazioni di accedere in lettura ma non in scrittura sull’area della tabella loccata.
- Write Lock (Shared Locked). Questo Lock NON permette alle altre transazioni di accedere né in lettura né in scrittura sull’area della tabella loccata.
- ExclusiveLock without cumulating. Questo Lock è simile al WRITE LOCK, ma inoltre NON permette alla stessa transazione eseguita in un’altra sessione, di accedere né in lettura né in scrittura sull’area della tabella loccata.
È possibile creare un lock su un oggetto di SAP attraverso
la transazione SE11 e immettere un nome
significativo che inizia con EZ (ad
esempio: EZKERCR_RECD).
Quando si crea un lock oggetto, il sistema crea
automaticamente due FM:
- ENQUEUE_<Lockobject name>. Per inserire l’oggetto nella cosa (queue).
- DEQUEUE_<Lockobject name>. Per rimuovere l’oggetto dalla coda.
Questi due FM, devono essere usati nel programma
rispettivamente prima di modificare la tabella e dopo la modifica della tabella.
Il Lock, nell’ambito di una stessa tabella, può essere gestito
diversamente:
- Se si specificano tutti i campi chiave della tabella, il lock è un lock di riga, che blocca la singola occorrenza che l’utente che gestisce il lock sta trattando;
- Se si specificano solo alcuni campi, il lock è un lock generico, che blocca solo una parte della tabella, solo determinate occorrenze, che presentano certi valori nei campi specificati nella definizione dell’oggetto di lock;
- Se non si specifica alcun campo, il lock è completo, su tutta la tabella.
Esempio: Creazione di un Lock di Riga
Supponiamo vi voler creare un Lock di Riga per la tabella custom ZKERCA_101_RECD.
Richiamiamo la transazione SE11, inseriemo nel Lock objetc il valore "EZKERCR_RECD" e premiamo il pulsante CREATE
Inserire i campi chiave della tabella su cui effettuare il Lock di riga:
VISUALIZZAZIONE DEI LOCK SULLA TABELLA CHE ABBIAMO LOCCATO
È possibile vedere tali lock sulla tabella interessata tramite la transazione SM12.
FM DA RICHIAMARE ALL'INTERNO DEI PROGRAMMI PER LOCCARE TABELLA
CALL FUNCTION 'ENQUEUE_EZKERCR_RECD'
EXPORTING
mandt = sy-mandt
transaction_id = ls_dest-transaction_id
iban = ls_dest-iban
e_seq_no = ls_dest-e_seq_no
cdt_dbt_ind = ls_dest-cdt_dbt_ind
t_endtoend_id = ls_dest-t_endtoend_id
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
FM DA RICHIAMARE ALL'INTERNO DEI PROGRAMMI PER UNLOCCARE TABELLA
CALL FUNCTION 'DEQUEUE_EZKERCR_RECD'
EXPORTING
mandt = sy-mandt
transaction_id = ls_dest-transaction_id
iban = ls_dest-iban
e_seq_no = ls_dest-e_seq_no
cdt_dbt_ind = ls_dest-cdt_dbt_ind
t_endtoend_id = ls_dest-t_endtoend_id.
IF SY-SUBRC <> 0.
ENDIF.
EBOOK: le mie guide sono visualizzabili cliccando sui link:
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
SE MI CONTATTATE IN PRIVATO, PAGATE LA META' DEL PREZZO DI AMAZON, E POTETE SCEGLIERE IL FORMATO WORD o PDF.
>>> RECENSIONI DEI LIBRI su Amazon Kindle <<<
Ebook: SAP CDS: https://www.amazon.it/dp/B0B9BD1RN3#customerReviews
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews
Ebook: SAP EWM: https://www.amazon.it/dp/B0CL6TXP1V#customerReviews
Nessun commento:
Posta un commento