Loading
Opsæt og vedligehold din Salesforce-organisation
Indhold
Vælg filtre

          Ingen resultater
          Ingen resultater
          Her er nogle søgetips

          Kontroller stavemåden for dine søgeord.
          Brug mere generelle søgeudtryk.
          Vælg færre filtre for at gøre søgningen bredere.

          Søg efter alle i Hjælp til Salesforce
          Opdater dine integrationer til nye landestandardsformater

          Opdater dine integrationer til nye landestandardsformater

          Hvis du integrerer data fra eksterne systemer i Salesforce, eller hvis du sender Salesforce-data til eksterne tredjeparter, skal du bruge landestandard-neutrale formater i den relaterede kode, når det er muligt. Når landestandardsformater ændres, skal du gennemse den kode, der håndterer de påvirkede formater.

          EditionsHeading

          Tilgængelig i: både Salesforce Classic og Lightning Experience
          Tilgængelig i: Alle versioner

          Integrationspunkter kan overføre mange formularer, herunder API-kald til og fra Salesforce. Gennemse også processer, der omfatter eksport af data i filer, f.eks. kommaseparerede filer (CSV) og import af data fra filer i Salesforce.

          Adresse-, valuta-, dato-, datotid-, heltal-, navn- og tidsformater kan ændres, når en bruger ændrer landestandard. Når det er muligt, skal du bruge standardmetoder for landestandard-neutral til at håndtere disse typer af data. I fraværet af en standardmetode skal du opdatere koden, så den passer til de nye formater.

          Specifikt for migrering fra Oracles JDK-formater (Java Development Kit) til landestandardformater for ICU (International Components for Unicode), skal du bekræfte integrationer, der håndterer valuta, dato, datotid, heltal eller tidsdata.

          Hvis en tredjepart kalder Salesforce programmeringsmæssigt, skal du samarbejde med denne part for at teste og opdatere processen efter behov, når landestandardsformater ændres. Hvis du vil søge i din Salesforce-kode, skal du downloade metadataene. Brug derefter en kommandolinjegrænseflade som f.eks. Salesforce CLI.

          Integrationseksempel: Import af datoer

          Lad os se på et enkelt eksempel på, hvordan en ændring i et landestandardformat kan påvirke integrationer.

          I dette eksempel har vi et tilpasset objekt, Konference, med to yderligere felter: start_date_time og end_date_time. Hvis du vil udfylde konferenceobjektet, henter en Apex-klasse data ved brug af en ekstern API. Klassen kunne også hente data fra en CSV-fil, men i dette eksempel bruger vi et eksternt API-kald.

          Det eksterne API-kald returnerer et JSON-objekt, der indeholder disse oplysninger. Datotidsdataene formateres ved brug af JDK-format for landestandarden Engelsk (USA) [en_US].

          {
             "conferences": [{
                 "name": "conference1",
                 "start_date_time": "10/20/2021 10:00 AM",
                 "end_date_time": "10/22/2021 05:00 PM"
             }, {
                 "name": "conference2",
                 "start_date_time": "11/21/2021 11:00 AM",
                 "end_date_time": "11/24/2021 05:00 PM"
             }]
          }

          Denne Apex-kode indsætter konferenceregistreringer.

          // Mocking the sample response of API call
          String jsonResponse = '{"conferences": [{"name":"conference1", "start_date_time":"10/20/2021 10:00 AM", "end_date_time":"10/22/2021 5:00 PM"}, {"name":"conference2", "start_date_time":"11/21/2021 11:00 AM", "end_date_time":"11/24/2021 05:00 PM"}]}';
           
          Map<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(jsonResponse);
           
          List<Object> conferences = (List<Object>) results.get('conferences');
           
          for(Object conference: conferences) {
            Map<String, Object> conferenceDetails = (Map<String, Object>)conference;
           
            //Initialize object
            Conference__c confObject = new Conference__c (
            name = String.valueof(conferenceDetails.get('name')),
            start_date_time__c = datetime.parse(String.valueof(conferenceDetails.get('start_date_time'))),
            end_date_time__c = datetime.parse(String.valueof(conferenceDetails.get('end_date_time')))
            );
             
            //insert object                       
            insert confObject;
          }

          datetime.parse()-metoden bruger datotidsformatet for den personlige landestandard for den bruger, der udfører koden.

          Lad os antage, at brugerens personlige landestandard er Engelsk (USA) [en_US]. JDK- og ICU-datotidsformater for denne landestandard er forskellige.

          • JDK kort datoformat for en_US: 10/20/2021 10:00 AM
          • ICU kort datoformat for en_US: 10/20/2021, 10:00 AM

          Når organisationen bruger JDK-landestandardformater, kører denne kode korrekt. Når ICU-landestandardformater er aktiveret, medfører denne kode en parse-fejl, da værdierne start_date_time og end_date_time mangler det forventede komma efter året.

          Dette problem kan også forekomme, når data, der er lagret i Salesforce, videregives til et eksternt system ved brug af et landestandardspecifikt format, f.eks. ved brug af et POST-kald. Som i eksemplet ovenfor bestemmer den personlige landestandard for den bruger, der kører koden, dataenes format.

          Sørg for at udbedre problemer

          Hvis du vil undgå disse problemer, skal du bruge landestandard-neutrale formater, når du modtager, overfører og behandler data.

          Hvis du støder på et problem med data, der er modtaget fra et eksternt system, skal du kontakte afsenderen for at opdatere formatet på kildedataene. Hvis du ikke kan kontakte afsenderen, skal du opdatere din kode for at konvertere de modtagne data til et landestandard-neutralt format, før du behandler dem.

           
          Indlæser
          Salesforce Help | Article