PNRABN-I - Personnummerabonnement privat/offentlig - indberet/slet

Indholdsfortegnelse

1. Indledning

  • ID: PNRABN-I
  • Navn: Personnummerabonnement privat/offentlig - indberet/slet
  • System: CprAjour

1.1. Formål

Formålet med dokumentationen er, at beskrive servicen Personnummerabonnement privat/offentlig - indberet/slet (PNRABN-I). Ved initiering af PNRABN-I opretter og/eller sletter abonnementer på personnummer for både private og offentlige kunder. Når PNRABN-I initieres, er der visse nøglefelter, der kan forventes indsendt. Nogle nøglefelter er påkrævede, mens andre felter er valgfrie. Initiering af PNRABN-I kan fejle med en række fejlkoder, hvis det indsendte data ikke accepteres af PNRABN-I. Ved effektuering af aktioner kan eller skal der indsendes data. Ved validering og gem af det indsendte data, kan der opstå fejlrapporteringer, hvis der er mangler eller fejl i data.

2. Adgang

2.1. Kundefokus

Brug af denne service henvender sig til offentlige myndigheder.

2.2. Adgangskontrol

PNRABN-I er underlagt adgangsprincipper som en del af adgangskontrollen til en service[1].

Nedenstående tabel viser, hvilke adgangsprincipper der gælder for PNRABN-I.

Table 1. Hovedprincipper for adgangskontrol på servicen.
PrincipGælder
AdgangskontrolJa
DOKMYN PrincipNej
MATAP PrincipNej

Adgangskontrol

En myndighed kan have adgang via FULD adgang, ALMEN adgang eller MATAP adgang.

  • FULD Adgang : Myndighedstyper med fuld adgang har adgang til samtlige services i cpr
  • ALMEN Adgang : Myndigheden har adgang via sin myndighedstype til servicen
  • MATAP Adgang : Myndigheden har adgang som MATAP. Der kan evt. gælde MATAP princip på servicen

Nedenstående tabel viser, hvilke myndighedstyper der har adgang til servicen.

Table 2. Følgende myndighedstyper har adgang til servicen
MyndighedstypeMyndighedAdgangstype
39CPR-KontoretFuld Adgang
4PersonregisterførerAlmen Adgang
5KommunerAlmen Adgang
7Fiktiv kommune (fx kildeskat)Almen Adgang
10DomstoleAlmen Adgang
14ValgkontoretAlmen Adgang
15Familieretshuset/StatsforvaltningAlmen Adgang
16Civilretskontoret/JustitsministerietAlmen Adgang
17IndfødsretskontoretAlmen Adgang
18UdlændingestyrelsenAlmen Adgang
19Offentlig myndighed udvidetAlmen Adgang
20TrossamfundAlmen Adgang
25SogneAlmen Adgang
30LandAlmen Adgang
35PolitiAlmen Adgang
40RegionAlmen Adgang
41BorgerAlmen Adgang
42Borger DirekteAlmen Adgang
43Kunder (abonnementer)Almen Adgang
45SkattecenterAlmen Adgang
50EDB-centralAlmen Adgang
55VærnepligtsafdelingAlmen Adgang
60Offentlig myndighedAlmen Adgang
61Offentlig myndighed udvidet 2 (Udbetaling Danmark)Almen Adgang
70MinisteriumAlmen Adgang
71KirkeministerietAlmen Adgang
75LandsdelAlmen Adgang
80StifterAlmen Adgang
85ProvstierAlmen Adgang
98Øvre kommuneAlmen Adgang
99Maskinel mynkodAlmen Adgang

Konstaterende Myndighedsprincip

Udover den overordnede adgangskontrol, er servicen underlagt et myndighedsprincip for den konstaterende myndighed. Princippet sætter begrænsninger for, hvilken type myndigheder der må angives, som den konstaterende myndighed på hændelsen.

Det vil altid være tilladt, at anvende myndigheder med myndighedstype:

  • 39 - Indenrigsministeriet - CPR
  • 0 - Ukendt Myndighed

Myndighedsprincippet håndhæves som dataregler. Brud på princippet udløser fejlrapporteringer; ved aktioner der udløser valideringer er (f.eks. Validering og Gem).

Fælles for alle disse valideringer er, at der returneres fejlkoden: 4455, såfremt den konstaterende myndighed ikke er tilladt jf. det Konstaterende myndighedsprincip.

Det konstaterende myndighedsprincip er ikke aktivt for denne service.

Myndighedsrestriktion

Udover det konstaterende myndighedsprincip kan en service være underlagt en myndighedsrestriktion som begrænser hvilke myndigheder, der kan anvendes ved en række indberetninger.

Helt konkret er der umiddelbart tale om lande, men det er ikke begrænset til lande.

Myndighedsrestriktionen er tabelstyret og der kan angives om en myndighed:

  • Må indberette som konstaterende (Felt: Indberettende myndighed)
  • Må anvendes som Statsborgerretsland (Felt: Statsborger i)
  • Må anvendes som Fødselsregistreringssted (Felt: Indberettende myndighed)

3. Serviceinitiering

3.1. Nøglefelter

Når PNRABN-I skal initieres, er der visse nøglefelter, der kan indsendes. Alle nøglefelter er påkrævede.

3.2. Nøgleregler

Initiering af PNRABN-I kan fejle med en række fejlkoder, hvis de indsendte data ikke accepteres af PNRABN-I.

Table 3. Fejl der kan opstå ved initiering.
FejlkodeFejlbeskedBeskrivelse
725Feltet skal være numerisk

Formatering af datatype.

949Det indtastede kundenummer findes ikke.

Kundenummeret skal eksistere.

1069Hændelsesdatoen skal være større end - eller lig med gældende startdato for separation for personen

Hændelsesdatoen skal være større end eller lig med startdatoen på den aktuelle separation.

3763Kundenummer er ophørsmarkeret
3770Pnr-abonnement er ikke tilladt for dette kundenummer
3978Pnr-abonnement er kun tilladt for egne kunder

Pnr abonnement er kun tilladt for egne kunder

4441Du har ikke adgang til denn ønskede services

Du har ikke adgang til den ønskede service

Endvidere er der fælles nøgleregler, der kan komme i spil. Disse er beskrevet i et af servicehåndbogens bilag ang. fælles nøgleregler.

4. Præsentation af Stamdata

Ved en succesfuld initiering inkluderer svaret fra servicen en præsentation af stamdata. Disse data indeholder informationer, der er relevante for det domæne PNRABN-I tilhører.

4.1. Generelle Stamdata

4.1.1. Person

Disse felter bliver altid præsenteret for en person, og er samlet under et <Praes r="STAMPNR">-element.

Table 4. Standard stamdata for en kendt person.
FeltFormatEvt. attributterBeskrivelse
PNRPersonnummer (format ddMMyyxxxx)Personnummer er et ticifret, personligt identifikationsnummer, hvor de første seks cifre angiver en fødselsdato og de næste fire cifre angiver et løbenummer
I_VENT_MRKBlankBliver ikke anvendt
ADRNVNTekstAdresseringsnavn er en kommasepareret præsentation af efter- og fornavn. F.eks Andreasen, Andrea
KOENBogstav (format M, K)Køn benævner persons køn (mand M eller kvinde K)
STATUSHeltal (format XX)Tekst(t) beskrivelse af statuskodenStatus på personenStatus kan være:01 "Fast bopæl i dansk kommune"03 "Uden fast bopæl i dansk kommune"05 "Fast bopæl i grønlandsk kommune"07 "Uden fast bopæl i grønlandsk kommune"20 "Administrativt personnummer"30 "Annulleret personnummer"50 "Slettet personnummer"60 "Ændret personnummer"70 "Forsvundet"80 "Udrejst"90 "Død"
STARTDATOSTATUSDato (format yyyyMMdd)Startdato for personstatus
PNRGAELDTekst (format ddMMyyxxxx)Gældende personnummer
FOEDDATODato (format yyyyMMdd)Fødselsdato
FOEDDATOUSMUsikkerhedsmarkering (format blank eller *)En usikker fødselsdato er en fødselsdagsdato der ikke med sikkerhed er korrekt. Den markeres med en *, altså en usikkerhedsmarkering
BESKYTHeltal (format XX)Tekst(t) beskrivelse af beskyttelsestypen, ts="Beskyt"Beskyttelsestype beskriver typer af beskyttelse af personens data. F. eks. ”Navne og adressebeskyttelse”
CONVNTekst (format XxxYyyyy)c/o navn er et navn på en ejer eller lejer, som en person flytter ind hos, og hvor personens eget navn ikke står på døren
ETAGETekst/Heltal (format X.)Etage anvendes til nummerering af bygningsdele. Etage er en vandret afdeling i en bygning.
HUSNRTekst/Heltal (format XXX..)Nummer på et hus eller en opgang i en ejendom. Husnummer er en fortløbende nummerering af bygninger
SIDEDOERTekst (format tv, th, mf, X(dørnummer))Sidedør (tv,th,mf eller dørnummer)
BNRTekst (format XX..)Bygningsnummer er en entydig nummerering af ejendommens bygninger. Anvendes primært på grønlandske adresser.
KOMKODKommunekode (format xxx)Tekst(t) navnet på kommunen - til det lange navn på kommunenKommunekode er et trecifret identifikationsnummer for kommune. F.eks. 201 (Allerød)
VEJKODVejkode (format xxxx)Tekst(t) navnet på vejenVejkode er et firecifret identifikationsnummer for vej. F.eks. 9950 (Alleen) i Allerød
BYNVNTekst (format XXX..)Bynavn er en benævnelse for kommune, by eller købstad
LOKALITETBlankBliver ikke anvendt
POSTNRPostnr (format xxxx)Tekst(t) navnet på postdistriktetPostnummer er et firecifret identifikationsnummer for et postdistrikt. F.eks 2730 Herlev
UDLANDSADR1TekstUdenlandsadresse linie 1
UDLANDSADR2TekstUdenlandsadresse linie 2
UDLANDSADR3TekstUdenlandsadresse linie 3
UDLANDSADR4TekstUdenlandsadresse linie 4
UDLANDSADR5TekstUdenlandsadresse linie 5
UDR_LANDEKODLandekode (format xxxx)Tekst(t) navnet på landetUdrejselandekode er et firecifret identifikationsnummer for, landet der udrejses til. F.eks Sverige (5120)
STADRTekstStandardadresse indeholder oplysninger, der normalt forbindes med en postaladresse til brug for adressering af et brev mv

4.2. Specielle Stamdata

PNRABN-I præsenterer ingen specielle stamdata.

5. Aktioner

Efter initiering understøtter PNRABN-I følgende aktioner:

Table 5. Tilladte aktionsværdier og deres livscyklus funktionsbeskrivelse.
VærdiBeskrivelse
VValidering
FFortryd
GGem

6. Hændelsesdata

6.1. Redigerbare Datafelter

Data der kan eller skal indsendes til validering eller gem, er beskrevet i denne sektion.

Herunder angives felter til indrapportering af hændelsesdata.

Table 6. Felter til indrapportering af hændelsesdata.
FeltFormatKrævetFeltlængde (v)AttributterBeskrivelse

Udover de ovennævnte felter, indeholder servicens hændelsesdata også tabel-rækker.

Pnrabonnement offpriv

Table 7. Hændelsesdata til indrapportering pr. række på Pnrabonnement offpriv.
FeltFormatKrævetFeltlængde (v)AttributterBeskrivelse
CBRU_NGLKONSTTekstNejN/Av

Nøglekonstant

CBRU_PNRPersonnummerJa10v

Personnummer

CBRU_SLETSAETMRKFeltet beskriver om pnr skal oprettes eller slettes på CTBRU eller CTPRIBRUJaN/Av

Sletmarkering

CBRU_KVITNRTekstNejN/Av

Kvitteringsnummer

CBRU_KVIT_TXTTekstNejN/Av

Kvitteringstekst

6.2. Dataregler

Ved validering og gem af de indsendte data, kan der opstå fejlrapporteringer, hvis der er fejl og mangler i de indsendte data.

Table 8. Fejl der kan opstå på hændelsesdata.
FejlkodeFejlbeskedBeskrivelse
141Personen er i CPR registreret som reserveret, annulleret, slettet eller ændret

Status for en person må ikke være Annulleret (30), slettet (50) eller ændret (60).

172Personen %1%-%2% findes ikke i CPR.

Hændelsespersonen skal være registreret i CPR registeret.

3522Der er ingen personnumre indtastet

Der skal være angivet indtastet mindst et personnummer.

3707Personnummerabonnement findes i forvejen

Der findes allerede et personnummerabonnement på hændelsespersonen.

3943Personnummerabonnement findes ikke

Personnummerabonnementet der skal slettes, findes ikke

4442SLETSAETMRK skal have en af værdierne SL, OP eller ST

CBRU_SLETSAETMRK skal haves en af følgende værdier: SL, OP eller ST

4443Der er ingen sletsaetmrk indtastet

Der skal være angivet mindst en sletmarkering for hvert personnummer

4444Der må kun sendes max. 40 PNR

Der må maks indsendes 40 rækker

Endvidere er PNRABN-I også underlagt de generelle regler, der dækker alle services. Disse regler er beskrevet i servicehåndbogens bilag om generelle dataregler.

6.2.1. Tegnsæt og Tekstfelter

En GCTP service kan have tekstfelter med specifikke tegnsæt. Disse tegnsæt opstiller regler for, hvilke tegn feltet må indeholde. Det overordnede tegnsæt, som gælder på mange forskellige hændelser, er beskrevet i servicehåndbogens bilag med tegnsæt, mens tegnsæt der kun gælder for PNRABN-I, optræder som dataregler i tabellen ovenfor.

PNRABN-I har ingen felter med det generelle tegnsæt.

7. Afslutning

Ved en succesfuld afslutning på PNRABN-I, genererer PNRABN-I en afsluttende kvittering.

Denne kvittering har altid et <Table r="AFSLUT"> element, der indeholder et eller flere <Row>-elementer, med datafelter der er relevante for det gemte domæne.

For en personhændelse, returneres en kvittering med personens data. Kvitteringen indeholder følgende felter i et <Row k="PNR={personnummer};">-element, hvor {personnummer} er personens CPR-nummer.

Table 9. Kvitteringsfelter for en person.
FeltFormatEvt. ekstra attributterBeskrivelse
PNRPersonnummer (format ddMMyyxxxx)Personnummer er et ticifret, personligt identifikationsnummer, hvor de første seks cifre angiver en fødselsdato og de næste fire cifre angiver et løbenummer
ADRNVNTekst (format Yyyyy, Xxx)Adresseringsnavn er en kommasepareret præsentation af efter- og fornavn. F.eks Andreasen, Andrea
FORNVNTekstFornavn
MELNVNTekstMellemnavn
EFTERNVNTekstEfternavn
STATUSHeltal (format XX)Tekst(t) indeholder tekstuel beskrivelse af statuskodenStatus på personenStatus kan være:01 "Fast bopæl i dansk kommune"03 "Uden fast bopæl i dansk kommune"05 "Fast bopæl i grønlandsk kommune"07 "Uden fast bopæl i grønlandsk kommune"20 "Administrativt personnummer"30 "Annulleret personnummer"50 "Slettet personnummer"60 "Ændret personnummer"70 "Forsvundet"80 "Udrejst"90 "Død"
RELTekstEn eventuel relation til hovedpersonen

Ved hændelser med én eller flere relaterede personer, kan der forekomme et <Row>-element for hver person relateret til hovedpersonen.

8. GCTP

Dette afsnit præsenterer en håndfuld ukomplette eksempler på de kald PNRABN-I kan modtage, og svarene den vil sende retur.

Formålet med eksemplerne er, at give et generelt overblik over, hvordan GCTP er struktureret for PNRABN-I. Fokus er lagt på de datafelter, en bruger kan interagere med eller redigere i.

Eksemplerne er underlagt følgende begrænsninger:

  • For <Field>-elementer til nøglefelter og hændelsesdata
    • Data er udeladt, og er i stedet markeret med attributten v="[DATA]"
    • Alle andre attributter er udeladt (a, a1, t, osv)
  • For <Praes>-elementer til stamdata
    • <Field>-underelementerne er udeladt
  • For <Kvit>-element til afsluttende kvittering
    • <Row>-elementets identificerende nøgle er udeladt, og er i stedet markeret med attributten k="[ROW KEY]"
    • <Field>-underelementerne er udeladt i <Row>-elementet

GCTP eksemplerne er præsenteret i dokumentationens tilhørende appendiks.

8.1. GCTP Eksempler

Se appendiks 10.1.1

9. Opdatering af data

PNRABN-I opdaterer data i følgende tabeller:

  • CTBRU (Primær)
  • CTPRIBRU (Primær)
  • CTTRANSBRU (Primær)
  • CTTRANSPRIBRU (Primær)

Herunder er beskrevet et regelsæt, for opdatering af data i de respektive tabeller.

9.1. Primære registreringer (Personnummerabonnement)

9.1.1. CTBRU (Primær)

1)

Oprettelse af abonnement på personnummer for en offentlig kunde:

Ny aktuel række på tabellen CTPBRU oprettes for det angivne personnummerabonnement.

2)

Sletning af abonnement på personnummer for en offentlig kunde:

Aktuel række på tabellen CTPBRU slettes for det angivne personnummerabonnement.

9.1.2. CTPRIBRU (Primær)

1)

Oprettelse af abonnement på personnummer for en privat kunde:

Ny aktuel række på tabellen CTPRIBRU oprettes for det angivne personnummerabonnement.

2)

Sletning af abonnement på personnummer for en privat kunde:

Aktuel række på tabellen CTPRIBRU slettes for det angivne personnummerabonnement.

Hændelseskatalog

PNRABN-I opdaterer ikke hændelseskataloget.

Transaktionshændelser (Personnummerabonnent)

PNRABN-I opdaterer ikke data i transaktionstabellerne CTTRANSPNR og CTTRANSDATAGRP.

9.1.3. CTTRANSBRU (Primær)

1)

Oprettelse af abonnement på personnummer for en offentlig kunde:

Oprettes der en række på tabellen CTBRU opdateres tilsvarende på transaktionstabellen CTTRANSBRU.

Hvis rækken på tabellen CTPBRU er oprettet, oprettes en række i den akkumulerede transaktionstabel:

  • CTTRANSBRU

En række med følgende data:

  • KUNDENR: Kundenummer på kunde
  • PNR: Personnummer på abonnent
  • TIMESTAMP: Tidsstempel for opdatering
  • SLETSAETMRK: OP (oprettet)
  • NGLKONST: Nøglekonstant
  • INDBERET_SYSTEM: Tom

2)

Sletning af abonnement på personnummer for en offentlig kunde.

Findes der en række, som er slettet på tabellen CTBRU opdateres tilsvarende på transaktionstabellen CTTRANSBRU.

Hvis rækken på tabellen CTBRU er slettet, oprettes en række i den akkumulerede transaktionstabel:

  • CTTRANSBRU

En række med følgende data:

  • KUNDENR: Kundenummer på kunde
  • PNR: Personnummer på abonnent
  • TIMESTAMP: Tidsstempel for opdatering
  • SLETSAETMRK: SL (slettet)
  • NGLKONST: Nøglekonstant
  • INDBERET_SYSTEM: Tom

9.1.4. CTTRANSPRIBRU (Primær)

1)

Oprettelse af abonnement på personnummer for en privat kunde.

Oprettes der en række på tabellen CTPRIBRU opdateres tilsvarende på transaktionstabellen CTTRANSPRIBRU.

Hvis rækken på tabellen CTPRIBRU er oprettet, oprettes en række i den akkumulerede transaktionstabel:

  • CTTRANSPRIBRU

En række med følgende data:

  • KUNDENR: Kundenummer på kunde
  • PNR: Personnummer på abonnent
  • TIMESTAMP: Tidsstempel for opdatering
  • SLETSAETMRK = OP (opdatering)
  • NGLKONST: Nøglekonstant
  • INDBERET_SYSTEM: Tom

2)

Slet af abonnement på personnummer for en privat kunde.

Findes der en række, der er slettet på tabellen CTPRIBRU opdateres tilsvarende på transaktionstabellen CTTRANSPRIBRU.

Hvis rækken på tabellen CTPRIBRU er slettet, oprettes en række i den akkumulerede transaktionstabel:

  • CTTRANSPRIBRU

En række i tabel-efter-rækken med følgende data:

  • KUNDENR = KUNDENR
  • PNR = PNR
  • TIMESTAMP: Tidsstempel for opdatering
  • SLETSAETMRK: SL (slettet)
  • NGLKONST: Nøglekonstant
  • INDBERET_SYSTEM: Tom

10. Appendiks

10.1. GCTP Opdateringsservices

10.1.1. GCTP Eksempler

I de kommende eksempler vises, hvorledes requests og svar ser ud fra servicen. Bemærk at der ikke er medtaget konkrete data eller attributter i eksemplerne. I feltoversigten er der angivet felter, som har attributter, men helt generelt er attributter noget der kommer med ud som svar på et request, og er ikke krævet i input til f.eks. Gem eller Valider. De må gerne være der, men de anvendes ikke til noget.

10.2. Initiering

Eksempel på et GCTP initieringskald til servicen.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<root xmlns="http://www.cpr.dk">
    <Gctp v="2.0" env="Udvikling">
        <System r="CprAjour">
            <Service r="PNRABN-I">
                <CprServiceHeader r="PNRABN-I" st="P" mk="1" a="I">
                    <Key>
                        <Field r="KNR" v="[DATA]"/>
                    </Key>
                </CprServiceHeader>
            </Service>
        </System>
    </Gctp>
</root>
Eksempel på et GCTP svar fra servicen.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<root xmlns="http://www.cpr.dk">
    <Gctp v="2.0" env="Udvikling">
        <System r="CprAjour">
            <Service r="PNRABN-I">
                <CprServiceHeader r="PNRABN-I" ts="20240508135757426917" st="P" a="I">
                    <Table r="Aktioner">
                        <Row>
                            <Field r="KODE" v="V" t="Validering"/>
                        </Row>
                        <Row>
                            <Field r="KODE" v="F" t="Fortryd"/>
                        </Row>
                        <Row>
                            <Field r="KODE" v="G" t="Gem"/>
                        </Row>
                    </Table>
                </CprServiceHeader>
                <CprData u="O">
                    <Rolle r="HovedRolle">
                        <Praes r="STAMPNR"/>
                    </Rolle>
                </CprData>
                <CprData u="I">
                    <Rolle r="HovedRolle">
                        <Table r="Pnrabonnement offpriv">
                            <Row u="M">
                                <Field r="CBRU_NGLKONST"/>
                                <Field r="CBRU_PNR"/>
                                <Field r="CBRU_SLETSAETMRK"/>
                                <Field r="CBRU_KVITNR"/>
                                <Field r="CBRU_KVIT_TXT"/>
                            </Row>
                            <Row k="[ROW KEY]">
                                <Field r="CBRU_NGLKONST" v="[DATA]"/>
                                <Field r="CBRU_PNR" v="[DATA]"/>
                                <Field r="CBRU_SLETSAETMRK" v="[DATA]"/>
                                <Field r="CBRU_KVITNR" v="[DATA]"/>
                                <Field r="CBRU_KVIT_TXT" v="[DATA]"/>
                            </Row>
                        </Table>
                    </Rolle>
                </CprData>
                <Kvit r="Ok" v="0"/>
            </Service>
        </System>
    </Gctp>
</root>

10.3. Validering

Eksempel på et GCTP valideringskald til servicen.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<root xmlns="http://www.cpr.dk">
    <Gctp v="2.0" env="Udvikling">
        <System r="CprAjour">
            <Service r="PNRABN-I">
                <CprServiceHeader r="PNRABN-I" ts="20240508135757426917" st="P" mk="1" a="V">
                    <Key>
                        <Field r="KNR" v="[DATA]"/>
                    </Key>
                </CprServiceHeader>
                <CprData u="I">
                    <Rolle r="HovedRolle">
                        <Table r="Pnrabonnement offpriv">
                            <Row u="M">
                                <Field r="CBRU_NGLKONST"/>
                                <Field r="CBRU_PNR"/>
                                <Field r="CBRU_SLETSAETMRK"/>
                                <Field r="CBRU_KVITNR"/>
                                <Field r="CBRU_KVIT_TXT"/>
                            </Row>
                            <Row k="[ROW KEY]">
                                <Field r="CBRU_NGLKONST" v="[DATA]"/>
                                <Field r="CBRU_PNR" v="[DATA]"/>
                                <Field r="CBRU_SLETSAETMRK" v="[DATA]"/>
                                <Field r="CBRU_KVITNR" v="[DATA]"/>
                                <Field r="CBRU_KVIT_TXT" v="[DATA]"/>
                            </Row>
                        </Table>
                    </Rolle>
                </CprData>
            </Service>
        </System>
    </Gctp>
</root>
Eksempel på et GCTP svar med fejl fra servicen.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<root xmlns="http://www.cpr.dk">
    <Gctp v="2.0" env="Udvikling">
        <System r="CprAjour">
            <Service r="PNRABN-I">
                <CprServiceHeader r="PNRABN-I" ts="20240508135757426917" st="P" mk="1" a="V">
                    <Key>
                        <Field r="KNR" v="[DATA]"/>
                    </Key>
                </CprServiceHeader>
                <CprData u="O">
                    <Rolle r="HovedRolle">
                        <Praes r="STAMPNR"/>
                    </Rolle>
                </CprData>
                <CprData u="I">
                    <Rolle r="HovedRolle">
                        <Table r="Pnrabonnement offpriv">
                            <Row u="M">
                                <Field r="CBRU_NGLKONST"/>
                                <Field r="CBRU_PNR"/>
                                <Field r="CBRU_SLETSAETMRK"/>
                                <Field r="CBRU_KVITNR"/>
                                <Field r="CBRU_KVIT_TXT"/>
                            </Row>
                            <Row k="[ROW KEY]">
                                <Field r="CBRU_NGLKONST" v="[DATA]"/>
                                <Field r="CBRU_PNR" v="[DATA]"/>
                                <Field r="CBRU_SLETSAETMRK" v="[DATA]"/>
                                <Field r="CBRU_KVITNR" v="[DATA]"/>
                                <Field r="CBRU_KVIT_TXT" v="[DATA]"/>
                            </Row>
                        </Table>
                    </Rolle>
                </CprData>
                <Kvit r="Fejl" t="[FEJLTEKST TIL FEJLKODE 42]" v="42"/>
            </Service>
        </System>
    </Gctp>
</root>

10.4. Gem

Eksempel på et GCTP gem-kald til servicen.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<root xmlns="http://www.cpr.dk">
    <Gctp v="2.0" env="Udvikling">
        <System r="CprAjour">
            <Service r="PNRABN-I">
                <CprServiceHeader r="PNRABN-I" ts="20240508135757426917" st="P" mk="1" a="G">
                    <Key>
                        <Field r="KNR" v="[DATA]"/>
                    </Key>
                </CprServiceHeader>
                <CprData u="I">
                    <Rolle r="HovedRolle">
                        <Table r="Pnrabonnement offpriv">
                            <Row u="M">
                                <Field r="CBRU_NGLKONST"/>
                                <Field r="CBRU_PNR"/>
                                <Field r="CBRU_SLETSAETMRK"/>
                                <Field r="CBRU_KVITNR"/>
                                <Field r="CBRU_KVIT_TXT"/>
                            </Row>
                            <Row k="[ROW KEY]">
                                <Field r="CBRU_NGLKONST" v="[DATA]"/>
                                <Field r="CBRU_PNR" v="[DATA]"/>
                                <Field r="CBRU_SLETSAETMRK" v="[DATA]"/>
                                <Field r="CBRU_KVITNR" v="[DATA]"/>
                                <Field r="CBRU_KVIT_TXT" v="[DATA]"/>
                            </Row>
                        </Table>
                    </Rolle>
                </CprData>
            </Service>
        </System>
    </Gctp>
</root>
Eksempel på et GCTP svar fra servicen.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<root xmlns="http://www.cpr.dk">
    <Gctp v="2.0" env="Udvikling">
        <System r="CprAjour">
            <Service r="PNRABN-I">
                <CprServiceHeader r="PNRABN-I" ts="20240508135757426917" st="P" mk="1" a="G"/>
                <Kvit r="Afslut" v="0">
                    <Table r="AFSLUT">
                        <Row k="[ROW KEY]"/>
                    </Table>
                </Kvit>
            </Service>
        </System>
    </Gctp>
</root>

v1.4.1