TitleTAG

OnBeforeSpkInsertRecord

**OnBeforeSpkInsertRecord**(SourcePeer: Guid; TargetTable: Integer; var RecRef: RecordRef; var Handled: Boolean; var ErrorMessage: Text[50]; var PanicButton: Boolean) * Questo evento viene generato prima dell'inserimento del record **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 inserito corrisponderà a RecRef. * Se **Handled** viene impostato a TRUE dal sottoscrittore, Sprinkler assumerà che il record sia stato inserito dal sottoscrittore; l'esecuzione continuerà generando l'evento OnAfterSpkInsertRecord. * Se **ErrorMessage** viene impostato diverso dalla stringa vuota, il record NON verrà inserito e l'Entry corrispondente verrà spostata nella tabella Data Distribution Import Error, con codice errore I-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 Insert; il messaggio di errore verrà loggato nello Sprinkler Log e l'operazione verrà ripetuta entro un minuto.