Imports System.Globalization Imports System.IO Imports System.Xml Public Class cWorker_NCTS Public Shared Dateiname = "" Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL Public Shared Function readNCTS_VersandanmeldungXML(FORM As frmDYNachrichtenVerarbeitung, doc As XmlDocument, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String Try readNCTS_VersandanmeldungXML = "" Dim sw = New StringWriter() Dim xw = New XmlTextWriter(sw) doc.WriteTo(xw) Dim XmlString = sw.ToString() If XmlString.Contains("") Then Dim xmlDETUDC = XmlString.Substring(XmlString.IndexOf(""), XmlString.IndexOf("") + 9 - XmlString.IndexOf("")) ' MsgBox(xmlDETUDC) Dim p = Path.GetTempFileName Using outputFile As New StreamWriter(p, False, System.Text.Encoding.Default) outputFile.Write(xmlDETUDC) outputFile.Close() Dim AnsprechpTMP_Email = "" Dim DETUDC As DAKOSY_Worker.DETUDC.DETUDC = DAKOSY_Worker.DETUDC.DETUDC.LoadFromFile(p) ' Dim NCTS As New DAKOSY_Worker.cDakosyNCTS If DETUDC IsNot Nothing AndAlso DETUDC.Header IsNot Nothing AndAlso DETUDC.Header.LocalReferenceNumber IsNot Nothing AndAlso DETUDC.Header.LocalReferenceNumber <> "" Then readNCTS_VersandanmeldungXML = DETUDC.Header.LocalReferenceNumber Else Return "" 'Keine Bezugsnummer End If Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = frmDYNachrichtenVerarbeitung.saveDY_ZA(readNCTS_VersandanmeldungXML, "NCTS") Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(readNCTS_VersandanmeldungXML, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id NCTS.ncts_ObjectName = readNCTS_VersandanmeldungXML If DY_TMP.dy_AvisoId Is Nothing Then DY_TMP.tryFindAviso() DY_TMP.SAVE() End If If DETUDC IsNot Nothing Then If DETUDC.Header IsNot Nothing Then NCTS.ncts_VersendungsLandCode = DETUDC.Header.DepartureCountry NCTS.ncts_BestimmungslandCode = DETUDC.Header.DestinationCountry NCTS.ncts_SumA_Ladeort = DETUDC.Header.LoadingPlace NCTS.ncts_SumA_Entladeort = DETUDC.Header.UnloadingPlace If getDatumXMLNothing(DETUDC.Header.PresentationDate.Date) IsNot Nothing Then NCTS.ncts_Wiedergestellungsdatum = CDate(getDatumXMLNothing(DETUDC.Header.PresentationDate.Date)) End If NCTS.ncts_GesamtRohmasse = DETUDC.Header.TotalGrossMassMeasure NCTS.ncts_SumA_BesondereUmstaende = DETUDC.Header.SpecificCircumstanceIndicator NCTS.ncts_SumA_BefoerderungskostenZahlungsweise = DETUDC.Header.TransportChargesPaymentMethod NCTS.ncts_SumA_KennnummerSendung = DETUDC.Header.CommercialReferenceNumber NCTS.ncts_KzVereinfachtesVerfahren = DETUDC.Header.SimplifiedProcedureFlag NCTS.ncts_SumA_KzSumASicherheit = DETUDC.Header.SecurityFlag If DETUDC.Header.Declaration IsNot Nothing Then NCTS.ncts_ArtAnmeldung = DETUDC.Header.Declaration.Type ' MsgBox(DETUDC.Header.MessageVersion) 'NCTS.ncts_Trans_Version = DETUDC.Header.MessageVersion NUMERIC End If If True Then If DETUDC.Packages IsNot Nothing Then NCTS.ncts_GesamtAnzahlPackstuecke = DETUDC.Packages.Quantity End If If DETUDC.AuthorisedConsignee IsNot Nothing AndAlso DETUDC.AuthorisedConsignee.Identification IsNot Nothing Then NCTS.ncts_ZugelassenerEmpfaenger_EORI = DETUDC.AuthorisedConsignee.Identification.ReferenceNumber End If 'VERSCHLÜSSE If DETUDC.Seals IsNot Nothing Then NCTS.ncts_Verschluss_ArtCode = DETUDC.Seals.Type NCTS.ncts_Verschluss_Anzahl = DETUDC.Seals.Number If DETUDC.Seals.Seal IsNot Nothing AndAlso DETUDC.Seals.Seal.Count > 0 Then Dim cntTmp = 0 For Each SEAL In DETUDC.Seals.Seal If cntTmp = 0 Then NCTS.ncts_Verschluss_Zeichen1 = SEAL.Identity If cntTmp = 1 Then NCTS.ncts_Verschluss_Zeichen2 = SEAL.Identity If cntTmp = 2 Then NCTS.ncts_Verschluss_Zeichen3 = SEAL.Identity If cntTmp = 3 Then NCTS.ncts_Verschluss_Zeichen4 = SEAL.Identity If cntTmp = 4 Then NCTS.ncts_Verschluss_Zeichen5 = SEAL.Identity If cntTmp = 5 Then NCTS.ncts_Verschluss_Zeichen6 = SEAL.Identity If cntTmp = 6 Then NCTS.ncts_Verschluss_Zeichen7 = SEAL.Identity If cntTmp = 7 Then NCTS.ncts_Verschluss_Zeichen8 = SEAL.Identity If cntTmp = 8 Then NCTS.ncts_Verschluss_Zeichen9 = SEAL.Identity If cntTmp = 9 Then NCTS.ncts_Verschluss_Zeichen10 = SEAL.Identity If cntTmp = 10 Then NCTS.ncts_Verschluss_Zeichen11 = SEAL.Identity If cntTmp = 11 Then NCTS.ncts_Verschluss_Zeichen12 = SEAL.Identity If cntTmp = 12 Then NCTS.ncts_Verschluss_Zeichen13 = SEAL.Identity If cntTmp = 13 Then NCTS.ncts_Verschluss_Zeichen14 = SEAL.Identity If cntTmp = 14 Then NCTS.ncts_Verschluss_Zeichen15 = SEAL.Identity If cntTmp = 15 Then NCTS.ncts_Verschluss_Zeichen16 = SEAL.Identity cntTmp += 1 Next End If End If 'BefoerderungsrouteLand If DETUDC.Itinerary IsNot Nothing Then If DETUDC.Itinerary IsNot Nothing AndAlso DETUDC.Itinerary.Count > 0 Then Dim cntTmp = 0 For Each Route In DETUDC.Itinerary If cntTmp = 0 Then NCTS.ncts_SumA_BefoerderungsrouteLand1 = Route.Country If cntTmp = 1 Then NCTS.ncts_SumA_BefoerderungsrouteLand2 = Route.Country If cntTmp = 2 Then NCTS.ncts_SumA_BefoerderungsrouteLand3 = Route.Country If cntTmp = 3 Then NCTS.ncts_SumA_BefoerderungsrouteLand4 = Route.Country If cntTmp = 4 Then NCTS.ncts_SumA_BefoerderungsrouteLand5 = Route.Country If cntTmp = 5 Then NCTS.ncts_SumA_BefoerderungsrouteLand6 = Route.Country If cntTmp = 6 Then NCTS.ncts_SumA_BefoerderungsrouteLand7 = Route.Country If cntTmp = 7 Then NCTS.ncts_SumA_BefoerderungsrouteLand8 = Route.Country If cntTmp = 8 Then NCTS.ncts_SumA_BefoerderungsrouteLand9 = Route.Country If cntTmp = 9 Then NCTS.ncts_SumA_BefoerderungsrouteLand10 = Route.Country If cntTmp = 10 Then NCTS.ncts_SumA_BefoerderungsrouteLand11 = Route.Country If cntTmp = 11 Then NCTS.ncts_SumA_BefoerderungsrouteLand12 = Route.Country cntTmp += 1 Next End If End If 'Durchgangszollstelle If DETUDC.TransitCustomsOffice IsNot Nothing Then If DETUDC.TransitCustomsOffice IsNot Nothing AndAlso DETUDC.TransitCustomsOffice.Count > 0 Then Dim cntTmp = 0 For Each DZST In DETUDC.TransitCustomsOffice If cntTmp = 0 Then NCTS.ncts_DurchgangszollstelleDienststellnummer1 = DZST.ReferenceNumber If cntTmp = 1 Then NCTS.ncts_DurchgangszollstelleDienststellnummer2 = DZST.ReferenceNumber If cntTmp = 2 Then NCTS.ncts_DurchgangszollstelleDienststellnummer3 = DZST.ReferenceNumber If cntTmp = 3 Then NCTS.ncts_DurchgangszollstelleDienststellnummer4 = DZST.ReferenceNumber If cntTmp = 4 Then NCTS.ncts_DurchgangszollstelleDienststellnummer5 = DZST.ReferenceNumber If cntTmp = 5 Then NCTS.ncts_DurchgangszollstelleDienststellnummer6 = DZST.ReferenceNumber If cntTmp = 6 Then NCTS.ncts_DurchgangszollstelleDienststellnummer7 = DZST.ReferenceNumber If cntTmp = 7 Then NCTS.ncts_DurchgangszollstelleDienststellnummer8 = DZST.ReferenceNumber If cntTmp = 8 Then NCTS.ncts_DurchgangszollstelleDienststellnummer9 = DZST.ReferenceNumber cntTmp += 1 Next End If End If If DETUDC.ProcedureOwner IsNot Nothing Then If DETUDC.ProcedureOwner.ContactPerson IsNot Nothing Then Dim AnsprechpTMP = DETUDC.ProcedureOwner.ContactPerson.Name If AnsprechpTMP <> "" Then Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN") If SB_Tmp <> "" Then NCTS.ncts_Bearbeiter = SB_Tmp End If End If If DETUDC.ProcedureOwner.ContactPerson.MailAddress IsNot Nothing Then AnsprechpTMP_Email = DETUDC.ProcedureOwner.ContactPerson.MailAddress 'If AnsprechpTMP_Email.Contains("@imex") Then ' NCTS.ncts_firma = "IMEX" ' NCTS.ncts_niederlassung = "IMEX" ' 'GLOBAL--> EORI 'ElseIf AnsprechpTMP_Email.Contains("@ambar") Then ' NCTS.ncts_firma = "AMBAR" ' NCTS.ncts_niederlassung = "AMBAR" 'ElseIf AnsprechpTMP_Email.Contains("atilla@verag.ag") Or AnsprechpTMP_Email.Contains("@atilla") Then ' NCTS.ncts_firma = "ATILLA" ' NCTS.ncts_niederlassung = "SUB" 'ElseIf AnsprechpTMP_Email.Contains("@durmaz") Then ' NCTS.ncts_firma = "DURMAZ" ' NCTS.ncts_niederlassung = "SBG" ' 'GLOBAL--> EORI 'ElseIf AnsprechpTMP_Email.Contains("@verag") Then ' NCTS.ncts_firma = "VERAG" ' ' EZA.eza_niederlassung = "IMEX" ' 'GLOBAL--> EORI 'ElseIf AnsprechpTMP_Email.Contains("@unisped") Then ' NCTS.ncts_firma = "UNISPED" ' NCTS.ncts_niederlassung = "ATSP" ' 'GLOBAL--> EORI 'End If End If End If End If ' Ansprechpartner 'Dim AnsprechpStellungTMP = cEDI.getSimpleLine("RFF+ACD:", lines) If DETUDC.MetaData IsNot Nothing Then If DETUDC.MetaData.Preparation IsNot Nothing Then If getDatumXMLNothing(DETUDC.MetaData.Preparation.Date) IsNot Nothing Then NCTS.ncts_Trans_DatumZeit = CDate(getDatumXMLNothing(DETUDC.MetaData.Preparation.Date)) End If End If If DETUDC.MetaData.InterchangeSender IsNot Nothing AndAlso DETUDC.MetaData.InterchangeSender.Identification IsNot Nothing Then NCTS.ncts_NachrichtenSenderTIN = DETUDC.MetaData.InterchangeSender.Identification.ReferenceNumber NCTS.ncts_NachrichtenSenderNLNR = DETUDC.MetaData.InterchangeSender.Identification.SubsidiaryNumber End If If DETUDC.MetaData.InterchangeRecipient IsNot Nothing AndAlso DETUDC.MetaData.InterchangeRecipient.Identification IsNot Nothing Then NCTS.ncts_NachrichtenempfaengerDST = DETUDC.MetaData.InterchangeRecipient.Identification.ReferenceNumber End If End If If DETUDC.DepartureCustomsOffice IsNot Nothing Then NCTS.ncts_AbgangsDienststellennummer = DETUDC.DepartureCustomsOffice.ReferenceNumber If DETUDC.DestinationCustomsOffice IsNot Nothing Then NCTS.ncts_BestimmungsstelleDienststellennummer = DETUDC.DestinationCustomsOffice.ReferenceNumber 'Hauptverpflichteter If DETUDC.SecurityConsignor IsNot Nothing Then NCTS.ncts_Hauptverpflichteter_Name = DETUDC.SecurityConsignor.Name If DETUDC.SecurityConsignor.Address IsNot Nothing Then NCTS.ncts_Hauptverpflichteter_StrasseHausnummer = DETUDC.SecurityConsignor.Address.Line NCTS.ncts_Hauptverpflichteter_Ort = DETUDC.SecurityConsignor.Address.City NCTS.ncts_Hauptverpflichteter_PLZ = DETUDC.SecurityConsignor.Address.Postcode NCTS.ncts_Hauptverpflichteter_Land = DETUDC.SecurityConsignor.Address.Country End If If DETUDC.SecurityConsignor.Identification IsNot Nothing Then NCTS.ncts_Hauptverpflichteter_EORI = DETUDC.SecurityConsignor.Identification.ReferenceNumber NCTS.ncts_Hauptverpflichteter_NLNR = DETUDC.SecurityConsignor.Identification.SubsidiaryNumber End If End If End If If DETUDC.Body IsNot Nothing Then ' Versender If DETUDC.Body.Consignor IsNot Nothing Then NCTS.ncts_Versender_Name = DETUDC.Body.Consignor.Name If DETUDC.Body.Consignor.Address IsNot Nothing Then NCTS.ncts_Versender_StrasseHausnummer = DETUDC.Body.Consignor.Address.Line NCTS.ncts_Versender_Ort = DETUDC.Body.Consignor.Address.City NCTS.ncts_Versender_PLZ = DETUDC.Body.Consignor.Address.Postcode NCTS.ncts_Versender_Land = DETUDC.Body.Consignor.Address.Country End If If DETUDC.Body.Consignor.Identification IsNot Nothing Then NCTS.ncts_Versender_EORI = DETUDC.Body.Consignor.Identification.ReferenceNumber NCTS.ncts_Versender_NLNR = DETUDC.Body.Consignor.Identification.SubsidiaryNumber End If End If ' Empfänger If DETUDC.Body.Consignee IsNot Nothing Then NCTS.ncts_Empfaenger_Name = DETUDC.Body.Consignee.Name If DETUDC.Body.Consignee.Address IsNot Nothing Then NCTS.ncts_Empfaenger_StrasseHausnummer = DETUDC.Body.Consignee.Address.Line NCTS.ncts_Empfaenger_Ort = DETUDC.Body.Consignee.Address.City NCTS.ncts_Empfaenger_PLZ = DETUDC.Body.Consignee.Address.Postcode NCTS.ncts_Empfaenger_Land = DETUDC.Body.Consignee.Address.Country End If If DETUDC.Body.Consignee.Identification IsNot Nothing Then NCTS.ncts_Empfaenger_EORI = DETUDC.Body.Consignee.Identification.ReferenceNumber NCTS.ncts_Empfaenger_NLNR = DETUDC.Body.Consignee.Identification.SubsidiaryNumber End If End If End If ' Empfänger If DETUDC.Carrier IsNot Nothing Then NCTS.ncts_SumA_Befoerderer_Name = DETUDC.Carrier.Name If DETUDC.Carrier.Address IsNot Nothing Then NCTS.ncts_SumA_Befoerderer_StrasseHausnummer = DETUDC.Carrier.Address.Line NCTS.ncts_SumA_Befoerderer_Ort = DETUDC.Carrier.Address.City NCTS.ncts_SumA_Befoerderer_PLZ = DETUDC.Carrier.Address.Postcode NCTS.ncts_SumA_Befoerderer_Land = DETUDC.Carrier.Address.Country End If If DETUDC.Carrier.Identification IsNot Nothing Then NCTS.ncts_SumA_Befoerderer_EORI = DETUDC.Carrier.Identification.ReferenceNumber NCTS.ncts_SumA_Befoerderer_NLNR = DETUDC.Carrier.Identification.SubsidiaryNumber End If End If If DETUDC.DepartureTransportMeans IsNot Nothing Then NCTS.ncts_Befoerderungsmittel_KennzeichenAbgang = DETUDC.DepartureTransportMeans.Identity NCTS.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode = DETUDC.DepartureTransportMeans.Nationality End If If DETUDC.BorderTransportMeans IsNot Nothing Then NCTS.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend = DETUDC.BorderTransportMeans.Identity NCTS.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode = DETUDC.BorderTransportMeans.Nationality NCTS.ncts_Befoerderungsmittel_ArtGrenzueberschreitung = DETUDC.BorderTransportMeans.Type NCTS.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent = DETUDC.BorderTransportMeans.Mode End If 'POSITIONEN If DETUDC.Body IsNot Nothing AndAlso DETUDC.Body.GoodsItem IsNot Nothing AndAlso DETUDC.Body.GoodsItem.Count > 0 Then NCTS.ncts_WARENPOS.Clear() For Each GOODSITEM In DETUDC.Body.GoodsItem Dim WP As New DAKOSY_Worker.cDakosy_NCTSOut_Warenposition WP.nctsWP_PositionsNummer = GOODSITEM.SequenceNumber If GOODSITEM.CommodityCode IsNot Nothing Then WP.nctsWP_Warennummer = GOODSITEM.CommodityCode.CommodityCode If GOODSITEM.Declaration IsNot Nothing Then WP.nctsWP_ArtAnmeldungPositionCode = GOODSITEM.Declaration.Type WP.nctsWP_Rohmasse = GOODSITEM.GrossMassMeasure WP.nctsWP_Eigenmasse = GOODSITEM.NetMassMeasure WP.nctsWP_Warenbezeichnung = GOODSITEM.GoodsDescription 'Damit nicht zu lang: If WP.nctsWP_Warenbezeichnung IsNot Nothing AndAlso WP.nctsWP_Warenbezeichnung.length > 280 Then WP.nctsWP_Warenbezeichnung = WP.nctsWP_Warenbezeichnung.substring(0, 280) End If WP.nctsWP_Eigenmasse = GOODSITEM.NetMassMeasure WP.nctsWP_BestimmungslandPositionCode = GOODSITEM.DestinationCountry WP.nctsWP_VersendungslandPositionCode = GOODSITEM.DepartureCountry If GOODSITEM.Package IsNot Nothing AndAlso GOODSITEM.Package.Count > 0 Then For Each PACKAGE In GOODSITEM.Package Dim PST = New DAKOSY_Worker.cDakosy_NCTSOut_WarenpositionPackstuecke() PST.nctsWpPk_PackstueckeAnzahl = PACKAGE.Quantity PST.nctsWpPk_Verpackungsart = PACKAGE.Kind PST.nctsWpPk_ZeichenNummern = PACKAGE.MarksNumbers WP.nctsWP_PACKSTUECKE.Add(PST) Next End If If GOODSITEM.Document IsNot Nothing AndAlso GOODSITEM.Document.Count > 0 Then For Each ULdoc In GOODSITEM.Document Dim UL = New DAKOSY_Worker.cDakosy_NCTSOut_WarenpositionVorgelegteUnterlagen() UL.nctsWpUl_Referenz = ULdoc.ReferenceNumber UL.nctsWpUl_Typ = ULdoc.Type UL.nctsWpUl_Zusatz = ULdoc.Complement WP.nctsWP_UNTERLAGEN.Add(UL) Next End If NCTS.ncts_WARENPOS.Add(WP) Next End If If DETUDC.Guarantees IsNot Nothing AndAlso DETUDC.Guarantees IsNot Nothing AndAlso DETUDC.Guarantees.Count > 0 Then For Each GUARANTEE In DETUDC.Guarantees Dim SA As New DAKOSY_Worker.cDakosy_NCTSOut_Sicherheitsangaben SA.nctsSA_AbgabenBetrag = GUARANTEE.Amount SA.nctsSA_ArtCode = GUARANTEE.Type SA.nctsSA_BezeichnungBescheinigun = GUARANTEE.Certificate If GUARANTEE.NCTS IsNot Nothing Then SA.nctsSA_GRN = GUARANTEE.NCTS.GuaranteeReferenceNumber SA.nctsSA_TIN = GUARANTEE.NCTS.Identification.ReferenceNumber SA.nctsSA_Zugriffcode = GUARANTEE.NCTS.AccessCode.Code End If NCTS.ncts_SICHERHEITSANGABEN.Add(SA) Next End If '------------------------------------------- End If If DETUDC.ProcedureOwner IsNot Nothing Then If DETUDC.ProcedureOwner.ContactPerson IsNot Nothing Then Dim AnsprechpTMP = DETUDC.ProcedureOwner.ContactPerson.Name If AnsprechpTMP <> "" Then Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN") If SB_Tmp <> "" Then NCTS.ncts_Bearbeiter = SB_Tmp End If End If End If End If frmDYNachrichtenVerarbeitung.tryGetNCTSBasicData(NCTS) 'Versuchen Daten aus der Vorerfassung zu laden - ansonsten werden diese überschrieben! frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(NCTS.ncts_firma, NCTS.ncts_niederlassung, If(AnsprechpTMP_Email, "").ToString, readNCTS_VersandanmeldungXML) If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05 ' If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05 NCTS.ncts_Status_KEWILL_Equivalent = NCTS.ncts_Status If NCTS.SAVE_ALL() Then If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05,,,, statusTMP) Else readNCTS_VersandanmeldungXML = "" End If Try System.IO.File.Delete(p) Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try FORM.addDGVEinarbeitung("NCTS: Versandanmeldung", readNCTS_VersandanmeldungXML) End Using End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_VersandanmeldungXML = "" End Try End Function Shared Function getDatumXMLNothing(dateTmp) As Object If dateTmp IsNot Nothing AndAlso dateTmp.ToString.Trim <> "" AndAlso IsDate(dateTmp) Then Dim datum As Date = CDate(dateTmp).ToShortDateString() If datum > CDate("01.01.2000") Then Return datum End If End If Return Nothing End Function Shared Function readNCTS_Versandanmeldung(FORM As frmDYNachrichtenVerarbeitung, lines() As String) As String Try Dim seeErrLine = 0 Dim bezugsNr = "" Dim cntDurchgangsZst = 0 ' Dim cntRoute = 0 For Each l In lines If l.StartsWith("RFF+ABE:") Then bezugsNr = cEDI.getValueReplaced(l.Replace("RFF+ABE:", "")) Exit For End If Next If bezugsNr = "" Then Return "" Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(bezugsNr, "NCTS") Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id If DY_TMP.dy_AvisoId Is Nothing Then DY_TMP.tryFindAviso() DY_TMP.SAVE() End If ' LOAD bezugsNr NCTS.ncts_VersendungsLandCode = cEDI.getSimpleLine("LOC+35+", lines) NCTS.ncts_BestimmungslandCode = cEDI.getSimpleLine("LOC+36+", lines) NCTS.ncts_SumA_Ladeort = cEDI.getSimpleLine("LOC+5+", lines) NCTS.ncts_SumA_Entladeort = cEDI.getSimpleLine("LOC+11+:::", lines) Try Dim wgdat = cEDI.getSimpleLine("DTM+150:", lines).Replace(":102", "") If wgdat <> "" AndAlso IsNumeric(wgdat) Then Dim oDate = DateTime.ParseExact(wgdat, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture) NCTS.ncts_Wiedergestellungsdatum = oDate.ToShortDateString End If Catch ex As Exception 'sendERRORperMail("---------------- WiedergestellungsDatum Fehler ----------------" & vbNewLine & vbNewLine & ex.Message, ex.StackTrace) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , "WiedergestellungsDatum Fehler") End Try NCTS.ncts_SumA_Entladeort = cEDI.getValueReplaced(cEDI.getSimpleLine("LOC+11+:::", lines)) 'NCTS.anzahlPos = cEDI.getSimpleLine("CNT+5:", lines) NCTS.ncts_GesamtAnzahlPackstuecke = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("CNT+11:", lines)) NCTS.ncts_GesamtRohmasse = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("MEA+WT+AAD+KGM:", lines)) NCTS.ncts_ZugelassenerEmpfaenger_EORI = cEDI.getSimpleLine("NAD+AU+", lines) 'Bef. NCTS.ncts_SumA_BefoerderungskostenZahlungsweise = cEDI.getSimpleLine("GIS+900:::", lines, Nothing) NCTS.ncts_SumA_BesondereUmstaende = cEDI.getSimpleLine("GIS+801:::", lines, Nothing) NCTS.ncts_SumA_KennnummerSendung = cEDI.getSimpleLine("FTX+UCN+++", lines, Nothing) 'VereinfachtesVerfahren If cEDI.getSimpleLine("GIS+1:119", lines, Nothing) IsNot Nothing Then NCTS.ncts_KzVereinfachtesVerfahren = True If cEDI.getSimpleLine("GIS+0:119", lines, Nothing) IsNot Nothing Then NCTS.ncts_KzVereinfachtesVerfahren = False 'SumASicherheit If cEDI.getSimpleLine("GIS+1:110", lines, Nothing) IsNot Nothing Then NCTS.ncts_SumA_KzSumASicherheit = True If cEDI.getSimpleLine("GIS+0:110", lines, Nothing) IsNot Nothing Then NCTS.ncts_SumA_KzSumASicherheit = False 'VERSCHLÜSSE NCTS.ncts_Verschluss_ArtCode = cEDI.getSimpleLine("RFF+SN:", lines) NCTS.ncts_Verschluss_Anzahl = cEDI.isLeerNothingDbl(cEDI.getSimpleLine("CNT+16:", lines)) 'Zeichen Dim Verschluesse As New List(Of String) For Each l In lines If l.StartsWith("SEL+0+:::") Then Verschluesse.Add(cEDI.getValueReplaced(l.Replace("SEL+0+:::", ""))) End If Next NCTS.ncts_Verschluss_Zeichen1 = If(Verschluesse.Count > 0, Verschluesse(0), Nothing) NCTS.ncts_Verschluss_Zeichen2 = If(Verschluesse.Count > 1, Verschluesse(1), Nothing) NCTS.ncts_Verschluss_Zeichen3 = If(Verschluesse.Count > 2, Verschluesse(2), Nothing) NCTS.ncts_Verschluss_Zeichen4 = If(Verschluesse.Count > 3, Verschluesse(3), Nothing) NCTS.ncts_Verschluss_Zeichen5 = If(Verschluesse.Count > 4, Verschluesse(4), Nothing) NCTS.ncts_Verschluss_Zeichen6 = If(Verschluesse.Count > 5, Verschluesse(5), Nothing) NCTS.ncts_Verschluss_Zeichen7 = If(Verschluesse.Count > 6, Verschluesse(6), Nothing) NCTS.ncts_Verschluss_Zeichen8 = If(Verschluesse.Count > 7, Verschluesse(7), Nothing) NCTS.ncts_Verschluss_Zeichen9 = If(Verschluesse.Count > 8, Verschluesse(8), Nothing) NCTS.ncts_Verschluss_Zeichen10 = If(Verschluesse.Count > 9, Verschluesse(9), Nothing) NCTS.ncts_Verschluss_Zeichen11 = If(Verschluesse.Count > 10, Verschluesse(10), Nothing) NCTS.ncts_Verschluss_Zeichen12 = If(Verschluesse.Count > 11, Verschluesse(11), Nothing) NCTS.ncts_Verschluss_Zeichen13 = If(Verschluesse.Count > 12, Verschluesse(12), Nothing) NCTS.ncts_Verschluss_Zeichen14 = If(Verschluesse.Count > 13, Verschluesse(13), Nothing) NCTS.ncts_Verschluss_Zeichen15 = If(Verschluesse.Count > 14, Verschluesse(14), Nothing) NCTS.ncts_Verschluss_Zeichen16 = If(Verschluesse.Count > 15, Verschluesse(15), Nothing) 'BefoerderungsrouteLand Dim Route As New List(Of String) For Each l In lines If l.StartsWith("EQD+CH+:::") Then Route.Add(cEDI.getValueReplaced(l.Replace("EQD+CH+:::", ""))) End If Next NCTS.ncts_SumA_BefoerderungsrouteLand1 = If(Route.Count > 0, Route(0), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand2 = If(Route.Count > 1, Route(1), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand3 = If(Route.Count > 2, Route(2), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand4 = If(Route.Count > 3, Route(3), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand5 = If(Route.Count > 4, Route(4), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand6 = If(Route.Count > 5, Route(5), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand7 = If(Route.Count > 6, Route(6), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand8 = If(Route.Count > 7, Route(7), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand9 = If(Route.Count > 8, Route(8), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand10 = If(Route.Count > 9, Route(9), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand11 = If(Route.Count > 10, Route(10), Nothing) NCTS.ncts_SumA_BefoerderungsrouteLand12 = If(Route.Count > 11, Route(11), Nothing) ' Durchgangszollstelle Dim DurchgangsZst As New List(Of String) For Each l In lines If l.StartsWith("LOC+50+") Then DurchgangsZst.Add(cEDI.getValueReplaced(l.Replace("LOC+50+", ""))) End If Next NCTS.ncts_DurchgangszollstelleDienststellnummer1 = If(DurchgangsZst.Count > 0, DurchgangsZst(0), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer2 = If(DurchgangsZst.Count > 1, DurchgangsZst(1), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer3 = If(DurchgangsZst.Count > 2, DurchgangsZst(2), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer4 = If(DurchgangsZst.Count > 3, DurchgangsZst(3), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer5 = If(DurchgangsZst.Count > 4, DurchgangsZst(4), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer6 = If(DurchgangsZst.Count > 5, DurchgangsZst(5), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer7 = If(DurchgangsZst.Count > 6, DurchgangsZst(6), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer8 = If(DurchgangsZst.Count > 7, DurchgangsZst(7), Nothing) NCTS.ncts_DurchgangszollstelleDienststellnummer9 = If(DurchgangsZst.Count > 8, DurchgangsZst(8), Nothing) ' Ansprechpartner Dim AnsprechpTMP = cEDI.getSimpleLine("CTA+CC+:", lines) If AnsprechpTMP <> "" Then Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN") If SB_Tmp <> "" Then NCTS.ncts_Bearbeiter = SB_Tmp End If End If 'Dim AnsprechpStellungTMP = cEDI.getSimpleLine("RFF+ACD:", lines) Dim cnt = 0 For cnt = 0 To lines.Count - 1 Dim l As String = lines(cnt) 'UNB+UNOC:3+ 'DE1234567:1111+DE001234+051222:0750+123456789ABCDE++TUF++++1' If l.StartsWith("UNB+UNOC:3+") Then Dim split = l.Replace("UNB+UNOC:3+", "").Split("+") If split.Length > 2 Then 'NCTS.ncts_Trans_DatumZeit = split(2) 'Dim split2 = split(2).Split(":") Try Dim dt As DateTime = DateTime.ParseExact(split(2), "yyMMdd:HHmm", CultureInfo.InvariantCulture) NCTS.ncts_Trans_DatumZeit = dt Catch ex As Exception NCTS.ncts_Trans_DatumZeit = Nothing End Try 'If split2.Length > 0 Then NCTS.ncts_Trans_DatumZeit = split2(0) End If If split.Length > 0 Then If split(0).Contains(":") Then Dim sp = split(0).Split(":") NCTS.ncts_NachrichtenSenderTIN = sp(0) NCTS.ncts_NachrichtenSenderNLNR = sp(1) Else NCTS.ncts_NachrichtenSenderTIN = split(0) End If End If If split.Length > 1 Then NCTS.ncts_NachrichtenempfaengerDST = split(1) End If ' If NCTS.ncts_NachrichtenSenderNLNR IsNot Nothing Then 'Select Case NCTS.ncts_NachrichtenSenderTIN ' Case "ATEOS1000000199" ' If NCTS.ncts_NachrichtenSenderNLNR IsNot Nothing Then 'Select Case NCTS.ncts_NachrichtenSenderNLNR ' Case "0001" 'NCTS.ncts_firma = "ATILLA" 'NCTS.ncts_niederlassung = "SUB" ' End Select 'End If ' End Select 'End If End If If l.StartsWith("RFF+ABE:") Then NCTS.ncts_ObjectName = cEDI.getValueReplaced(l.Replace("RFF+ABE:", "")) End If ' Art der Anmeldung If l.StartsWith("BGM+") Then Dim bgm_split1 = l.Replace("BGM+", "").Split("+") If bgm_split1.Length > 0 Then Dim bgm_split = bgm_split1(0).Replace("BGM+", "").Split(":") If bgm_split.Length > 3 Then NCTS.ncts_ArtAnmeldung = bgm_split(3) End If If bgm_split1.Length > 1 Then Dim bgm_split = bgm_split1(0).Replace("BGM+", "").Split(":") If bgm_split.Length > 1 Then If IsNumeric(bgm_split(1)) Then NCTS.ncts_Trans_Version = bgm_split(1) End If End If End If ' AbgangsDienststelle If l.StartsWith("LOC+118+") Then NCTS.ncts_AbgangsDienststellennummer = l.Replace("LOC+118+", "") End If ' AbgangsDienststelle If l.StartsWith("LOC+118+") Then NCTS.ncts_AbgangsDienststellennummer = l.Replace("LOC+118+", "") End If ' Bestimmungsdienststelle If l.StartsWith("LOC+45+") Then NCTS.ncts_BestimmungsstelleDienststellennummer = l.Replace("LOC+45+", "") End If 'NAD+AF+2+ITTR0000000000152:0000 ' Hauptverpflichteter If l.StartsWith("NAD+AF+") Then Dim hpf = l.Replace("NAD+AF+", "") Dim hpf_split = hpf.Split("+") If hpf_split.Length > 1 Then If hpf_split(1).Contains(":") Then Dim hpf_split2 = hpf_split(1).Split(":") NCTS.ncts_Hauptverpflichteter_EORI = hpf_split2(0) NCTS.ncts_Hauptverpflichteter_NLNR = hpf_split2(1) Else NCTS.ncts_Hauptverpflichteter_EORI = hpf_split(1) End If End If If hpf_split.Length > 2 Then NCTS.ncts_Hauptverpflichteter_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35) If hpf_split.Length > 3 Then NCTS.ncts_Hauptverpflichteter_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35) If hpf_split.Length > 4 Then NCTS.ncts_Hauptverpflichteter_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35) If hpf_split.Length > 6 Then NCTS.ncts_Hauptverpflichteter_PLZ = cEDI.getValueReplaced(hpf_split(6)) If hpf_split.Length > 7 Then NCTS.ncts_Hauptverpflichteter_Land = cEDI.getValueReplaced(hpf_split(7)) 'C0008 End If ' Versender If l.StartsWith("NAD+CZ+") Then Dim hpf = l.Replace("NAD+CZ+", "") Dim hpf_split = hpf.Split("+") If hpf_split.Length > 1 Then If hpf_split(1).Contains(":") Then Dim hpf_split2 = hpf_split(1).Split(":") NCTS.ncts_Versender_EORI = hpf_split2(0) NCTS.ncts_Versender_NLNR = hpf_split2(1) Else NCTS.ncts_Versender_EORI = hpf_split(1) End If End If 'MsgBox(hpf_split(7)) If hpf_split.Length > 2 Then NCTS.ncts_Versender_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35) If hpf_split.Length > 3 Then NCTS.ncts_Versender_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35) If hpf_split.Length > 4 Then NCTS.ncts_Versender_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35) If hpf_split.Length > 6 Then NCTS.ncts_Versender_PLZ = cEDI.getValueReplaced(hpf_split(6)) If hpf_split.Length > 7 Then NCTS.ncts_Versender_Land = cEDI.getValueReplaced(hpf_split(7)) End If ' Empfänger If l.StartsWith("NAD+CN+") Then Dim hpf = l.Replace("NAD+CN+", "") Dim hpf_split = hpf.Split("+") If hpf_split.Length > 1 Then If hpf_split(1).Contains(":") Then Dim hpf_split2 = hpf_split(1).Split(":") NCTS.ncts_Empfaenger_EORI = hpf_split2(0) NCTS.ncts_Empfaenger_NLNR = hpf_split2(1) Else NCTS.ncts_Empfaenger_EORI = hpf_split(1) End If End If If hpf_split.Length > 2 Then NCTS.ncts_Empfaenger_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35) If hpf_split.Length > 3 Then NCTS.ncts_Empfaenger_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35) If hpf_split.Length > 4 Then NCTS.ncts_Empfaenger_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35) If hpf_split.Length > 6 Then NCTS.ncts_Empfaenger_PLZ = cEDI.getValueReplaced(hpf_split(6)) If hpf_split.Length > 7 Then NCTS.ncts_Empfaenger_Land = cEDI.getValueReplaced(hpf_split(7)) End If 'NAD+GA+0++EMINOS LOJISTIK ULUSLAR ARASI TASI+B.HAYRETT??N PA??A MAH.1993 SK.PAPATY+ESENYURT/ISTANBUL++34000+TR' ' Beförderer If l.StartsWith("NAD+GA+") Then 'If l.StartsWith(" ") Then Dim hpf = l.Replace("NAD+GA+", "") Dim hpf_split = hpf.Split("+") If hpf_split.Length > 1 Then If hpf_split(1).Contains(":") Then Dim hpf_split2 = hpf_split(1).Split(":") NCTS.ncts_SumA_Befoerderer_EORI = hpf_split2(0) NCTS.ncts_SumA_Befoerderer_NLNR = hpf_split2(1) Else NCTS.ncts_SumA_Befoerderer_EORI = hpf_split(1) End If End If If hpf_split.Length > 2 Then NCTS.ncts_SumA_Befoerderer_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35) If hpf_split.Length > 3 Then NCTS.ncts_SumA_Befoerderer_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35) If hpf_split.Length > 4 Then NCTS.ncts_SumA_Befoerderer_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35) If hpf_split.Length > 6 Then NCTS.ncts_SumA_Befoerderer_PLZ = cEDI.getValueReplaced(hpf_split(6)) If hpf_split.Length > 7 Then NCTS.ncts_SumA_Befoerderer_Land = cEDI.getValueReplaced(hpf_split(7)) End If 'Kennzeichen Abgang If l.StartsWith("TDT+12") Then Dim str = l.Replace("TDT+12", "") If str.Contains("+") Then Dim split = str.Split("+") If split.Length > 7 Then Dim split2 = split(7).Split(":") If split2.Length > 3 Then NCTS.ncts_Befoerderungsmittel_KennzeichenAbgang = cEDI.getValueReplaced(split2(3)) If split2.Length > 4 Then NCTS.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode = split2(4) End If End If End If 'Kennzeichen Grenze If l.StartsWith("TDT+11") Then Dim str = l.Replace("TDT+11", "") If str.Contains("+") Then Dim split = str.Split("+") If split.Length > 2 Then If IsNumeric(split(2)) Then NCTS.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent = cEDI.getValueReplaced(split(2)) End If If split.Length > 3 Then Dim split2 = split(3).Split(":") If split2.Length > 1 AndAlso IsNumeric(split2(1)) Then NCTS.ncts_Befoerderungsmittel_ArtGrenzueberschreitung = split2(1) End If If split.Length > 7 Then Dim split2 = split(7).Split(":") If split2.Length > 3 Then NCTS.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend = cEDI.getValueReplaced(split2(3)) If split2.Length > 4 Then NCTS.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode = split2(4) End If End If End If ' NCTS.ncts_Befoerderungsmittel_KennzeichenAbgang = Split(1) '____________ 'POSITIONEN If l.StartsWith("CST+") Then Dim WP As New DAKOSY_Worker.cDakosy_NCTSOut_Warenposition Dim wp_str = l.Replace("CST+", "") If wp_str.Contains("+") Then Dim wp_split = wp_str.Split("+") If wp_split.Length > 0 Then WP.nctsWP_PositionsNummer = cEDI.isLeerNothingDbl(wp_split(0)) If wp_split.Length > 1 Then WP.nctsWP_Warennummer = cEDI.getValueReplaced(wp_split(1)) If wp_split.Length > 5 Then WP.nctsWP_ArtAnmeldungPositionCode = wp_split(5) End If PosAuslesen(WP, lines, cnt) NCTS.ncts_WARENPOS.Add(WP) 'Hinzufügen End If 'sicherheitsangaben If l.StartsWith("RFF+ABL:") Then Dim SA As New DAKOSY_Worker.cDakosy_NCTSOut_Sicherheitsangaben Dim sa_str = l.Replace("RFF+ABL:", "") If sa_str.Contains(":") Then Dim sa_split = sa_str.Split(":") If sa_split.Length > 0 Then SA.nctsSA_AbgabenBetrag = If(IsNumeric(sa_split(0)), CDbl(sa_split(0).Replace(".", ",")), Nothing) If sa_split.Length > 1 Then SA.nctsSA_ArtCode = sa_split(1) If sa_split.Length > 2 Then SA.nctsSA_BezeichnungBescheinigun = cEDI.getValueReplaced(sa_split(2)) End If If lines.Count > (cnt + 1) Then 'wenn noch eine Zeile existiert If lines(cnt + 1).ToString.StartsWith("PAC") Then 'und diese mit PAC startet Dim pac = lines(cnt + 1).ToString Dim pac_split = pac.Split("+") If pac_split.Length > 2 Then SA.nctsSA_Zugriffcode = cEDI.getValueReplaced(pac_split(2)) If pac_split.Length > 3 AndAlso pac_split(3).Contains(":") Then Dim pac_split2 = pac_split(3).Split(":") If pac_split2.Length > 3 Then SA.nctsSA_Zugriffcode = cEDI.getValueReplaced(pac_split2(3)) End If If pac_split.Length > 4 AndAlso pac_split(4).Contains(":") Then Dim pac_split2 = pac_split(4).Split(":") If pac_split2.Length > 1 Then SA.nctsSA_GRN = pac_split2(1) If pac_split2.Length > 3 Then SA.nctsSA_TIN = pac_split2(3) End If End If End If ' MsgBox(SA.nctsSA_GRN) NCTS.ncts_SICHERHEITSANGABEN.Add(SA) 'Hinzufügen End If Next For Each l In lines If l.StartsWith("COM+") Then frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(NCTS.ncts_firma, NCTS.ncts_niederlassung, l, "") 'If l.Contains("@imex") Then ' NCTS.ncts_firma = "IMEX" ' NCTS.ncts_niederlassung = "IMEX" ' 'GLOBAL--> EORI 'ElseIf l.Contains("@ambar") Then ' NCTS.ncts_firma = "AMBAR" ' NCTS.ncts_niederlassung = "AMBAR" 'ElseIf l.Contains("atilla@verag.ag") Or l.Contains("@atilla") Then ' NCTS.ncts_firma = "ATILLA" ' NCTS.ncts_niederlassung = "SUB" 'ElseIf l.Contains("@durmaz") Then ' NCTS.ncts_firma = "DURMAZ" ' NCTS.ncts_niederlassung = "SBG" ' 'GLOBAL--> EORI 'ElseIf l.Contains("@verag") Then ' NCTS.ncts_firma = "VERAG" ' ' EZA.eza_niederlassung = "IMEX" ' 'GLOBAL--> EORI 'ElseIf l.Contains("@unisped") Then ' NCTS.ncts_firma = "UNISPED" ' NCTS.ncts_niederlassung = "ATSP" 'End If End If Next If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05 If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05 If NCTS.SAVE_ALL("Datei: " & Dateiname) Then If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05) Return bezugsNr End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return "" End Function Shared Function readNCTS_AnkunftsanzeigeXML(doc As XmlDocument) As String Try readNCTS_AnkunftsanzeigeXML = "ANKUNFTSANZEIGE_" & Now.ToString("ddMMyy_HHmmss.sss") Dim sw = New StringWriter() Dim xw = New XmlTextWriter(sw) doc.WriteTo(xw) Dim XmlString = sw.ToString() If XmlString.Contains("") Then Dim xmlDETBAE = XmlString.Substring(XmlString.IndexOf(""), XmlString.IndexOf("") + 9 - XmlString.IndexOf("")) ' MsgBox(xmlDETBAE) Dim p = Path.GetTempFileName Using outputFile As New StreamWriter(p, False, System.Text.Encoding.Default) outputFile.Write(xmlDETBAE) outputFile.Close() Dim DETBAE As DAKOSY_Worker.DETBAE.DETBAE = DAKOSY_Worker.DETBAE.DETBAE.LoadFromFile(p) ' Dim NCTS As New DAKOSY_Worker.cDakosyNCTS 'If DETBAE IsNot Nothing AndAlso DETBAE.Header IsNot Nothing AndAlso DETBAE.Header.LocalReferenceNumber IsNot Nothing AndAlso DETBAE.Header.LocalReferenceNumber <> "" Then ' readNCTS_AnkunftsanzeigeXML = DETBAE.Header.LocalReferenceNumber 'Else ' Return "" 'Keine Bezugsnummer 'End If Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = frmDYNachrichtenVerarbeitung.saveDY_ZA(readNCTS_AnkunftsanzeigeXML, "NCTS") Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(readNCTS_AnkunftsanzeigeXML, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id If DY_TMP.dy_AvisoId Is Nothing Then DY_TMP.tryFindAviso() DY_TMP.SAVE() End If ' LOAD bezugsNr Dim AnsprechpTMP_Email = "" If DETBAE IsNot Nothing Then If DETBAE.AuthorisedConsignee IsNot Nothing And DETBAE.AuthorisedConsignee.ContactPerson IsNot Nothing Then Dim AnsprechpTMP = DETBAE.AuthorisedConsignee.ContactPerson.Name If AnsprechpTMP <> "" Then Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN") If SB_Tmp <> "" Then NCTS.ncts_Bearbeiter = SB_Tmp End If End If If DETBAE.AuthorisedConsignee.ContactPerson.MailAddress IsNot Nothing Then AnsprechpTMP_Email = DETBAE.AuthorisedConsignee.ContactPerson.MailAddress 'If AnsprechpTMP_Email.Contains("@imex") Then ' NCTS.ncts_firma = "IMEX" ' NCTS.ncts_niederlassung = "IMEX" ' 'GLOBAL--> EORI 'ElseIf AnsprechpTMP_Email.Contains("@ambar") Then ' NCTS.ncts_firma = "AMBAR" ' NCTS.ncts_niederlassung = "AMBAR" 'ElseIf AnsprechpTMP_Email.Contains("atilla@verag.ag") Or AnsprechpTMP_Email.Contains("@atilla") Then ' NCTS.ncts_firma = "ATILLA" ' NCTS.ncts_niederlassung = "SUB" 'ElseIf AnsprechpTMP_Email.Contains("@durmaz") Then ' NCTS.ncts_firma = "DURMAZ" ' NCTS.ncts_niederlassung = "SBG" ' 'GLOBAL--> EORI 'ElseIf AnsprechpTMP_Email.Contains("@verag") Then ' NCTS.ncts_firma = "VERAG" ' ' EZA.eza_niederlassung = "IMEX" 'ElseIf AnsprechpTMP_Email.Contains("@unisped") Then ' NCTS.ncts_firma = "UNISPED" ' NCTS.ncts_niederlassung = "ATSP" ' 'GLOBAL--> EORIAnsprechpTMP_Email 'End If End If frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(NCTS.ncts_firma, NCTS.ncts_niederlassung, If(AnsprechpTMP_Email, "").ToString, "") Else 'Return "" 'Keine Bezugsnummer End If End If 'If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05 'If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05 If NCTS.SAVE_ALL("Datei: " & Dateiname) Then If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05) End If End Using End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) Return "" End Try End Function Shared Function readNCTS_Ankunftsanzeige(FORM As frmDYNachrichtenVerarbeitung, lines() As String) As String Try Dim seeErrLine = 0 Dim bezugsNr = "" Dim cntDurchgangsZst = 0 ' Dim cntRoute = 0 For Each l In lines If l.StartsWith("RFF+ABE:") Then bezugsNr = cEDI.getValueReplaced(l.Replace("RFF+ABE:", "")) Exit For End If Next If bezugsNr = "" Then Return "" Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = frmDYNachrichtenVerarbeitung.saveDY_ZA(bezugsNr, "NCTS") Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id If DY_TMP.dy_AvisoId Is Nothing Then DY_TMP.tryFindAviso() DY_TMP.SAVE() End If ' LOAD bezugsNr 'NCTS.ncts_VersendungsLandCode = cEDI.getSimpleLine("LOC+35+", lines) 'NCTS.ncts_BestimmungslandCode = cEDI.getSimpleLine("LOC+36+", lines) 'Try ' Dim wgdat = cEDI.getSimpleLine("DTM+150:", lines).Replace(":102", "") ' If wgdat <> "" AndAlso IsNumeric(wgdat) Then ' Dim oDate = DateTime.ParseExact(wgdat, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture) ' NCTS.ncts_Wiedergestellungsdatum = oDate.ToShortDateString ' End If 'Catch ex As Exception ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , "WiedergestellungsDatum Fehler") 'End Try Dim cnt = 0 For cnt = 0 To lines.Count - 1 Dim l As String = lines(cnt) 'If l.StartsWith("RFF+ABE:") Then ' NCTS.ncts_ObjectName = cEDI.getValueReplaced(l.Replace("RFF+ABE:", "")) 'End If Next 'For Each l In lines ' If l.StartsWith("COM+") Then ' If l.Contains("@imex-group.at") Then ' NCTS.ncts_firma = "IMEX" ' NCTS.ncts_niederlassung = "IMEX" ' 'GLOBAL--> EORI ' ElseIf l.Contains("atilla@verag.ag") Then ' NCTS.ncts_firma = "ATILLA" ' NCTS.ncts_niederlassung = "SUB" ' 'GLOBAL--> EORI ' ElseIf l.Contains("@verag.ag") Then ' NCTS.ncts_firma = "VERAG" ' ' EZA.eza_niederlassung = "IMEX" ' 'GLOBAL--> EORI ' End If ' End If 'Next 'If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05 'If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05 If NCTS.SAVE_ALL("Datei: " & Dateiname) Then If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05) Return bezugsNr End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return "" End Function Shared Function cutLength(s, length) If s.length > 35 Then s = s.Substring(0, length) Return s End Function Shared Sub PosAuslesen(ByVal POS As DAKOSY_Worker.cDakosy_NCTSOut_Warenposition, linesTMP() As String, cnt As Integer) Dim lines = getPOS(cnt, linesTMP) POS.nctsWP_Rohmasse = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("MEA+WT+AAB+KGM:", lines)) POS.nctsWP_Eigenmasse = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("MEA+WT+AAA+KGM:", lines)) Dim vorpapierCnt = 0 For Each l In lines 'POS. = cEDI.getSimpleLine("FTX+UCN+++", lines) FTX+AAA+++ If l.StartsWith("FTX+AAA+++") Then Dim wb = l.Replace("FTX+AAA+++", "") If wb.ToString.Contains(":") Then Dim split = wb.Split(":") If split.Length > 0 Then POS.nctsWP_Warenbezeichnung = cEDI.getValueReplaced(split(0)) If split.Length > 1 Then POS.nctsWP_Warenbezeichnung &= cEDI.getValueReplaced(split(1)) If split.Length > 2 Then POS.nctsWP_Warenbezeichnung &= cEDI.getValueReplaced(split(2)) If split.Length > 3 Then POS.nctsWP_Warenbezeichnung &= cEDI.getValueReplaced(split(3)) Else POS.nctsWP_Warenbezeichnung = cEDI.getValueReplaced(wb) End If 'Damit nicht zu lang: If POS.nctsWP_Warenbezeichnung IsNot Nothing AndAlso POS.nctsWP_Warenbezeichnung.length > 280 Then POS.nctsWP_Warenbezeichnung = POS.nctsWP_Warenbezeichnung.substring(0, 280) End If End If If l.StartsWith("PAC+") Then Dim PST = New DAKOSY_Worker.cDakosy_NCTSOut_WarenpositionPackstuecke() Dim pac = l.Replace("PAC+", "") If pac.ToString.Contains("+") Then Dim split = pac.Split("+") If split.Length > 0 Then PST.nctsWpPk_PackstueckeAnzahl = cEDI.isLeerNothingDblPunktKomma(split(0)) If split.Length > 2 Then PST.nctsWpPk_Verpackungsart &= split(2) Else PST.nctsWpPk_PackstueckeAnzahl = pac End If POS.nctsWP_PACKSTUECKE.Add(PST) End If Next End Sub Shared Function getPOS(cnt, linesTMP()) As String() Dim l As New List(Of String) For i = cnt + 1 To linesTMP.Length - 1 If linesTMP(i).StartsWith("CST+") Then Exit For ' neue POS If linesTMP(i).StartsWith("UNS") Then Exit For ' nächstes Element l.Add(linesTMP(i)) Next Return l.ToArray End Function Shared Function readNCTS_Versandbestaetigung(FORM As frmDYNachrichtenVerarbeitung, d As String) As String Try Dim NCTS As DAKOSY_Worker.VersandbestaetigungNCTSDE.VersandbestaetigungMCTyp = DAKOSY_Worker.VersandbestaetigungNCTSDE.VersandbestaetigungMCTyp.LoadFromFile(d) Dim anr = "" Dim zp As Object = Nothing Dim division = "" readNCTS_Versandbestaetigung = "" If NCTS IsNot Nothing Then If NCTS.Transaktion IsNot Nothing Then If NCTS.Transaktion.IODivision3 IsNot Nothing Then division = NCTS.Transaktion.IODivision3 End If End If If NCTS.EinzelVersandbestaetigung IsNot Nothing Then If NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_Versandbestaetigung = NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung.ObjektName End If zp = NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung.ZeitpunktEingang End If If NCTS.EinzelVersandbestaetigung.KopfDaten IsNot Nothing Then If NCTS.EinzelVersandbestaetigung.KopfDaten.ANR IsNot Nothing Then anr = NCTS.EinzelVersandbestaetigung.KopfDaten.ANR ' MsgBox(anr) End If End If End If End If ' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If readNCTS_Versandbestaetigung <> "" And anr <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_Versandbestaetigung STATUS.dySt_artMitteilung = "VB" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_41 STATUS.dySt_ergCode = "ANR" STATUS.dySt_ergMitteilung = anr STATUS.dySt_ergZeitpunkt = zp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), anr) SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() FORM.addDGVEinarbeitung("NCTS: Versandbestätigung", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_Versandbestaetigung = "" End Try End Function Shared Function saveDY_NCTS(STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, transID As String, transDate As Date, Optional ANR As String = "", Optional MRN As String = "") As DAKOSY_Worker.cDakosyNCTSOut 'EINTRAG IN tblDakosyNCTSOut Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = Nothing NCTS_TMP = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(STATUS.dySt_BezugsNr.ToString, False) If NCTS_TMP Is Nothing Then NCTS_TMP = New DAKOSY_Worker.cDakosyNCTSOut NCTS_TMP.ncts_ObjectName = STATUS.dySt_BezugsNr If NCTS_TMP IsNot Nothing Then NCTS_TMP.ncts_dyaAnmID = DY_TMP.dy_Id If DAKOSY_Worker.cDakosy_Statusmeldungen.isNewestTransaktion(STATUS.dySt_BezugsNr, transID, transDate) Then NCTS_TMP.ncts_Status = DY_TMP.dy_Status 'weil der Status bereit überprüft wurde --> neuste TransaktionsID NCTS_TMP.ncts_Status_KEWILL_Equivalent = DY_TMP.dy_Status 'weil der Status bereit überprüft wurde --> neuste TransaktionsID End If 'NCTS_TMP.ncts_Status_KEWILL_Equivalent = STATUS.dySt_status If ANR <> "" Or MRN <> "" Then If ANR <> "" Then NCTS_TMP.ncts_ANR = ANR If MRN <> "" Then NCTS_TMP.ncts_MRN = MRN End If NCTS_TMP.SAVE() 'Eintragen Else 'Update NCTS_TMP.UPDATE_Status(DY_TMP.dy_Status) 'weil der Status bereit überprüft wurde --> neuste TransaktionsID If ANR <> "" Or MRN <> "" Then If ANR <> "" Then NCTS_TMP.ncts_ANR = ANR : NCTS_TMP.SAVE() If MRN <> "" Then NCTS_TMP.ncts_MRN = MRN : NCTS_TMP.SAVE() End If End If saveDY_NCTS = NCTS_TMP End Function Shared Sub SaveNCTS_FirmaNL(ByRef NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, division As String) If division <> "" Then If (NCTS_TMP.ncts_firma Is Nothing OrElse NCTS_TMP.ncts_firma = "") Or (NCTS_TMP.ncts_niederlassung Is Nothing OrElse NCTS_TMP.ncts_niederlassung = "") Then Select Case division Case "SUW" NCTS_TMP.ncts_firma = "ATILLA" NCTS_TMP.ncts_niederlassung = "SUB" Case "SUB" NCTS_TMP.ncts_firma = "VERAG" NCTS_TMP.ncts_niederlassung = "SUB" Case "DUR" NCTS_TMP.ncts_firma = "ATILLA" NCTS_TMP.ncts_niederlassung = "SBG" Case "NKD" NCTS_TMP.ncts_firma = "VERAG" NCTS_TMP.ncts_niederlassung = "NKD" Case "WAI" NCTS_TMP.ncts_firma = "VERAG" NCTS_TMP.ncts_niederlassung = "WAI" Case "SBG" NCTS_TMP.ncts_firma = "VERAG" NCTS_TMP.ncts_niederlassung = "SBG" Case "IME" NCTS_TMP.ncts_firma = "IMEX" NCTS_TMP.ncts_niederlassung = "SUB" Case "GLO" NCTS_TMP.ncts_firma = "IMEX" NCTS_TMP.ncts_niederlassung = "GLO" Case "AMB" NCTS_TMP.ncts_firma = "AMBAR" NCTS_TMP.ncts_niederlassung = "AMBAR" Case "NEU" NCTS_TMP.ncts_firma = "VERAG" NCTS_TMP.ncts_niederlassung = "NEU" Case "ATSP", "ATSPED" NCTS_TMP.ncts_firma = "UNISPED" NCTS_TMP.ncts_niederlassung = "ATSP" End Select NCTS_TMP.SAVE() End If End If If DY_TMP.dy_AvisoId Is Nothing Then DY_TMP.tryFindAviso() DY_TMP.SAVE() End If End Sub Shared Function readNCTS_StatusmeldungNCTSDE(FORM As frmDYNachrichtenVerarbeitung, d As String) As String Try Dim NCTS As DAKOSY_Worker.StatusmeldungNCTSDE.StatusmeldungMSTyp = DAKOSY_Worker.StatusmeldungNCTSDE.StatusmeldungMSTyp.LoadFromFile(d) Dim MRN = "" Dim division = "" Dim tstmp As Object = Nothing Dim grund As String = "" Dim status_DY As String = "" Dim EntgegennahmeDatumZeit As Object = Nothing Dim EntscheidungAnnahmeDatumZeit As Object = Nothing Dim EntscheidungUeberlassungDatumZeit As Object = Nothing Dim EntscheidungStornierungDatumZeit As Object = Nothing Dim ZeitpunktAnrechnungReferenzbetraege As Object = Nothing readNCTS_StatusmeldungNCTSDE = "" If NCTS IsNot Nothing Then If NCTS.Transaktion IsNot Nothing Then If NCTS.Transaktion.IODivision3 IsNot Nothing Then division = NCTS.Transaktion.IODivision3 End If End If If NCTS.EinzelStatusmeldung IsNot Nothing Then If NCTS.EinzelStatusmeldung.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelStatusmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_StatusmeldungNCTSDE = NCTS.EinzelStatusmeldung.ObjektIdentifizierung.ObjektName End If End If If NCTS.EinzelStatusmeldung.KopfDaten IsNot Nothing Then If NCTS.EinzelStatusmeldung.KopfDaten.MRN IsNot Nothing Then MRN = NCTS.EinzelStatusmeldung.KopfDaten.MRN End If If NCTS.EinzelStatusmeldung.KopfDaten.WeiterverarbeitungAusserhalbATLASDatumZeit > "01.01.2000" Then tstmp = NCTS.EinzelStatusmeldung.KopfDaten.WeiterverarbeitungAusserhalbATLASDatumZeit '00:00:00 End If If NCTS.EinzelStatusmeldung.KopfDaten.EntgegennahmeDatumZeit > "01.01.2000" Then EntgegennahmeDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntgegennahmeDatumZeit '00:00:00 End If If NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungAnnahmeDatumZeit > "01.01.2000" Then EntscheidungAnnahmeDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungAnnahmeDatumZeit '00:00:00 End If If NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungUeberlassungDatumZeit > "01.01.2000" Then EntscheidungUeberlassungDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungUeberlassungDatumZeit '00:00:00 End If If NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungStornierungDatumZeit > "01.01.2000" Then EntscheidungStornierungDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungStornierungDatumZeit '00:00:00 End If If NCTS.EinzelStatusmeldung.KopfDaten.ZeitpunktAnrechnungReferenzbetraege > "01.01.2000" Then ZeitpunktAnrechnungReferenzbetraege = NCTS.EinzelStatusmeldung.KopfDaten.ZeitpunktAnrechnungReferenzbetraege '00:00:00 End If 'tstmp = NCTS.EinzelStatusmeldung.KopfDaten.WeiterverarbeitungAusserhalbATLASDatumZeit '00:00:00 If NCTS.EinzelStatusmeldung.KopfDaten.Grund IsNot Nothing Then grund = NCTS.EinzelStatusmeldung.KopfDaten.Grund status_DY = NCTS.EinzelStatusmeldung.KopfDaten.StatusUeberwachung If NCTS.EinzelStatusmeldung.KopfDaten.Fehlermeldung IsNot Nothing Then For Each F In NCTS.EinzelStatusmeldung.KopfDaten.Fehlermeldung '??? Next End If End If End If End If If readNCTS_StatusmeldungNCTSDE <> "" And MRN <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_StatusmeldungNCTSDE STATUS.dySt_artMitteilung = "STAT" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 Select Case status_DY Case "13", "14", "15", "16", "31", "34", "35", "37", "38" : tstmp = If(EntscheidungAnnahmeDatumZeit, tstmp) Case "15", "31", "34", "35", "37", "38" : tstmp = If(EntscheidungUeberlassungDatumZeit, tstmp) Case "38" : tstmp = If(EntscheidungStornierungDatumZeit, tstmp) Case "34", "35", "37", "38" : tstmp = If(ZeitpunktAnrechnungReferenzbetraege, tstmp) End Select Select Case status_DY Case "13" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_13 Case "14" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_14 Case "16" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_16 Case "31" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_31 Case "38" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_38 Case "39" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_39 Case Else STATUS.dySt_status = -1 'UNBEKANNT ????? End Select STATUS.dySt_ergCode = "DY_" & status_DY STATUS.dySt_ergMitteilung = MRN & grund If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, , "") 'MRN) SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() FORM.addDGVEinarbeitung("NCTS: StatusmeldungNCTSDE", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_StatusmeldungNCTSDE = "" End Try End Function Shared Function readNCTS_Ueberlassungsmeldung(FORM As frmDYNachrichtenVerarbeitung, d As String, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String Try Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp.LoadFromFile(d) Dim MRN = "" Dim division = "" Dim Wiedergestellungsdatum As Object = Nothing ' Dim bearbeiter = "" Dim zp As Object = Nothing readNCTS_Ueberlassungsmeldung = "" If NCTS IsNot Nothing Then If NCTS.Transaktion IsNot Nothing Then If NCTS.Transaktion.IODivision3 IsNot Nothing Then division = NCTS.Transaktion.IODivision3 End If End If If NCTS.EinzelUeberlassungsmeldung IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_Ueberlassungsmeldung = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName End If If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang > "01.01.2000" Then zp = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang End If End If If NCTS.EinzelUeberlassungsmeldung.KopfDaten IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN IsNot Nothing Then MRN = NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN End If Wiedergestellungsdatum = NCTS.EinzelUeberlassungsmeldung.KopfDaten.Wiedergestellungsdatum ' bearbeiter=NCTS.EinzelUeberlassungsmeldung.KopfDaten. End If End If End If ' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If readNCTS_Ueberlassungsmeldung <> "" And MRN <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung STATUS.dySt_artMitteilung = "UEM" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50 STATUS.dySt_ergCode = "MRN" STATUS.dySt_ergMitteilung = MRN STATUS.dySt_ergZeitpunkt = zp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN) SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division) SaveNCTS_WGDAT(NCTS_TMP, Wiedergestellungsdatum) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() statusTMP = STATUS ' BEREITSTELLUNG DER DATEN AN FREMDSYSTEME cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP) NCTS_TMP.insertIntoSpedBuch(DY_TMP) FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_Ueberlassungsmeldung = "" End Try End Function Shared Function readNCTS_UngueltigkeitSicherheitenNCTSDE(FORM As frmDYNachrichtenVerarbeitung, d As String) As String Try Dim NCTS As DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE.UngueltigkeitSicherheitenMITyp = DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE.UngueltigkeitSicherheitenMITyp.LoadFromFile(d) Dim ANR = "" Dim tstmp As Object = Nothing Dim grund As String = "" Dim sicherheit As String = "" readNCTS_UngueltigkeitSicherheitenNCTSDE = "" If NCTS IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_UngueltigkeitSicherheitenNCTSDE = NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName End If End If If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer IsNot Nothing Then ANR = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer End If If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit > "01.01.2000" Then tstmp = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit End If grund = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Grund If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit IsNot Nothing Then For Each s In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit If s.GRN IsNot Nothing Then sicherheit &= s.GRN & " " End If Next End If If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung IsNot Nothing Then For Each F In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung '??? Next End If End If End If End If sicherheit = sicherheit.Trim If readNCTS_UngueltigkeitSicherheitenNCTSDE <> "" And ANR <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_UngueltigkeitSicherheitenNCTSDE STATUS.dySt_artMitteilung = "UNG" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_15 STATUS.dySt_ergCode = "UN" STATUS.dySt_ergMitteilung = grund If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), ANR) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() FORM.addDGVEinarbeitung("NCTS: UngueltigkeitSicherheitenNCTSDE", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_UngueltigkeitSicherheitenNCTSDE = "" End Try End Function Shared Function readNCTS_UngueltigkeitSicherheitenNCTSDE003(FORM As frmDYNachrichtenVerarbeitung, d As String) As String Try Dim NCTS As DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE_003.UngueltigkeitSicherheitenMITyp = DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE_003.UngueltigkeitSicherheitenMITyp.LoadFromFile(d) Dim ANR = "" Dim tstmp As Object = Nothing Dim grund As String = "" Dim sicherheit As String = "" readNCTS_UngueltigkeitSicherheitenNCTSDE003 = "" If NCTS IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_UngueltigkeitSicherheitenNCTSDE003 = NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName End If End If If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten IsNot Nothing Then If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer IsNot Nothing Then ANR = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer End If If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit > "01.01.2000" Then tstmp = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit End If grund = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Grund If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit IsNot Nothing Then For Each s In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit If s.GRN IsNot Nothing Then sicherheit &= s.GRN & " " End If Next End If If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung IsNot Nothing Then For Each F In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung '??? Next End If End If End If End If sicherheit = sicherheit.Trim If readNCTS_UngueltigkeitSicherheitenNCTSDE003 <> "" And ANR <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_UngueltigkeitSicherheitenNCTSDE003 STATUS.dySt_artMitteilung = "UNG" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_15 STATUS.dySt_ergCode = "UN" STATUS.dySt_ergMitteilung = grund If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), ANR) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() FORM.addDGVEinarbeitung("NCTS: UngueltigkeitSicherheitenNCTSDE_003", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_UngueltigkeitSicherheitenNCTSDE003 = "" End Try End Function Shared Function readNCTS_Erledigungsmeldung(FORM As frmDYNachrichtenVerarbeitung, d As String) As String Try Dim NCTS As DAKOSY_Worker.ErledigungsmeldungNCTSDE.ErledigungsmeldungMOTyp = DAKOSY_Worker.ErledigungsmeldungNCTSDE.ErledigungsmeldungMOTyp.LoadFromFile(d) Dim MRN = "" Dim tstmp As Object = Nothing readNCTS_Erledigungsmeldung = "" If NCTS IsNot Nothing Then If NCTS.EinzelErledigungsmeldung IsNot Nothing Then If NCTS.EinzelErledigungsmeldung.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelErledigungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_Erledigungsmeldung = NCTS.EinzelErledigungsmeldung.ObjektIdentifizierung.ObjektName End If End If If NCTS.EinzelErledigungsmeldung.KopfDaten IsNot Nothing Then If NCTS.EinzelErledigungsmeldung.KopfDaten.MRN IsNot Nothing Then MRN = NCTS.EinzelErledigungsmeldung.KopfDaten.MRN End If If NCTS.EinzelErledigungsmeldung.KopfDaten.ZeitpunktErledigung > "01.01.2000" Then tstmp = NCTS.EinzelErledigungsmeldung.KopfDaten.ZeitpunktErledigung End If End If End If End If If readNCTS_Erledigungsmeldung <> "" And MRN <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_Erledigungsmeldung STATUS.dySt_artMitteilung = "EM" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60 STATUS.dySt_ergCode = "TSTMP" STATUS.dySt_ergMitteilung = "" If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), , MRN) 'Gestellung eintragen, falls nochnicht geschehen If Not NCTS_TMP.ncts_Gestellt Then NCTS_TMP.ncts_Gestellt = True NCTS_TMP.SAVE() End If If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() ' BEREITSTELLUNG DER DATEN AN FREMDSYSTEME cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP) FORM.addDGVEinarbeitung("NCTS: Erledigungsmeldung", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_Erledigungsmeldung = "" End Try End Function Shared Function readNCTS_Ueberlassungsmeldung005(FORM As frmDYNachrichtenVerarbeitung, d As String, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String Try ' Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp.LoadFromFile(d) Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE_005.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE_005.UeberlassungsmeldungMRTyp.LoadFromFile(d) Dim MRN = "" Dim division = "" Dim Wiedergestellungsdatum As Object = Nothing ' Dim bearbeiter = "" Dim zp As Object = Nothing readNCTS_Ueberlassungsmeldung005 = "" If NCTS IsNot Nothing Then If NCTS.Transaktion IsNot Nothing Then If NCTS.Transaktion.IODivision3 IsNot Nothing Then division = NCTS.Transaktion.IODivision3 End If End If If NCTS.EinzelUeberlassungsmeldung IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_Ueberlassungsmeldung005 = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName End If If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang > "01.01.2000" Then zp = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang End If End If If NCTS.EinzelUeberlassungsmeldung.KopfDaten IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN IsNot Nothing Then MRN = NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN End If Wiedergestellungsdatum = NCTS.EinzelUeberlassungsmeldung.KopfDaten.Wiedergestellungsdatum ' bearbeiter=NCTS.EinzelUeberlassungsmeldung.KopfDaten. End If End If End If ' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If readNCTS_Ueberlassungsmeldung005 <> "" And MRN <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung005 STATUS.dySt_artMitteilung = "UEM" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50 STATUS.dySt_ergCode = "MRN" STATUS.dySt_ergMitteilung = MRN STATUS.dySt_ergZeitpunkt = zp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN) SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division) SaveNCTS_WGDAT(NCTS_TMP, Wiedergestellungsdatum) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() statusTMP = STATUS cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP) ' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then NCTS_TMP.insertIntoSpedBuch(DY_TMP) FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_Ueberlassungsmeldung005 = "" End Try End Function Shared Function readNCTS_Ueberlassungsmeldung006(FORM As frmDYNachrichtenVerarbeitung, d As String, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String Try ' Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp.LoadFromFile(d) Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE_006.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE_006.UeberlassungsmeldungMRTyp.LoadFromFile(d) Dim MRN = "" Dim division = "" Dim Wiedergestellungsdatum As Object = Nothing ' Dim bearbeiter = "" Dim zp As Object = Nothing readNCTS_Ueberlassungsmeldung006 = "" If NCTS IsNot Nothing Then If NCTS.Transaktion IsNot Nothing Then If NCTS.Transaktion.IODivision3 IsNot Nothing Then division = NCTS.Transaktion.IODivision3 End If End If If NCTS.EinzelUeberlassungsmeldung IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_Ueberlassungsmeldung006 = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName End If If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang > "01.01.2000" Then zp = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang End If End If If NCTS.EinzelUeberlassungsmeldung.KopfDaten IsNot Nothing Then If NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN IsNot Nothing Then MRN = NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN End If Wiedergestellungsdatum = NCTS.EinzelUeberlassungsmeldung.KopfDaten.Wiedergestellungsdatum ' bearbeiter=NCTS.EinzelUeberlassungsmeldung.KopfDaten. End If End If End If ' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If readNCTS_Ueberlassungsmeldung006 <> "" And MRN <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung006 STATUS.dySt_artMitteilung = "UEM" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50 STATUS.dySt_ergCode = "MRN" STATUS.dySt_ergMitteilung = MRN STATUS.dySt_ergZeitpunkt = zp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN) SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division) SaveNCTS_WGDAT(NCTS_TMP, Wiedergestellungsdatum) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() statusTMP = STATUS cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP) ' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then NCTS_TMP.insertIntoSpedBuch(DY_TMP) FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_Ueberlassungsmeldung006 = "" End Try End Function Shared Sub SaveNCTS_WGDAT(ByRef NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut, WGDAT As Object) If WGDAT IsNot Nothing AndAlso IsDate(WGDAT) Then NCTS_TMP.ncts_Wiedergestellungsdatum = CDate(WGDAT) NCTS_TMP.SAVE() End If End Sub Shared Function readNCTS_AnrechnungReferenzbetraege(FORM As frmDYNachrichtenVerarbeitung, d As String) As String Try Dim NCTS As DAKOSY_Worker.AnrechnungReferenzbetraegeNCTSDE.AnrechnungReferenzbetraegeMATyp = DAKOSY_Worker.AnrechnungReferenzbetraegeNCTSDE.AnrechnungReferenzbetraegeMATyp.LoadFromFile(d) Dim MRN = "" Dim tstmp As Object = Nothing Dim division = "" readNCTS_AnrechnungReferenzbetraege = "" If NCTS IsNot Nothing Then If NCTS.Transaktion IsNot Nothing Then If NCTS.Transaktion.IODivision3 IsNot Nothing Then division = NCTS.Transaktion.IODivision3 End If End If If NCTS.EinzelAnrechnungReferenzbetraege IsNot Nothing Then If NCTS.EinzelAnrechnungReferenzbetraege.ObjektIdentifizierung IsNot Nothing Then If NCTS.EinzelAnrechnungReferenzbetraege.ObjektIdentifizierung.ObjektName IsNot Nothing Then readNCTS_AnrechnungReferenzbetraege = NCTS.EinzelAnrechnungReferenzbetraege.ObjektIdentifizierung.ObjektName End If End If If NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten IsNot Nothing Then If NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.MRN IsNot Nothing Then MRN = NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.MRN If NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.ZeitpunktAnrechnungReferenzbetraege > "01.01.2000" Then tstmp = NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.ZeitpunktAnrechnungReferenzbetraege End If End If End If End If End If ' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. If readNCTS_AnrechnungReferenzbetraege <> "" And MRN <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readNCTS_AnrechnungReferenzbetraege STATUS.dySt_artMitteilung = "AR" STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_53 STATUS.dySt_ergCode = "TSTMP" STATUS.dySt_ergMitteilung = MRN ' STATUS.dySt_ergMitteilung = "" If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp 'EINTRAG IN tblDakosy_Zollanmeldungen Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS") Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), , MRN) SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division) 'Gestellung eintragen NCTS_TMP.ncts_Gestellt = True NCTS_TMP.ncts_GestelltAm = tstmp NCTS_TMP.SAVE() If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() FORM.addDGVEinarbeitung("NCTS: AnrechnungReferenzbetäege", STATUS.dySt_BezugsNr) End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) readNCTS_AnrechnungReferenzbetraege = "" End Try End Function End Class