TitleTAG

OnBeforeSpkModifyRecord

**OnBeforeSpkModifyRecord**(SourcePeer: Guid; TargetTable: Integer; var RecRef: RecordRef; xRecRef: RecordRef; var Handled: Boolean; var ErrorMessage: Text[50]; var PanicButton: Boolean) * Questo evento viene generato prima di una modifica del record **xRecRef** in **RecRef** nella tabella **TargetTable**, a causa di una Entry ricevuta dal Peer **SourcePeer**; * Il sottoscrittore può modificare RecRef (per esempio impostando alcuni campi); il record modificato corrisponderà a RecRef. * Se **Handled** viene impostato a TRUE dal sottoscrittore, Sprinkler assumerà che il record sia stato modificato dal sottoscrittore; l'esecuzione continuerà generando l'evento OnAfterSpkModifyRecord. * Se **ErrorMessage** viene impostato diverso dalla stringa vuota, il record NON verrà modificato e l'Entry corrispondente verrà spostata nella tabella Data Distribution Import Error, con codice errore M-EVENTERR e Error Message uguale alla stringa ErrorMessage. **NOTA**: Sprinkler proseguirà gestendo la Entry successiva. * se **PanicButton** viene impostato a TRUE dal sottoscrittore, l'esecuzione di Sprinkler verrà interrotta: la Entry attualmente gestita non verrà spostata in Error ma rimarrà nella Inbox, ed **ErrorMessage** verrà inserito come Log nello Sprinkler Log. Per riprendere la normale esecuzione sarà necessario correggere la situazione di errore oppure cancellare la entry attualmente gestita direttamente dalla Inbox; in entrambi casi Sprinkler ripartirà automaticamente entro un minuto. * ATTENZIONE: un errore all'interno di un sottoscrittore causerà un rollback dell'operazione di Modify; il messaggio di errore verrà loggato nello Sprinkler Log e l'operazione verrà ripetuta entro un minuto.