1 TECH.RegisteredObject Importeert enkel de 4de kolom (wat bij de export de doeltaal is), indien ImportAlleTalen = 1 dan worden alle talen geïmporteerd Do ##class(APPS.PM.Vertaling.ExcelImport).Import("\\NOTES01\SHARED\C S C\ExportOLW.txt","OLW",1,"23/12/2010") Do ##class(APPS.PM.Vertaling.ExcelImport).Import("\\NOTES01\SHARED\C S C\ImportPK.txt","PK",1,"23/12/2010") N.B. LET HEEL GOED OP WAT ER MET DE ACCENTEN EN SPECIALE TEKENS GEBEURT, BIJ HET OMZETTEN NAAR EXCEL EN WEER TERUG!!!!!!! Kies in Excel type .txt (tab delimited). Hoofding van de .txt moet zijn: " Nederlands Frans Duits Engels" 1 FileLocation:%String,VertaalGroep:%String,ImportAlleTalen:%Boolean=0,DatumVanExport:%String="" %String 2 = Talen for i = 1:1:$ListLength(lbTalenInHoofding) { Set Taal(i) = ##class(Res.PI.Taal).LongToShort($LG(lbTalenInHoofding,i)) } #dim lbTaalKolomIndexen As %List = "" If (ImportAlleTalen) { For i=3:1:$ListLength(lbPieced) Set:("" '= $ListGet(lbPieced,i)) lbTaalKolomIndexen = lbTaalKolomIndexen_$ListBuild(i) } Else { Set lbTaalKolomIndexen = $ListBuild(4) } Write "Aantal talen te importeren: "_ $ListLength(lbTalenInHoofding)_" "_$$$LCVT(lbTalenInHoofding) #Dim AantalVertalingenGeimporteerd As %Integer = 0 #Dim AantalVertalingenGewijzigd As %Integer = 0 While ('Stream.AtEnd) { #dim Line As %String = Stream.ReadLine() if ($$$Trim(Line) '= "") { For i=1:1:$ListLength(lbTaalKolomIndexen) { #dim TaalKolomIndex As %Integer = $ListGet(lbTaalKolomIndexen,i) #dim TaalCode As %String = Taal(TaalKolomIndex-2) #dim Vertaling As %String = $Piece(Line,$$$TAB,TaalKolomIndex) #dim Intern As %String = $Piece(Line,$$$TAB,1) #dim Type As %String = $Piece(Line,$$$TAB,2) If ((VertaalGroep '= "") && (Intern '= "") && (Type '= "") && (TaalCode '= "")) { Set:("" '= Vertaling) AantalVertalingenGeimporteerd = 1 + AantalVertalingenGeimporteerd Set VertalingsObject = ##class(Res.Vertaling).%OpenId(VertaalGroep_"||"_Intern_"||"_Type_"||"_TaalCode) If (VertalingsObject '= "") { Set:(VertalingsObject.Vertaling '= Vertaling) AantalVertalingenGewijzigd = 1 + AantalVertalingenGewijzigd // De vertaling bestond en is gewijzigd Set VertalingsObject.Vertaling = Vertaling If ((Tijdstip '= "") && (##class(TECH.DateTime).HorologIsGroterDan(VertalingsObject.WijzigingsDatumTijd,Tijdstip)) && VertalingsObject.%IsModified()) { w !,"Combinatie van ("_Intern_", "_Type_", "_TaalCode_") is gewijzigd sinds de exporttijd, gelieve deze handmatig te importeren!" } Else { Set Status = VertalingsObject.%Save() If ($$$ISERR(Status)) { w !,"Fout: "_$$ParseStatus^vhLib(Status) } } } elseif (##class(APPS.PM.Vertaling.ExcelImport).ComboKeyTypeBestaat(Intern,Type,VertaalGroep)) { Set AantalVertalingenGewijzigd = 1 + AantalVertalingenGewijzigd // De vertaling is nieuw en moet worden toegevoegd Set VertalingsObject = ##class(Res.Vertaling).%New() Do VertalingsObject.GroepSetObjectId(VertaalGroep) Set VertalingsObject.Intern = Intern Do VertalingsObject.TypeSetObjectId(Type) Do VertalingsObject.TaalSetObjectId(TaalCode) Set VertalingsObject.Vertaling = Vertaling Set Status = VertalingsObject.%Save() if ($$$ISERR(Status)) { w !,"Fout: "_$$ParseStatus^vhLib(Status) } } else { w !,"Combinatie van ("_VertaalGroep_", "_Intern_", "_Type_") bestaat nog niet in de databank!" } } } } } w !!,"... Import beëindigd" w !, "Aantal vertalingen verwerkt : ", AantalVertalingenGeimporteerd w !, "Aantal vertalingen effectief gewijzigd : ", AantalVertalingenGewijzigd w !, "******************************",! ]]> 1 Intern:%String,TekstType:%String,Groep:%String %Boolean