Sys Msg 5 'Dubbele sleutelwaarde gevonden in een bestaande record' in Salarisadministratie

Van toepassing op
Dynamics SL 2011 Dynamics SL 2015

Symptomen

Systeembericht 5- 'Dubbele sleutelwaarde gevonden in een bestaande record. De huidige database-updatebewerking zorgt ervoor dat een rij een dubbele sleutelwaarde bevat op basis van een unieke index.' vindt plaats in Salarisadministratie. 

Oorzaken

1. De fout treedt op bij het vrijgeven van een controlebatch in Pr-batches voor salarisrelease (02.400.00). De PR-batch wordt vrijgegeven in PRTRAN, PRDOC en GLTRAN, maar de BATCH heeft de status Onderbroken. Zie Resolutie 22627.

2. Een aftrek die eerder is gedefinieerd als lokale aftrek, wordt nu gedefinieerd als een staatsaftrek vanaf 1-1-2000. Als u de belastingtabellen laadt, wordt het deductietype voor deze aftrek-id gewijzigd. Met het proces Sluiten wordt echter een nieuwe set EARNDED-records gemaakt op basis van wat er in het voorgaande jaar bestond. EARNDED blijft het type weergeven als Lokaal. Wanneer de eerste berekening van de salarisadministratie wordt geprobeerd, wordt een niet-overeenkomende overeenkomst tussen de AFTREK gedetecteerd. DedType en de EARNDED. EarnDedType-velden. Zie resolutie 17010.

3. 2000 Loonbelastingtabellen zijn geladen en geprobeerd de eerste salarisadministratie voor 2000 te berekenen. Zie Resolutie 17010.

4. Een FastForward-conversie van Release 2.06 kan geen PRDOC-records maken, maar er zijn WEL PRTRAN-records gemaakt voor een bestaande RefNbr die ook is gebruikt in een nieuwe batch Salariscontrole. Zie Resolutie 20511.  

      

Oplossing

Resolutie 17010 - Bewerk het aftrektype in salarisaftrek (02.290.00). 

Notities

1. Dit moet alleen worden gedaan met een volledige databaseback-up en met alle andere gebruikers die zijn afgemeld bij Dynamics SL. 

 2. Deze wijziging mag alleen worden doorgevoerd NADAT alle eindrapporten zijn afgedrukt. Als er momenteel wijzigingen worden aangebracht in Deductie (02.290.00), wordt bij het afdrukken van W-2's voor een vorig jaar de aftrekgegevens gebruikt zoals deze is (niet hoe het was voor het jaar dat wordt afgedrukt). Als een aftrek een lokale aftrek was in 1999 en vervolgens in 2000 werd gewijzigd in een staatsaftrek, worden deze aftrekbedragen weergegeven in het vak Staat in plaats van in het vak Lokaal als de aftrek voor 2000 is bijgewerkt. 

Correctiestappen

1. Toegang tot salarisaftrek (02.290.00) en selecteer de inhouding die problematisch is. 

2. Wijzig het deductietype in iets anders dan wat wordt weergegeven. 

3. Sla de wijzigingen op. 

4. Toegang tot Deductie en wijzig het deductietype weer in het juiste deductietype. 

5. Sla de wijzigingen op. Hiermee wordt de DEDUCT-record en alle gerelateerde VERDIENDE records bijgewerkt. 

Oplossing 20511 : verwijder de geconverteerde PRTRAN-records die geen bestaande PRDOC-records hebben. 

Correctiestappen

1. Maak een BACK-up van de database die kan worden hersteld als er een ongewenst gegevensverlies optreedt. 

2. Met Query Analyzer opent u de juiste toepassingsdatabase en voert u de volgende instructie uit om te bepalen of RefNbr wordt gebruikt in PRTRAN-records die zijn geconverteerd van 2.06 en in de batch Salariscontrole die de fout ondervindt. Noteer de gevonden BatNbr- en CalYR-waarden. 

Opmerking

        

SELECT BatNbr, RefNbr, CalYR, * from PRTRAN where RefNbr = 'XXXXXX' and TranType = 'CK'

(waarbij XXXXXX = het controlenummer is dat de fout genereert)

3. Voer de volgende instructie uit om overeenkomende PRDOC-records te vinden en vergelijk BatNbr en CalYR met wat is genoteerd in stap 1:

Opmerking

        

SELECT BatNbr, ChkNbr, CalYR, * from PRDOC where ChkNbr = 'XXXXXX' and DocType = 'CK'

    (waarbij XXXXXX = het controlenummer is dat de fout genereert)

4. Verwijder de PRTRAN-records die geen gekoppelde PRDOC-records hebben:

Opmerking

        

DELETE from PRTRAN where BatNbr = 'BBBBBB' and RefNbr = 'XXXXXX' and CalYR = 'NNNN'

(waarbij BBBBBB = batchnummer, XXXXXX = het controlenummer dat de fout genereert en NNNN = het juiste Calendar Year)

5. Sluit Query Analyzer af en laat de batch Salariscontrole opnieuw los. 

Oplossing 22627 - Corrigeer de batchstatus van de salariscontrole naar Niet-posten met behulp van Query Analyzer. 

1. Maak een BACK-up van de database die kan worden hersteld als er een ongewenst gegevensverlies optreedt. 

2. Met Query Analyzer opent u de juiste toepassingsdatabase en voert u de volgende instructies uit om te controleren of het veld Rlsed True (1) is in de PRDOC- en PRTRAN-records voor de batch Salariscontrole:

Opmerking

        

SELECT * from PRDOC where BatNbr = 'XXXXXX' SELECT * from PRTRAN where BatNbr = 'XXXXXX'

(waarbij XXXXXX = het batchnummer van de pr-controle)

3. Ga in de initialisatiemodus naar Grootboekdagboektransacties (01.010.00), haal de batch pr-controle op en controleer of de transacties evenwichtig zijn. 

4. Als de bovenstaande 2 stappen in orde zijn, gaat u verder met de correctiestappen. 

5. Voer met Query Analyzer de volgende instructie uit om de batchstatus te wijzigen in ' U':

Opmerking

        

UPDATE BATCH SET Status = 'U' waarbij Module = 'PR' en BatNbr = 'XXXXXX'

(waarbij XXXXXX = het batchnummer van de pr-controle)

Dit artikel was TechKnowledge-document-id:128082