NowTableService-Klasse – iOS

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 72 Minuten Lesedauer
  • Die Klasse NowTableService bietet Funktionen zum Ausführen von Erstellungs-, Lese-, Aktualisierungs- und Löschvorgängen für Datensätze vorhandener Tabellen ServiceNow.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    konfigurieren NowServiceKonfiguration Konfigurationseinstellungen, die bei der Initialisierung des Service bereitgestellt wurden.

    NowTableService – erstellen<Model: SysIdentifiableModel> (_ model: Model, in tableName: String, coder: Coder, writeOptions: FieldWriteOptions, Konfiguration: FetchConfiguration) asynchrone Würfe

    Fügt das angegebene codierbare Modell in die angegebene Tabelle ein.

    Um einen neuen Datensatz nach Modell zu erstellen, muss das Modell dem SysIdentifiableModel -Protokoll entsprechen. Jede Tabelle hat normalerweise ein eigenes Modell.

    Der Parameter sys_Id des Modells wird während der Erstellung ignoriert, da sysId von der Plattform ServiceNow generiert wird. Das von der Plattform ServiceNow generierte sys_Id Ergebnis wird im Ergebnismodell des Handlers completion zurückgegeben.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Modell SysIdentifiableModel Modelldefinition der Felder, die in die Tabelle eingefügt werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 3. Rückgaben
    Typ Beschreibung
    Modell Wird zurückgegeben, wenn die Methode erfolgreich ist. Codierbares Modell, das in die angegebene Tabelle eingefügt wurde, einschließlich sys_Id. Verwenden Sie diese sys_id, um in zukünftigen Methodenaufrufen auf diesen Datensatz zu verweisen.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    struct User: SysIdentifiableModel {
        var sysId: String = ""
        var name: String
    }
    
    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    do {
        let result = try await service.create(user, in: “sys_user”)
    } catch {
        ...
    }

    NowTableService – erstellen<Model: SysIdentifiableModel> (_ Modell: Modell, in tableName: Zeichenfolge, Coder: Coder, writeOptions: FieldWriteOptions, Konfiguration: FetchConfiguration, Abschluss: @escaping (Ergebnis<Model, NowDataError> ))

    Fügt das angegebene codierbare Modell in die angegebene Tabelle ein und führt dann den Handler completion aus.

    Um einen neuen Datensatz nach Modell zu erstellen, muss das Modell dem SysIdentifiableModel -Protokoll entsprechen. Jede Tabelle hat normalerweise ein eigenes Modell. Zum Beispiel:
    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }
    
    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
      switch result {
      case .success(let newUser):
        /// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
      case .failure(let error):
          ...
      }
    }

    Der Parameter sys_Id des Modells wird während der Erstellung ignoriert, da sysId von der Plattform ServiceNow generiert wird. Das von der Plattform ServiceNow generierte sys_Id Ergebnis wird im Ergebnismodell des Handlers completion zurückgegeben.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Modell SysIdentifiableModel Modelldefinition der Felder, die in die Tabelle eingefügt werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Abschluss @escaping (Ergebnis<Model, NowDataError> ) Abschluss-Handler, der nach dem Erstellen der angegebenen decodierbaren Modelle ausgeführt werden soll.
    Rückgabewerte für den Abschluss-Handler:
    • Erfolg: Modell: Daten für den erstellten Modelltyp.
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Keine

    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }
    
    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
      switch result {
      case .success(let newUser):
        /// 'newUser' contains the platform assigned 'sys_id' to use in subsequent update or delete calls.
      case .failure(let error):
       ...
      }
    }

    NowTableService – erstellen<Model: SysIdentifiableModel> (Modell: Modell, in tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, writeOptions: FieldWriteOptions? = Null, Konfiguration: FetchConfiguration = Null)

    Fügt ein codierbares Modell in die angegebene Tabelle ein.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Um einen neuen Datensatz nach Modell zu erstellen, muss das Modell dem SysIdentifiableModel -Protokoll entsprechen. Jede Tabelle hat normalerweise ein eigenes Modell. Zum Beispiel:
    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }
    
    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
      switch result {
      case .success(let newUser):
        /// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
      case .failure(let error):
          ...
      }
    }
    Hinweis:
    Der Parameter sys_Id des Modells wird während der Erstellung ignoriert. sysId wird von der Plattform ServiceNow zugewiesen. Die von der Plattform ServiceNow generierte Tabelle sys_Id wird im Rückrufmodell „receValue“ des Herausgebers zurückgegeben.
    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Modell SysIdentifiableModel SysIdentifiableModel -Modell, das in die Tabelle eingefügt werden soll.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    path Zeichenfolge Optional. Durch Punkte getrennter Pfad für den geschachtelten Typ. Zum Beispiel „result“ oder „foo.bar.baz“ für eine tiefere Verschachtelung.

    Standard: Konstanten.Ergebnispfad

    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Beliebiger Herausgeber<Model,NowDataError> Erfolg: Codierbares Modell, das in die angegebene Tabelle eingefügt wurde, einschließlich sys_Id. Verwenden Sie diese sys_id, um in zukünftigen Methodenaufrufen auf diesen Datensatz zu verweisen.

    Fehler: NowDataError

    @escaping (Ergebnis<Model, NowDataError> )

    Zeigt, wie ein einzelner Datensatz in die Tabelle „Benutzer“ [sys_user] eingefügt wird.

    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }
    
    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    let publisher: AnyPublisher<User, NowDataError> = service.create(user, in: "sys_user")
    publisher
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { [weak self] completion in
        ...
      } receiveValue: { [weak self] newUser in
          /// 'newUser' contains the ServiceNow platform assigned 'sys_id' to use in subsequent update and delete calls.
         ...
      }
      .store(in: &subscriptions)

    NowTableService – createRecord(mit Feldern: [FieldName: FieldValue], in tableName: String, writeOptions: FieldWriteOptions? = nil, Configuration: FieldReadConfiguration? = nil) asynchrone Würfe

    Fügt einen Datensatz in die angegebene Tabelle ein, die die angegebenen Felder enthält.

    Die Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Hinweis:
    Möglicherweise sind nicht alle Felder in einem Datensatz für die Aktualisierung verfügbar. Beispielsweise sind Felder mit dem Präfix sys_ normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.
    Tabelle : 8. Parameter
    Name Typ Beschreibung
    mit Feldern [Feldname: FieldValue] Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 9. Ausgabe
    Typ Beschreibung
    Daten Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt, das den neuen Datensatz enthält.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.

    do {
        let dataResult: Data = try await tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: configuration)
        let recordResult: NowRecord = dataResult.convertToRecord()
    } catch {
        print("Record creation failed with NowDataError: \(error)")
    }

    NowTableService - createRecord(mit Feldern: [FieldName: FieldValue], in tableName: String, writeOptions: FieldWriteOptions, Konfiguration: FieldReadConfiguration, Abschluss: @escaping (Ergebnis<Data, NowDataError> )

    Fügt den angegebenen Datensatz in die angegebene Tabelle ein und führt dann den Handler completion aus, nachdem der Datensatz gespeichert wurde.

    Bei Bedarf können Sie die zurückgegebenen Ergebnisse in ein anwenderdefiniertes codierbares Modell decodieren oder stattdessen die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Hinweis:
    Möglicherweise sind nicht alle Felder in einem Datensatz für die Aktualisierung verfügbar. Beispielsweise sind Felder mit dem Präfix sys_ normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.
    Tabelle : 10. Parameter
    Name Typ Beschreibung
    mit Feldern [Feldname: FieldValue] Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren FieldReadConfiguration Optional. Konfigurationsoptionen, die angeben, welche Felder zurückgegeben und was in die Felder aufgenommen werden soll.

    Standard: null

    Abschluss @escaping (Ergebnis<Data, NowDataError> ) Abschluss-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll.
    Rückgabewerte:
    • Erfolg: Daten – angeforderte Datensätze
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 11. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    let fields = ["short_description" : "test description"]
    let writeOptions: FieldWriteOptions = [.suppressAutoSysField, .treatInputValuesAsDisplayValues]
    let readConfiguration = FieldReadConfiguration(includeFields: ["number", "short_description"])
    
    tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: readConfiguration) { [weak self] result in
      switch result {
        case .success(let dataResult):
          let recordResult: NowRecord = dataResult.convertToRecord()
        case .failure(let error):
           print("Record creation failed with NowDataError: \(error)")
      }
    }

    NowTableService – createRecord(mit Feldern: [FieldName: FieldValue], in tableName: String, writeOptions: FieldWriteOptions? = nil, Konfiguration: FieldReadConfiguration? = nil)

    Fügt einen Datensatz in die angegebene Tabelle ein, die die angegebenen Felder enthält.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Die Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Hinweis:
    Möglicherweise sind nicht alle Felder in einem Datensatz für die Aktualisierung verfügbar. Beispielsweise sind Felder mit dem Präfix sys_ normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.
    Tabelle : 12. Parameter
    Name Typ Beschreibung
    mit Feldern [Feldname: FieldValue] Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 13. Ausgabe
    Typ Beschreibung
    Beliebiger Herausgeber<Data, NowDataError> Erfolg: Datenobjekt, das den aktualisierten Datensatz enthält.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    In diesem Beispiel wird gezeigt, wie Sie eine Funktion erstellen, die einen Datensatz in die angegebene Tabelle mit den angegebenen Feldern einfügt. Die Ausgabe des Aufrufs ist ein ByteArray, mit dem Sie die Daten in ein beliebiges Modell konvertieren können.

    tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: readConfiguration)
        .subscribe(on: DispatchQueue.global())
        .receive(on: DispatchQueue.main)
        .convertToRecord()
        .sink { completion in
            if case let .failure(error) = completion {
                print("Record creation failed with NowDataError: \(error)")
            }
        } receiveValue: { record in
            print("Created NowRecord: \(record)")
        }
        .store(in: &subscriptions)

    NowTableService: delete(_ model: Model, from tableName: String) asynchrone Auslösungen

    Löscht das angegebene codierbare Modell aus der angegebenen Tabelle.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Modell Modell SysIdentifiableModel, das aus der Tabelle gelöscht werden soll. Sie sollte die sys_id des zu löschenden Datensatzes enthalten.
    von tableName Zeichenfolge Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident.
    Tabelle : 15. Ausgabe
    Typ Beschreibung
    Keine Wenn die Methode erfolgreich ist, wird nichts zurückgegeben.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.

    do { 
        try await tableService.delete(model, from: tableName)
        print("Deletion successful.")
    } catch {
        print("Deletion failed with NowDataError: \(error)")
    }

    NowTableService - delete(_ model: Model, from tableName: Zeichenfolge, Abschluss: @escaping (Ergebnis<Void, NowDataError> ))

    Löscht das angegebene codierbare Modell aus der angegebenen Tabelle und führt dann den entsprechenden completion -Handler aus.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Modell Modell SysIdentifiableModel, das aus der Tabelle gelöscht werden soll. Sie sollte die sys_id des zu löschenden Datensatzes enthalten.
    von tableName Zeichenfolge Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident.
    Abschluss @escaping (Ergebnis<Void, NowDataError> ) Abschluss-Handler, der nach dem Löschen der angegebenen codierbaren Modelle ausgeführt werden soll.
    Rückgabewerte:
    • Erfolg: Keine Rückgabe
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 17. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    tableService.delete(Incident(sysId: sysId), from: tableName) { [weak self] result in
      switch result {
        case .success:
          // Delete successfully
        case .failure(let error):
          // Failed to delete with NowDataError
      }
    }

    NowTableService - delete(_ model: Model, from tableName: Zeichenfolge)

    Löscht das angegebene codierbare Modell aus der angegebenen Tabelle.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Modell Modell SysIdentifiableModel, das aus der Tabelle gelöscht werden soll. Sie sollte die sys_id des zu löschenden Datensatzes enthalten.
    von tableName Zeichenfolge Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident.
    Tabelle : 19. Ausgabe
    Typ Beschreibung
    Beliebiger Herausgeber<Void, NowDataError> Erfolg: Keine Rückgabe

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    tableService.delete(Incident(sysId: sysId), from: tableName)
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { [weak self] completion in
        switch completion {
          case .finished:
            // Delete successfully
          case .failure(let error):
            // Failed to delete with NowDataError
        }
      } receiveValue: { _ in
      }
      .store(in: &subscriptions)
    

    NowTableService: asynchrone Ausnahmen für „deleteRecord(sysId: SysID, from tableName: String)“.

    Löscht den angegebenen Datensatz aus der angegebenen Tabelle.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des zu löschenden Datensatzes.
    von tableName Zeichenfolge Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident.
    Tabelle : 21. Ausgabe
    Typ Beschreibung
    Keine Wenn die Methode erfolgreich ist, wird nichts zurückgegeben.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.

    do {
        try await tableService.deleteRecord(sysId: sysId, from: tableName)
        print("Deletion successful.")
    } catch {
        print("Deletion failed with NowDataError: \(error)")
    }

    NowTableService - deleteRecord(sysId: SysID, von tableName: Zeichenfolge, Abschluss: @escaping (Ergebnis<Void, NowDataError> ))

    Löscht den angegebenen Datensatz aus der angegebenen Tabelle und führt dann das Objekt completion aus, nachdem der Datensatz gelöscht wurde.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des zu löschenden Datensatzes.
    von tableName Zeichenfolge Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident.
    Abschluss @escaping (Ergebnis<Void, NowDataError> ) Erfolg: Es wird nichts zurückgegeben.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 23. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    tableService.deleteRecord(sysId: sysId, from: tableName) { [weak self] result in
      switch result {
        case .success:
          // Delete successfully
        case .failure(let error):
          // Failed to delete with NowDataError
      }
    }

    NowTableService – deleteRecord(sysId: SysID, von tableName: Zeichenfolge)

    Löscht den angegebenen Datensatz aus der angegebenen Tabelle.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Tabelle : 24. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des zu löschenden Datensatzes.
    von tableName Zeichenfolge Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident.
    Tabelle : 25. Ausgabe
    Typ Beschreibung
    Beliebiger Herausgeber<Void, NowDataError> Erfolg: Keine Rückgabe

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    In diesem Beispiel wird gezeigt, wie Sie eine Funktion erstellen, die einen Datensatz in einer angegebenen Tabelle löscht.

    tableService.deleteRecord(sysId: sysId, from: tableName) 
        .subscribe(on: DispatchQueue.global())
        .receive(on: DispatchQueue.main)
        .sink { completion in
            switch completion {
            case .finished:
                print("Record deleted.")
            case .failure(let error):
                print("Deletion failed with NowDataError: \(error)")
            }
        } receiveValue: { _ in }
        .store(in: &subscriptions)

    NowServiceTable – init(configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProvider? = nil)

    Erstellt ein NowTableService-Objekt.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    konfigurieren NowServiceKonfiguration Konfigurationsparameter, die beim Erstellen des Service verwendet werden sollen.
    coreServiceProvider NowCoreServicebereitstellung Optional. Service Provider, der dem NowTableService zugeordnet werden soll.

    Standard: null

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    guard let coreService = NowSDK.core() else {
      // Error with NowServiceError.sdkNotConfigured
      return
    }
    
    guard 
      let instanceUrl = URL(string: "http://sample.service-now.com") , 
      let serviceConfig = NowSDK.makeServiceConfiguration(for: instanceUrl) else {
        // Could not create service – 
        // NowServiceError.serviceConfigurationInvalid
        return
      }
    let tableService = NowTableService (configuration: serviceConfig, coreServiceProvider: coreService)

    NowTableService – Modell<Model: Decodable> (mit sysId: SysID? = nil, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = nil) asynchrone Würfe

    Aktiviert den Abruf von decodierbaren Modellen aus einer angegebenen Tabelle.

    Die Antwortender Tabellen -API sind in einem Parameter result ähnlich dem folgenden geschachtelt:
    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }
    Verwenden Sie für große Ergebnismengen eine der Paginatorfunktionen NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil) oder NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null), um paginierte Modelle abzurufen.
    Tabelle : 27. Parameter
    Name Typ Beschreibung
    mit sysId Sys-ID Optional. Sys_id des zurückzugebenden Datensatzes. Geben Sie die sys_id an, wenn Sie einen bestimmten Datensatz abrufen möchten.

    Standard: null

    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    path Zeichenfolge Durch Punkte getrennter Pfad für den geschachtelten Typ. Zum Beispiel „result“ oder „foo.bar.baz“ für eine tiefere Verschachtelung.

    Standard: Ergebnis

    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 28. Rückgaben
    Typ Beschreibung
    Modell Wird zurückgegeben, wenn die Methode erfolgreich ist. Decodierbare(s) Modell(e).
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    struct User: Codable { 
        var name: String
    } 
    
    let service: NowTableService = ... 
    do {
        let result = try await service.model([User].self, from: "sys_user", path: "result")
        print("Fetched \(users.count) users")
    } catch {
        dump(error) 
    }

    Das folgende Codebeispiel zeigt, wie ein einzelnes decodierbares Modell nach sys_id abgerufen wird. Verwenden Sie einen einzelnen Modelltyp, z. B. User.self, anstelle von [User].self.

    let result = try await service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result") 

    NowTableService – Modell<Model: Decodable> (_ Typ: Modell.Typ, mit sysId: SysID? = null, aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null, Abschluss: @escaping (Ergebnis<Model, NowDataError> ))

    Ruft decodierbare Modelle aus einer angegebenen Tabelle ab.

    Die Antwortender Tabellen -API sind in einem Parameter result ähnlich dem folgenden geschachtelt:
    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }

    Verwenden Sie diese Funktion, um decodierbare Modelle anstelle einer geschachtelten Ausgabe zu erhalten.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    Typ Modell.Typ Typ des zu decodierenden Werts.
    mit sysId Zeichenfolge Optional. Sys_id des zurückzugebenden Datensatzes.

    Standard: Alle Datensätze, die gemäß den configuration -Einstellungen zurückgegeben werden.

    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    path Zeichenfolge Optional. Durch Punkte getrennter Pfad für den geschachtelten Typ. Zum Beispiel „result“ oder „foo.bar.baz“ für eine tiefere Verschachtelung.

    Standard: Konstanten.Ergebnispfad

    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.

    Standard: .default

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Abschluss@escaping (Ergebnis<Model, NowDataError> )Abschluss-Handler, der nach dem Abrufen der angegebenen decodierbaren Modelle ausgeführt werden soll.
    Rückgabewerte für den Abschluss-Handler:
    • Erfolg: Daten für den angeforderten Modelltyp.
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 30. Rückgaben
    Typ Beschreibung
    Keine

    Ruft eine Sammlung decodierter User -Modelle ab.

    struct User: SysIdentifiableModel {
        var sysId: String = ""
        var name: String
    }
    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
      switch result {
      case .success(let newUser):
        /// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
      case .failure(let error):
       ...
     }
    }

    Um ein einzelnes decodierbares Modell nach sys_id abzurufen, verwenden Sie einen einzelnen Modelltyp, z. B. User.self, Anstatt [User].self.

    service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result") { resultin ... }

    NowTableService – Modell<Model: Decodable> (mit sysId: SysID? = nil, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = nil)

    Erstellt einen Herausgeber, der den Abruf von decodierbaren Modellen aus einer angegebenen Tabelle ermöglicht.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Die Antwortender Tabellen -API sind in einem Parameter result ähnlich dem folgenden geschachtelt:
    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }
    Verwenden Sie für große Ergebnismengen eine der Paginatorfunktionen NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil) oder NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null), um paginierte Modelle abzurufen.
    Tabelle : 31. Parameter
    Name Typ Beschreibung
    mit sysId Sys-ID Optional. Sys_id des zurückzugebenden Datensatzes. Geben Sie die sys_id an, wenn Sie einen bestimmten Datensatz abrufen möchten.

    Standard: null

    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    path Zeichenfolge Durch Punkte getrennter Pfad für den geschachtelten Typ. Zum Beispiel „result“ oder „foo.bar.baz“ für eine tiefere Verschachtelung.

    Standard: Ergebnis

    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 32. Rückgaben
    Typ Beschreibung
    Beliebiger Herausgeber<Model, NowDataError> Erfolg: Herausgeber hat decodierbare Modelle zurückgegeben.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Um einen Herausgeber zu erhalten, der decodierte Benutzermodelle nach Typ bereitstellt, z. B. [Users].self, rufen Sie die Modelle durch Angabe eines durch Punkte getrennten Pfads ab.

    struct User: Codable {
      varname: String
    }
    
    let service: NowTableService = ...
    let publisher: AnyPublisher<[User], NowDataError> = service.model(from: "sys_user", path: "user.photos.gps_location")
     

    Um ein einzelnes decodierbares Modell nach sys_id abzurufen, verwenden Sie einen einzelnen Modelltyp User.self anstelle von [User].self.

    let publisher: AnyPublisher<User, NowDataError> = service.model(with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result")

    NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil)

    Erstellt einen Paginator, der das Iterieren durch Seiten von Datensätzen ermöglicht.

    des Paginators Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Hinweis:
    Sofern dies nicht im Parameter configuration überschrieben wird, gibt ein Paginator 20 Elemente pro Seite zurück. Abhängig von der ACL-Bewertung ist die tatsächliche Anzahl der abgerufenen Elemente für eine Seite möglicherweise geringer als der standardmäßige oder konfigurierte Wert.
    Tabelle : 33. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 34. Ergebnisse
    Typ Beschreibung
    Paginator<Data> Erfolg: Paginatorobjekt, das die angegebenen Datensätze enthält.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    private var tableService: NowTableService?
    // Paginator creation uses type inference to determine the response type.
    private var paginator: Paginator<[CustomerServiceCase]>?
    
    func initializeTableService(for instanceUrl: URL) {
      makeTableService(instanceUrl: instanceUrl) { [weak self] result in
        guard let self = self else { return }
                
        switch result {
        case .success(let tableService):
          self.tableService = tableService
          // Create a paginator that iterates over pages of customer support cases. The paginator's response type is
          // inferred from the paginator's type definition (e.g. `Paginator<[CustomerServiceCase]>`).
          self.paginator = tableService.paginator(from: Self.tableName, configuration: self.fetchConfiguration)
          // Subscribe to the paginator's publisher so you are able to receive paged results.
          self.subscribeToPaginatorPublisher()
          // Ready to start fetching data, inform the view controller.
          self.onReady(self)
        case .failure(let error):
          debugPrint("Creating table service failed with error: \(error.localizedDescription)")
          self.tableService = nil
          self.paginator = nil
        }
      }
    }

    NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null)

    Erstellt einen Paginator, der die Iteration von Seiten mit decodierten Modellen ermöglicht, die die Verschachtelung verarbeiten.

    Die ServiceNow REST- Tabellen -API-Antworten sind in einer Ergebnisseigenschaft ähnlich der folgenden geschachtelt:
    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }
    Um einen Paginator zu erhalten, der decodierte Benutzermodelle bereitstellt, rufen Sie den Paginator ab, indem Sie einen durch Punkte getrennten Pfad angeben. in diesem Fall result.
    struct User: Codable {
      varname: String
    }
    
    let service: NowTableService = ...
    let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")
    Hinweis:
    Sofern dies nicht im Parameter configuration überschrieben wird, gibt ein Paginator 20 Elemente pro Seite zurück. Abhängig von den ACL-Bewertungen ist die tatsächliche Anzahl der abgerufenen Elemente für eine Seite möglicherweise geringer als der Standardwert oder der konfigurierte Wert.
    Nachdem Sie ein Paginator-Objekt abgerufen haben, abonnieren Sie dessen Kombinationsherausgeber, um den Empfang von Daten zu starten:
    paginator.publisher
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { … }
      .store(in: &subscriptions)
    Hinweis:
    Stellen Sie wie bei allen Abonnements vom Typ „Kombinieren“ sicher, dass Sie das Abonnement behalten, um unerwartete Ergebnisse zu vermeiden.
    Tabelle : 35. Parameter
    Name Typ Beschreibung
    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    Pfad Zeichenfolge Durch Punkte getrennter Pfad für den geschachtelten Typ. Zum Beispiel „result“ oder „result.user.photos“ für eine tiefere Verschachtelung. Durch Angabe eines anwenderdefinierten Pfads können geschachtelte Daten abgerufen oder durchlaufen werden.

    Standard: Ergebnis

    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 36. Rückgaben
    Typ Beschreibung
    Paginator<Data> Erfolg: Paginatorobjekt mit ausgelagerten decodierbaren Modellen.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    In diesem Beispiel wird gezeigt, wie Sie ein Paginator-Objekt abrufen, das decodierte Anwendermodelle bereitstellt. Sie können das gewünschte Paginator-Objekt abrufen, indem Sie den Compiler auffordern, eine Sammlung von Anwendermodellen ([User]) zurückzugeben, und das Paginator-Objekt darüber informieren, dass die Anwender unter dem Ergebnispfad geschachtelt sind.

    struct User: Codable {
      var name: String
    }
    
    let service: NowTableService = ...
    let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")
    Hinweis:
    Die Tabellen -API gibt immer Ergebnisse zurück, die unter einem Ergebnispfad geschachtelt sind, sodass Sie den Parameter path bedenkenlos entfernen können.

    NowTableService – Datensatz (mit sysId: SysID, von tableName: Zeichenfolge, Konfiguration: FieldReadConfiguration? = nil) asynchrone ausgelöst

    Ruft einen angegebenen Datensatz aus der angegebenen Tabelle in einer Instanz ServiceNow ab.

    Die Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Tabelle : 37. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des Datensatzes, der von der Instanz ServiceNow zurückgegeben werden soll.
    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 38. Ausgabe
    Typ Beschreibung
    Daten Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt, das den angegebenen Datensatz enthält.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.

    func fetchTableRecord(sysId: String, tableName: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = []) async throws -> NowRecord {
        let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
        do {
            let dataResult: Data = try await tableService.record(with: sysId, from: tableName, configuration: configuration)
            let recordResult: NowRecord = dataResult.convertToRecord()
            return recordResult
        } catch {
            print("Fetch failed with NowDataError: \(error)")
            throw error
        }
    }

    NowTableService – Datensatz (mit sysId: SysID, von tableName: Zeichenfolge, Konfiguration: FieldReadConfiguration, Abschluss: @escaping (Ergebnis<Data, NowDataError> )

    Ruft den angegebenen Datensatz aus der angegebenen Tabelle ab und führt dann einen Abschluss-Handler aus, nachdem der Datensatz abgerufen wurde.

    Bei Bedarf können Sie die zurückgegebenen Ergebnisse in ein anwenderdefiniertes codierbares Modell decodieren oder stattdessen die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Verwenden Sie bei großen Ergebnismengen die Funktion NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil), um paginierte Ergebnisse abzurufen.
    Tabelle : 39. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des Datensatzes, der von der Instanz ServiceNow zurückgegeben werden soll.
    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Abschluss @escaping (Ergebnis<Data, NowDataError> ) Abschluss-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll.
    Rückgabewerte:
    • Erfolg: Daten – angeforderte Datensätze
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 40. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    func fetchTableRecords( tableName: String, filterQuery: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = [], limit: Int?) {
      let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
      let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
      tableService.records (from: tableName, configuration: fetchConfiguration) { [weak self] result in
        switch result {
          case .success(let dataResult):
            let recordResult: [NowRecord] = dataResult.convertToRecords()
            // Return recordResult
    
          case .failure(let error):
            // Failed to fetch record with NowDataError
        }
      }
    }

    NowTableService – Datensatz (mit sysId: SysID, von tableName: Zeichenfolge, Konfiguration: FieldReadConfiguration? = nil)

    Erstellt einen Herausgeber, um einen angegebenen Datensatz aus der angegebenen Tabelle in einer Instanz ServiceNow abzurufen.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Die Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Tabelle : 41. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des Datensatzes, der von der Instanz ServiceNow zurückgegeben werden soll.
    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 42. Ausgabe
    Typ Beschreibung
    Beliebiger Herausgeber<Data, NowDataError> Erfolg: Datenobjekt, das die angegebenen Datensätze enthält.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    In diesem Beispiel wird gezeigt, wie eine Funktion erstellt wird, die den angegebenen Datensatz mit den angegebenen Feldern aus der angegebenen Tabelle abruft. Die Ausgabe des Aufrufs ist ein ByteArray, mit dem Sie die Daten in ein beliebiges Modell konvertieren können.

    tableService.record(with: sysId, from: tableName, configuration: fetchConfiguration)
        .subscribe(on: DispatchQueue.global())
        .receive(on: DispatchQueue.main)
        .convertToRecord()
        .sink { completion in
            if case let .failure(error) = completion {
                print("Record retrieval failed with NowDataError: \(error)")
            }
        } receiveValue: { record in
            print("Successfully retrieved record: \(record)")
        }
        .store(in: &subscriptions)

    NowTableService – Datensätze (aus tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil) asynchrone Würfe

    Ruft Datensätze aus der angegebenen Tabelle ab.

    Die Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Verwenden Sie bei großen Ergebnismengen die Funktion NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil), um paginierte Ergebnisse abzurufen.
    Tabelle : 43. Parameter
    Name Typ Beschreibung
    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 44. Ausgabe
    Typ Beschreibung
    Daten Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt, das die angegebenen Datensätze enthält.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    func fetchTableRecords( tableName: String, filterQuery: String,
     includeFields: [FieldName] = [FieldName](), readOptions:
     FieldReadConfiguration.Options = [], limit: Int?) {
        let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
        let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
        do {
          let dataResult: Data = try await tableService.records(from: tableName, configuration: config)
          let recordResult: [NowRecord] = dataResult.convertToRecords()
          // return recordResult
        } catch {
          print("Fetch failed with NowDataError: \(error)")
          throw error 
      }
    }

    NowTableService – Datensätze (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil, Abschluss: @escaping (Ergebnis<Data, NowDataError> ))

    Ruft Datensätze aus einer angegebenen Tabelle ab und führt dann den Handler completion aus, nachdem die Datensätze abgerufen wurden.

    Bei Bedarf können Sie die zurückgegebenen Ergebnisse in ein anwenderdefiniertes codierbares Modell decodieren oder stattdessen die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Verwenden Sie bei großen Ergebnismengen die Funktion NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil), um paginierte Ergebnisse abzurufen.
    Tabelle : 45. Parameter
    Name Typ Beschreibung
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Abschluss @escaping (Ergebnis<Data, NowDataError> ) Abschluss-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll.
    Rückgabewerte:
    • Erfolg: Daten – angeforderte Datensätze
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 46. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    func fetchTableRecords( tableName: String, filterQuery: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = [], limit: Int?) {
      let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
      let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
      tableService.records (from: tableName, configuration: fetchConfiguration) { [weak self] result in
        switch result {
          case .success(let dataResult):
            let recordResult: [NowRecord] = dataResult.convertToRecords()
            // return recordResult
    
          case .failure(let error):
            // Failed to fetch record with NowDataError
        }
      }
    }

    NowTableService – Datensätze (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil)

    Erstellt einen Herausgeber, mit dem Sie Datensätze aus der angegebenen Tabelle abrufen können.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Die Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Verwenden Sie bei großen Ergebnismengen die Funktion NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil), um paginierte Ergebnisse abzurufen.
    Tabelle : 47. Parameter
    Name Typ Beschreibung
    von tableName Zeichenfolge Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident.
    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 48. Ausgabe
    Typ Beschreibung
    Beliebiger Herausgeber<Data, NowDataError> Erfolg: Datenobjekt, das die angegebenen Datensätze enthält.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    In diesem Beispiel wird gezeigt, wie Sie eine Funktion erstellen, die mehrere Datensätze aus einer angegebenen Tabelle abruft. Erstellt ein Objekt, das die Ausführung der Anforderung zu einem späteren Zeitpunkt plant und eine ByteArray-Antwort zurückgibt.

    tableService.records(from: tableName, configuration: fetchConfiguration)
        .subscribe(on: DispatchQueue.global())
        .receive(on: DispatchQueue.main)
        .convertToRecords()
        .sink { completion in
            if case let .failure(error) = completion {
                print("Record retrieval failed with NowDataError: \(error)")
            }
        } receiveValue: { records in
            print("Successfully retrieved records: \(records)")
        }
        .store(in: &subscriptions)

    NowTableService: Update<Model: SysIdentifiableModel> (_ model: Model, in tableName: String, coder: Coder = .default, writeOptions: FieldWriteOptions? = null, Konfiguration: FetchConfiguration? = null) asynchrone Würfe

    Aktualisiert das angegebene codierbare Modell in der angegebenen Tabelle.

    Tabelle : 49. Parameter
    Name Typ Beschreibung
    Modell Modell SysIdentifiableModel -Modell, das in der Tabelle aktualisiert werden soll.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 50. Rückgaben
    Typ Beschreibung
    Modell Wird zurückgegeben, wenn die Methode erfolgreich ist. Decodierbares Modell, das in der angegebenen Tabelle aktualisiert wurde.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.

    struct User: SysIdentifiableModel {
        var sysId: String = ""
        var name: String}
         
    func updateUser(user: User) async throws -> User {
        do {
            let result = try await tableService.update(user, in: “sys_user”)
            return result
        } catch {
            print("Update failed with NowDataError: \(error)")
            throw error
        }
    }

    NowTableService: Update<Model: SysIdentifiableModel> (_ Modell: Modell, in tableName: Zeichenfolge, Coder: Coder = .default, writeOptions: FieldWriteOptions? = null, Konfiguration: FetchConfiguration? = null, Abschluss: @escaping (Ergebnis<Model, NowDataError> ))

    Aktualisiert das angegebene codierbare Modell in der angegebenen Tabelle und führt dann den Handler completion aus.

    Tabelle : 51. Parameter
    Name Typ Beschreibung
    Modell Modell SysIdentifiableModel -Modell, das in der Tabelle aktualisiert werden soll.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Abschluss @escaping (Ergebnis<Model, NowDataError> ) Abschluss-Handler, der nach dem Aktualisieren der angegebenen codierbaren Modelle ausgeführt werden soll.
    Rückgabewerte:
    • Erfolg: Modell
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 52. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }
    
    let user = User(sysId: "12345", name: "abel")
    let coder: Coder = .default
    
    tableService.update(user, in: "sys_user") { [weak self] result in
      switch result {
        case .success(let model):
          do {
            let data = try coder.jsonEncoder.encode(model)
            self?.publish(data: data)
          } catch {
            self?.publish(result: .failure(error))
          }            
        case .failure(let error):
          // Failed to update with NowDataError
          self?.publish(result: .failure(error))
      }
    }

    NowTableService: Update<Model: SysIdentifiableModel> (_ model: Modell, in tableName: Zeichenfolge, Coder: Coder = .default, writeOptions: FieldWriteOptions? = null, Konfiguration: FetchConfiguration? = null)

    Aktualisiert das angegebene codierbare Modell in der angegebenen Tabelle.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Tabelle : 53. Parameter
    Name Typ Beschreibung
    Modell Modell SysIdentifiableModel -Modell, das in der Tabelle aktualisiert werden soll.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    Coder Codierer Optional. Codierer zum Codieren oder Decodieren von Daten, die an die Instanz ServiceNow gesendet und von ihr empfangen werden.
    Mögliche Werte:
    • Standard: Die Standard-Encoder formatieren Datumsangaben im Format jjj-MM-tt HH:mm:ss unter Verwendung des Gebietsschemas und der Zeitzonedes Geräts.
    • custom(JSONencoder, JSONDecoder):

      Verwenden Sie anwenderdefinierte Codierer, um eine differenziertere Kontrolle der JSON-Decodierung/-Codierung zu ermöglichen.

      Verwenden Sie diese Aufzählung nur, um Ihren eigenen JSONEncoder und JSONDecoderbereitzustellen, z. B. wenn Sie spezielle Datumsformate, Zeitzonen oder Gebietsschemata verwenden.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Standard: .default

    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 54. Rückgaben
    Typ Beschreibung
    Beliebiger Herausgeber<Model, NowDataError> Erfolg: Decodierbare Modelle, die in der angegebenen Tabelle aktualisiert wurden.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }
    
    let user = User(sysId: "12345", name: "abel")
    let coder: Coder = .default
    
    tableService.update(user, in: "sys_user")
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { [weak self] completion in
        if case let .failure(error) = completion {
          // Failed to update with NowDataError
          self?.publish(result: .failure(error))
        }
      } receiveValue: { [weak self] updatedModel in
        do {
          let data = try coder.jsonEncoder.encode(updatedModel)
          self?.publish(data: data)
        } catch {
          // Failed to update with NowDataError
          self?.publish(result: .failure(error))
        }
      }
      .store(in: &subscriptions)

    NowTableService – updateRecord(sysId: SysID, in tableName: String, withfields: [FieldName: FieldValue], writeOptions: FieldWriteOptions? = nil, Configuration: FieldReadConfiguration? = nil) asynchrone Würfe

    Aktualisiert den angegebenen Datensatz mit den angegebenen Feldern.

    Sie können die Daten in ein anwenderdefiniertes codierbares Modelldecodieren oder die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Hinweis:
    Möglicherweise sind nicht alle Felder in einem Datensatz für die Aktualisierung verfügbar. Beispielsweise sind Felder mit dem Präfix sys_ normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.
    Tabelle : 55. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des Datensatzes, der von der Instanz ServiceNow zurückgegeben werden soll.
    mit Feldern [Feldname: FieldValue] Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 56. Ausgabe
    Typ Beschreibung
    Daten Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt, das den aktualisierten Datensatz enthält.
    NowDataError Wird ausgelöst, wenn die Methode fehlschlägt.
    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.

    do { 
        let dataResult: Data = try await tableService.updateRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: configuration) 
        let recordResult: NowRecord = dataResult.convertToRecord() 
    } catch { 
        print("Record update failed with NowDataError: \(error)") 
    }

    NowTableService - updateRecord(sysId: SysID, in tableName: Zeichenfolge, mit Feldern: [FieldName: FieldValue], writeOptions: FieldWriteOptions? = nil, Konfiguration: FieldReadConfiguration? = nil, Abschluss: @escaping (Result<Data, NowDataError> )

    Aktualisiert den angegebenen Datensatz mit den angegebenen Feldern und führt dann den Handler completion aus, sobald der Datensatz gespeichert wurde.

    Bei Bedarf können Sie die zurückgegebenen Ergebnisse in ein anwenderdefiniertes codierbares Modell decodieren oder stattdessen die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Hinweis:
    Möglicherweise sind nicht alle Felder in einem Datensatz für die Aktualisierung verfügbar. Beispielsweise sind Felder mit dem Präfix sys_ normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.
    Tabelle : 57. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des Datensatzes, der von der Instanz ServiceNow zurückgegeben werden soll.
    mit Feldern [Feldname: FieldValue] Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Abschluss @escaping (Ergebnis<Data, NowDataError> ) Abschluss-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll.
    Rückgabewerte:
    • Erfolg: Daten – angeforderte Datensätze
    • Fehler: NowDataError
      • Zugriffstoken(ZugriffstokenProviderError)
        • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
          • „accessTokenRetrieval“ fehlgeschlagen
          • userSessionError(_ Fehler: Fehler)

        Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

      • „attachmentValidation“

        Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

      • _badResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

        Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

      • kann nichtDecodeModell(Decodierungsfehler)
        • DecodingError: Decodierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

      • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
        • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
        • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

        Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

      • kann nicht EncodeModel (EncodingError)
        • EncodingError: Codierungsfehler erkannt.

        Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

      • kannAntwort nichtParse

        Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

      • ungültigeURL

        Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

      • FehlendeAttachmentMetadata

        Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

      • fehltServiceKonfiguration

        Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

      • fehltSysID

        Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

      • Netzwerk(NetzwerkServiceFehler)
        • generischeError(Zeichenfolge)
        • VorgangAbgebrochen
        • service Deaktiviert
        • serverError(Fehler)
        • systemError(Fehler)

        Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    Tabelle : 58. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    tableService.updateRecord(sysId: sysId, in: tableName, with: fields, writeOptions: writeOptions, configuration: readConfiguration) { [weak self] result in
      switch result {
        case .success(let data):
          self?.publish(data: data)
        case .failure(let error):
           // Failed to update with NowDataError
      }
    }

    NowTableService - updateRecord(sysId: SysID, in tableName: Zeichenfolge, mit Feldern: [FieldName: FieldValue], writeOptions: FieldWriteOptions? = nil, Konfiguration: FieldReadConfiguration? = nil)

    Aktualisiert den angegebenen Datensatz mit den angegebenen Feldern.

    Hinweis:
    Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait“ verwenden.
    Die Der Herausgeber gibt Daten aus, die Sie in ein anwenderdefiniertes codierbares Modelldecodieren können, oder Sie können auch die Funktion NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) verwenden. Alternativ können Sie die praktische Funktion „convertToRecords()“ verwenden, um Daten in ein NowRecord-Objekt umzuwandeln. Im Folgenden wird gezeigt, wie Sie einen Herausgeber so konvertieren, dass er NowRecords ausgibt:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Hinweis:
    Möglicherweise sind nicht alle Felder in einem Datensatz für die Aktualisierung verfügbar. Beispielsweise sind Felder mit dem Präfix sys_ normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.
    Tabelle : 59. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Sys_id des Datensatzes, der von der Instanz ServiceNow zurückgegeben werden soll.
    mit Feldern [Feldname: FieldValue] Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen.
    in tableName Zeichenfolge Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident.
    writeOptions FeldSchreiboptionen Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden.

    Standard: null

    konfigurieren RufenKonfiguration ab Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filter, die die zurückzugebenden Datensätze, die Größenbeschränkung für Paginierungsseiten, die abzurufenden Felder und das, was in die Felder aufgenommen werden soll, definieren.

    Standard: nil – Alle zurückgegebenen Datensätze.

    Tabelle : 60. Ausgabe
    Typ Beschreibung
    Beliebiger Herausgeber<Data, NowDataError> Erfolg: Datenobjekt, das den aktualisierten Datensatz enthält.

    Fehler: NowDataError

    • Zugriffstoken(ZugriffstokenProviderError)
      • AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters.
        • „accessTokenRetrieval“ fehlgeschlagen
        • userSessionError(_ Fehler: Fehler)

      Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt.

    • „attachmentValidation“

      Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt.

    • _badResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde.

      Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt

    • kann nichtDecodeModell(Decodierungsfehler)
      • DecodingError: Decodierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann.

    • kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)
      • type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge.
      • from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll.

      Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann.

    • kann nicht EncodeModel (EncodingError)
      • EncodingError: Codierungsfehler erkannt.

      Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann.

    • kannAntwort nichtParse

      Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann.

    • ungültigeURL

      Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt.

    • FehlendeAttachmentMetadata

      Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt.

    • fehltServiceKonfiguration

      Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt.

    • fehltSysID

      Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt.

    • Netzwerk(NetzwerkServiceFehler)
      • generischeError(Zeichenfolge)
      • VorgangAbgebrochen
      • service Deaktiviert
      • serverError(Fehler)
      • systemError(Fehler)

      Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist.

    In diesem Beispiel wird gezeigt, wie Sie eine Funktion erstellen, die einen Datensatz in der angegebenen Tabelle mit den angegebenen Feldern aktualisiert. Die Ausgabe des Aufrufs ist ein ByteArray, mit dem Sie die Daten in ein beliebiges Modell konvertieren können.

    tableService.updateRecord(sysId: sysId, in: tableName, with: fields, writeOptions: writeOptions, configuration: readConfiguration)
        .subscribe(on: DispatchQueue.global())
        .receive(on: DispatchQueue.main)
        .convertToRecord()
        .sink { completion in
            if case let .failure(error) = completion {
                print("Update failed with NowDataError: \(error)")
            }
        } receiveValue: { record in
            print("Record updated: \(record)")
        }
        .store(in: &subscriptions)