SYNCMAIL ; Syncronisatie Bidirectioneel : Mail [ 09/11/2002 9:32 AM ] ; Deze routines moeten op de protable computer opgestart worden TRAP If $P($ZERROR,">")="0 Do ; Mail is gewijzigd deze moet overgekopieerd worden ..Do TOPORT(MailId) .Else If '$D(^vhMAIL("IN",IPNr,MailId)) Do ; IN-link verbroken, reeds gelezen ..Do REMIN(MailId) For Set MailId=$O(^|HostVol|vhMAIL("IR",IPNr,MailId)) Quit:MailId="" Do .If $D(^vhMAIL("IN",IPNr,MailId)) Do ; IN-link terug hersteld, "Lezen ongedaan gemaakt" ..Do BLDIND^vhMAIL(MailId) .Else If '$D(^vhMAIL("IR",IPNr,MailId)) Do ; IR-link verwijderd ..Do REMIR(MailId) Quit TOPORT Do DELOBJ^vhMAIL(MailId) Do MAILCOP(HostVol,MailId,MailId) ; Van host naar portable Quit TOHOST Job MAILCOP^SYNCMAIL($ZU(5),MailId)|sRemVol|::20 Else Set MailId=9999999 Quit Set NewId="",Tijd=$P($H,",",2) For Quit:$D(^SYNC("M",MailId)) Quit:Tijd+100<$P($H,",",2) Hang 1 Set NewId=$G(^SYNC("M",MailId)) Quit:NewId="" Kill ^SYNC("M",MailId) Do MAILCOP($ZU(5),MailId,NewId) Do DELOBJ^vhMAIL(MailId) Do REMIZ(NewId) Quit MAILCOP(FromVol,OldNr,NewId) New New Kill ^HULP($J) Merge ^HULP($J)=^|FromVol|vhMAIL("D",OldNr) Set New=0 Set:'$G(NewId) New=1,NewId=$$NEXTID^MAIL() Merge ^MAIL("D",NewId)=^|FromVol|vhMAIL("D",OldNr) Do BLDIND^vhMAIL(NewId) Set:New ^|FromVol|SYNC("V",OldNr)=NewId Quit REMIZ(MailId) ; Verwijderen van de IZ-node voor de mail op de HOST, zodanig dat deze mail automatisch kan verwijderd worden als alle andere deze gelezen hebben. Kill ^|HostVol|vhMAIL("IZ",IPNr,MailId) Quit REMIN(MailId) ; Verwijderen van de IN-node voor de mail op de HOST Kill ^|HostVol|vhMAIL("IN",IPNr,MailId) Set ^|HostVol|vhMAIL("D",MailId,"N",IPNr)=^vhMAIL("D",MailId,"N",IPNr) Quit REMIR(MailId) ; Verwijderen van de IR-node voor de mail op de HOST Kill ^|HostVol|vhMAIL("IR",IPNr,MailId) Quit