ER-expressies ontwerpen om methoden voor toepassingsklassen aan te roepen
In dit artikel wordt behandeld hoe u de bestaande toepassingslogica hergebruikt in Elektronische rapportage (ER)-configuraties door vereiste methoden van toepassingsklassen aan te roepen in ER-expressies. Waarden van argumenten voor het aanroepen van klassen kunnen dynamisch bepaald worden tijdens runtime. De waarden kunnen bijvoorbeeld gebaseerd worden op informatie in het parseerdocument, om de juistheid ervan te waarborgen.
In dit artikel ontwerpt u bijvoorbeeld een proces ontwerpt voor het parseren van inkomende bankafschriften voor het bijwerken van toepassingsgegevens. U ontvangt de binnenkomende bankafschriften als tekstbestanden (.txt)-bestanden met IBAN-codes (International Bank Account Number). Als onderdeel van het importproces van de bankafschriften moet u de juistheid van de IBAN-code valideren met behulp van de logica die al beschikbaar is.
Vereisten
De procedures in dit artikel zijn bedoeld voor gebruikers met de rol Systeembeheerder of Elektronische rapportageontwikkelaar.
De procedures kunnen worden voltooid met elke gegevensset.
Om ze te voltooien, moet u het volgende bestand downloaden en opslaan: SampleIncomingMessage.txt.
In dit artikel maakt u de vereiste ER-configuraties voor het voorbeeldbedrijf, Litware, Inc. Voordat u de procedures in dit artikel uitvoert, moet u daarom de volgende stappen uitvoeren.
- Ga naar Organisatiebeheer>Werkruimten>Elektronische rapportage.
- Controleer op de pagina Lokalisatieconfiguraties of de configuratieprovider voor het voorbeeldbedrijf Litware, Inc. beschikbaar is en gemarkeerd is als actief. Als u deze configuratieprovider niet ziet, moet u eerst de stappen in de procedure Configuratieproviders maken en deze als actief markeren uitvoeren.
Een nieuwe ER-modelconfiguratie importeren
Selecteer op de pagina Lokalisatieconfiguraties in de sectie Configuratieproviders de tegel voor de configuratieprovider Microsoft.
Selecteer Opslagplaatsen.
Selecteer op de pagina Lokalisatieopslagplaatsen de optie Filters weergeven.
Als u de record voor de algemene opslagplaats wilt selecteren, voegt u een veld voor het naamfilter toe.
Voer in het veld Naam de tekst Algemeen in. Selecteer vervolgens de filteroperator bevat.
Selecteer Toepassing.
Selecteer Openen om de lijst met ER-configuraties in de geselecteerde opslagplaats te controleren.
Selecteer op de pagina Configuratieopslagplaats in de configuratiestructuur Betalingsmodel.
Als op het sneltabblad Versies de knop Importeren beschikbaar is, selecteer die dan, en selecteer dan Ja.
Als de knop Importeren niet beschikbaar is, hebt u de geselecteerde versie van de ER-configuratie Betalingsmodel al geïmporteerd.
Sluit de pagina Configuratieopslagplaats en sluit vervolgens de pagina Lokalisatieopslagplaatsen.
Een nieuwe ER-indelingsconfiguratie toevoegen
Voeg een nieuwe ER-indeling toe om inkomende bankafschriften in TXT-indeling te parseren.
Selecteer op de pagina Lokalisatieconfiguraties de tegel Rapportconfiguraties.
Selecteer op de pagina Configuraties in de configuratiestructuur in het linkerdeelvenster Betalingsmodel.
Selecteer Configuratie maken.
Voer de volgende stappen uit in het dialoogvenster:
- Voer in het veld NieuwIndeling gebaseerd op gegevensmodel PaymentModel in.
- Typ in het veld NaamImportindeling bankafschrift (voorbeeld).
- Selecteer Ja in het veld Ondersteunt gegevensimport.
- Selecteer Configuratie maken om de configuratie af te maken.
De configuratie voor de ER-indeling ontwerpen - Indeling
Ontwerp een ER-indeling die de verwachte structuur van het externe bestand in TXT-indeling vertegenwoordigt.
Selecteer voor de indelingsconfiguratie Importindeling bankafschrift (voorbeeld) die u hebt toegevoegd, de optie Ontwerper.
Selecteer op de pagina Indelingsontwerper, in de opmaakstructuur in het linkerdeelvenster, de optie Hoofdmap toevoegen.
Voer de volgende stappen uit in het dialoogvenster:
- Selecteer in de boomstructuur Tekst\Reeks om een indelingsonderdeel Reeks toe te voegen.
- Voer in het veld NaamHoofdmap in.
- Selecteer in het veld Speciale tekens de optie Nieuwe regel - Windows (CR LF). Op basis van deze instelling wordt elke regel in het parseerbestand beschouwd als een afzonderlijke record.
- Selecteer OK.
Selecteer Toevoegen.
Voer de volgende stappen uit in het dialoogvenster:
- Selecteer in de structuur Tekst\Reeks.
- Geef in het veld Naam de tekst Rijen op.
- Selecteer in het veld MultiplicityEén veel. Op basis van deze instelling wordt verwacht dat ten minste één regel aanwezig is in het parseerbestand.
- Selecteer OK.
Selecteer Hoofdmap\Rijen in de boomstructuur en selecteer Reeks toevoegen.
Voer de volgende stappen uit in het dialoogvenster:
- Voer in het veld Naam de tekst Velden in.
- Selecteer in het veld Multipliciteit de optie Precies één.
- Selecteer OK.
Selecteer Hoofdmap\Rijen\Velden en selecteer Toevoegen.
Voer de volgende stappen uit in het dialoogvenster:
- Selecteer Tekst\Tekenreeks in de boomstructuur.
- Geef in het veld Naam de tekst IBAN op. 3.. Selecteer OK.
Selecteer Opslaan.
Volgens de configuratie bevat elke regel in het parseerbestand alleen de IBAN-code.
De configuratie voor de ER-indeling - Toewijzen aan een gegevensmodel
Ontwerp een ER-indelingstoewijzing die de informatie uit het parseerbestand gebruikt om een gegevensmodel in te vullen.
Selecteer op de pagina Indelingsontwerper in het actiedeelvenster de optie Indeling toewijzen aan model.
Selecteer Nieuw op de pagina Model voor gegevensbrontoewijzing in het actievenster.
Selecteer in het veld Definitie de optie BankToCustomerDebitCreditNotificationInitiation.
Voer in het veld NaamToewijzen aan gegevensmodel in.
Selecteer Opslaan.
Selecteer Ontwerper.
Selecteer op de pagina Ontwerper modeltoewijzing in de boomstructuur Typen gegevensbronnenDynamics 365 for Operations\Klasse.
Selecteer in de sectie Gegevensbronnen de optie Hoofdmap toevoegen om een gegevensbron toe te voegen die de bestaande toepassingslogica voor de validatie van IBAN-codes aanroept.
Voer de volgende stappen uit in het dialoogvenster:
- Voer in het veld NaamCheck_codes in.
- Typ of selecteer ISO7064 in het veld Klasse.
- Selecteer OK.
Volg deze stappen in de boomstructuur Eigenschappen van gegevensbron:
- Vouw de gegevensbron van de indeling uit.
- Vouw indeling\Root: Sequence(Root) uit.
- Vouw format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows) uit.
- Vouw format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows)\Fields: Sequence 1..1 (Fields) uit.
Volg deze stappen in de boomstructuur Gegevensmodel:
- Vouw het veld Betalingen van het gegevensmodel uit.
- Vouw Betalingen\Creditor Account(CreditorAccount) uit.
- Vouw Betalingen\Creditor Account(CreditorAccount)\Identificatie uit.
- Vouw Betalingen\Creditor Account(CreditorAccount)\Identificatie\IBAN uit.
Volg deze stappen om onderdelen van de geconfigureerde indeling te binden aan gegevensmodelvelden:
- Selecteer format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows).
- Selecteer Betalingen.
- Selecteer Binden. Op basis van deze instelling wordt elke regel in het parseerbestand beschouwd als één betaling.
- Selecteer format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows)\Fields: Sequence 1..1 (Fields)\IBAN: String(IBAN).
- Selecteer Betalingen\Creditor Account(CreditorAccount)\Identificatie\IBAN.
- Selecteer Binden. Op basis van deze instelling wordt het veld IBAN van het gegevensmodel gevuld met de waarde van het parseerbestand.
Op het tabblad Validaties volgt u deze stappen om een validatieregel toe te voegen die een foutmelding geeft voor elke regel in het parseerbestand die een ongeldige IBAN-code bevat:
- Selecteer Nieuw en selecteer vervolgens Voorwaarde bewerken.
- Vouw op de pagina Formuleontwerper in de boomstructuur Gegevensbron de gegevensbron Check_codes uit die de toepassingsklasse ISO7064 vertegenwoordigt om de beschikbare methoden van deze klasse weer te geven.
- Selecteer Check_codes\verifyMOD1271_36.
- Selecteer Gegevensbron toevoegen.
- Typ in het veld Formule de volgende expressie: Check_codes.verifyMOD1271_36(format.Root.Rows.Fields.IBAN).
- Selecteer Opslaan en sluit de pagina.
- Selecteer Bericht bewerken.
- Typ op de pagina Formuleontwerper in het veld FormuleCONCATENATE("Ongeldige IBAN-code gevonden:", format.Root.Rows.Fields.IBAN).
- Selecteer Opslaan en sluit de pagina.
Op basis van deze instellingen retourneert de validatievoorwaarde FALSE voor elke ongeldige IBAN-code door de bestaande methode verifyMOD1271_36 van de ISO7064-toepassingsklasse aan te roepen. Houd er rekening mee dat de waarde van de IBAN-code dynamisch wordt gedefinieerd tijdens de uitvoering als het argument van de aanroepende methode op basis van de inhoud van het tekst-parseerbestand.
Selecteer Opslaan.
Sluit de pagina Ontwerper modeltoewijzing en sluit de pagina Model voor gegevensbrontoewijzing.
De toewijzing van de bestandsindeling uitvoeren
Voer voor testdoeleinden de toewijzing van de indeling uit met behulp van het SampleIncomingMessage.txt-bestand dat u eerder hebt gedownload. De gegenereerde uitvoer omvat gegevens die worden geïmporteerd vanuit het geselecteerde tekstbestand en overgezet naar het aangepaste gegevensmodel tijdens de daadwerkelijke import.
Selecteer Uitvoeren op de pagina Model voor gegevensbrontoewijzing .
Op de pagina Parameters voor elektronische rapporten kiest u Bladeren, bladert u naar het bestand SampleIncomingMessage.txt dat u gedownload hebt, en selecteert u het.
Selecteer OK.
Merk op dat de pagina Model voor gegevensbrontoewijzing een foutmelding geeft over een ongeldige IBAN-code.
Bekijk de uitvoer in XML-indeling, die de gegevens vertegenwoordigt die zijn geïmporteerd vanuit het geselecteerde bestand en overgezet naar het gegevensmodel. Er zijn slechts drie regels van het geïmporteerde tekstbestand verwerkt zonder fouten. De IBAN-code op regel 4 is niet geldig en is overgeslagen.