Sys Msg 5 "Duplicate Key Value Found in an Existing Record" in Payroll

Vzťahuje sa na
Dynamics SL 2011 Dynamics SL 2015

Príznaky

System Message 5 - 'Duplicitná hodnota kľúča nájdená v existujúcom zázname. Aktuálna operácia aktualizácie databázy spôsobuje, že riadok obsahuje duplicitnú hodnotu kľúča založenú na jedinečnom indexe. sa vyskytuje v mzďovom oddelení. 

Príčiny

1. Vyskytla sa chyba pri uvoľňovaní dávky kontroly v dávkach PR uvoľnenia zo mzdy (02.400.00). Dávka PR sa vydá v PRTRAN, PRDOC a GLTRAN, ale BATCH má stav Pozastavené. Pozri uznesenie 22627.

2. Odpočet, ktorý bol predtým definovaný ako miestny odpočet, je teraz definovaný ako štátny odpočet od 1/1/2000. Načítaním tabuliek daní sa zmení typ odpočtu pre toto ID odpočtu. Proces uzávierky však vytvorí novú množinu záznamov EARNDED na základe záznamov existujúcich v predchádzajúcom roku. Funkcia EARNDED bude naďalej odrážať typ ako Lokálna. Pri prvom pokuse o výpočet miezd sa zistí nesúlad medzi funkciou DEDUCTION. DedType a EARNDED. Polia EarnDedType. Pozri uznesenie 17010.

3. 2000 tabuliek dane zo mzdy sa načítalo a pokúšajú sa vypočítať prvú mzdu za rok 2000. Pozri rezolúciu 17010.

4. Pri konverzii FastForward z vydania 2.06 sa nepodarilo vytvoriť PRDOC záznamy, ale vytvorili sa PRTRAN záznamy pre existujúci odkaz, ktorý bol použitý aj v novej dávke mzdovej kontroly. Pozri uznesenie č. 20511.  

      

Riešenie

Resolution 17010 - Edit the Deduction type in Wagroll Deduction (02.290.00). 

Poznámky

1. Malo by sa to robiť len s úplným zálohovaním databázy a so všetkými ostatnými používateľmi, ktorí boli odhlásení zo služby Dynamics SL. 

 2. Táto zmena by sa mala vykonať až PO vytlačení všetkých koncoročných zostáv. V súčasnosti platí, že ak sa vykonajú zmeny v odpočte (02.290.00), pri tlači W-2 za predchádzajúci rok sa použijú informácie o odpočtoch také, aké sú, nie také, aké to bolo pre rok, ktorý sa tlačí. Ak bola zrážka miestnou zrážkou v roku 1999 a potom zmenenou na štátnu zrážku v roku 2000, po aktualizácii odpočtu pre rok 2000 tlač W-2 za rok 1999 zobrazí tieto sumy zrážok v poli Štát namiesto v miestnom poli. 

Korekčné kroky

1. Získajte prístup k odpočítavaniu miezd (02.290.00) a vyberte zraz, ktorý je problematický. 

2. Zmeňte typ odpočítania na iný, než je zobrazený. 

3. Zmeny uložte. 

4. Získajte prístup k položke Odpočet a zmeňte typ odpočítania späť na správny typ odpočítania. 

5. Zmeny uložte. Týmto sa aktualizuje záznam DEDUCTION a všetky súvisiace záznamy EARNDED. 

Rezolúcia 20511 – Odstráňte skonvertované záznamy PRTRAN, ktoré nemajú žiadne existujúce záznamy PRDOC. 

Korekčné kroky

1. Vytvorte ZÁLOHU databázy, ktorá sa dá obnoviť v prípade výskytu nežiaducej straty údajov. 

2. Pomocou analýzy dotazov získajte prístup k príslušnej databáze aplikácií a spustite nasledujúci príkaz, pomocou ktorého určíte, či sa používa RefNbr v záznamoch PRTRAN, ktoré boli skonvertované z verzie 2.06, ako aj v dávke Mzdovej kontroly, v ktorej sa vyskytuje chyba. Poznačte si nájdené hodnoty BatNbr a CalYR. 

Poznámka

        

SELECT BatNbr, RefNbr, CalYR, * z PRTRAN, kde RefNbr = 'XXXXXX' a TranType = 'CK'

(kde XXXXXX = kontrolné číslo, ktoré generuje chybu)

3. Vykonaním nasledujúceho príkazu vyhľadajte zodpovedajúce záznamy PRDOC a porovnajte funkcie BatNbr a CalYR s tým, čo bolo uvedené v kroku 1:

Poznámka

        

SELECT BatNbr, ChkNbr, CalYR, * z PRDOC, kde ChkNbr = XXXXXX a DocType = CK

    (kde XXXXXX = kontrolné číslo, ktoré generuje chybu)

4. Odstráňte PRTRAN záznamy, ku ktorým nie sú priradené žiadne PRDOC záznamy:

Poznámka

        

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

(kde BBBBBB = číslo dávky, XXXXXX = kontrolné číslo generujúce chybu a NNNN = príslušný Calendar Year)

5. Ukončite Analyzátor dotazov a znova uvoľnite dávku Mzdovej kontroly. 

Rezolúcia č. 22627 – Opravte stav dávky mzdových šekov na stav Nezverejnené pomocou nástroja Analyzátor dotazov. 

1. Vytvorte ZÁLOHU databázy, ktorá sa dá obnoviť v prípade výskytu nežiaducej straty údajov. 

2. Pomocou nástroja Query Analyzer prejdite na príslušnú databázu aplikácií a spustite nasledujúce príkazy na overenie, či pole Rlsed má hodnotu True (1) v záznamoch PRDOC a PRTRAN pre dávku mzdovej kontroly:

Poznámka

        

SELECT * from PRDOC, kde BatNbr = 'XXXXXX' SELECT * from PRTRAN, kde BatNbr = 'XXXXXX'

(kde XXXXXX = číslo dávky kontroly PR)

3. V režime inicializácie prejdite na položku Transakcie denníka hlavnej knihy (01.010.00), vytiahnite dávku kontroly PR a overte, či sú transakcie vyvážené. 

4. Ak sú predchádzajúce 2 kroky v poriadku, pokračujte krokmi opravy. 

5. Pomocou nástroja Query Analyzer zmeňte stav dávky na " U" pomocou nasledujúceho príkazu:

Poznámka

        

AKTUALIZOVAŤ DÁVKOVÚ SADU Status = 'U', kde Module = 'PR' a BatNbr = 'XXXXXX'

(kde XXXXXX = číslo dávky kontroly PR)

Tento článok bol ID dokumentu programu TechKnowledge:128082