Kravspec RB03 RB03 Städning av otillåtna tecken 2016-10-21 Beteckning: Ändringshistorik Datum Av Kommentar Godkännare 2013-01-16 PerLindgren Första leverans av RB03 I samråd med kravsamordnare 2014-06-16 Thom Jönsson Hantering av otillåtna teckenkombinationer 2016-10-21 David Andersson LADOK-18342, Semikolon har lagts till som otillåtet tecken i RB03
Per Lindgren 2013-01-29 2 (17) Innehållsförteckning 1 STÄDNING AV OTILLÅTNA TECKEN... 3 1.1 SYFTE... 3 1.2 BESKRIVNING... 3 1.3 BEHÖRIGHET... 3 2 RB03 STÄDNING AV OTILLÅTNA TECKEN... 4 2.1 RB03A00G STÄDNING AV OTILLÅTNA TECKEN... 4 2.2 RB03A01G VILLKORSFORMULÄR... 5 2.2.1 Ram Välj typ av körning... 6 2.2.2 Ram Välj tabeller... 6 2.3 RB03, BATCH: STÄDNING AV OTILLÅTNA TECKEN... 10 2.3.1 Parametrar från beställningsfunktion(batvill)... 10 2.3.2 Allmänt... 10 2.3.3 Krav för städning av otillåtna tecken... 10 2.3.4 Listor över undersökta/korrigerade poster... 14 2.3.5 Mail vid avslut av batchen... 16 3 KRAVFÖRTECKNING... 17
Per Lindgren 2013-01-29 3 (17) 1 Städning av otillåtna tecken 1.1 Syfte Att i ladoks tabeller hitta/åtgärda otillåtna tecken som smugit sig in. 1.2 Beskrivning Beställningsformuläret är enligt den generella modell som finns. Det finns även möjlighet att välja inspektionskörning. I dessa fall genomförs aldrig uppdatering utan man får en datafil över de uppdateringar som skulle ha gjorts om det var en skarp körning. En datafil fås även när skarp körning är gjord. Som utdata fås även en fil med sqlsatser över de poster som innehåller felaktiga tecken som kan användas för egen uppdatering Batchen läser/kontrollerar/uppdaterar i de tabeller som valts i beställningsfunktionen. Ett antal tabeller undantas. I nuläget är det årsredovisningstabellerna och ett fåtal andra tabeller som undantas. Det är möjligt att lägga stående beställningar för batchen om preferensen för detta är aktiverad. 1.3 Behörighet Normal behörighetshantering av funktionen.
Per Lindgren 2013-01-29 4 (17) 2 RB03 Städning av otillåtna tecken 2.1 RB03A00G Städning av otillåtna tecken
Per Lindgren 2013-01-29 5 (17) 2.2 RB03A01G Villkorsformulär
Per Lindgren 2013-01-29 6 (17) 2.2.1 Ram Välj typ av körning R10 Radiogrupp typ av körning Typ: Ledtext: Placering Format: Defaultvärde om nytt villkor F1-hjälp: Radiogrupp Det behövs ingen ledtext eftersom ramens rubrik är tillräcklig förklaring Till vänster under beställningsramen Radiogrupp med två knappar: Inspektion Uppdatering Inspektion Välj typ av körning. 2.2.2 Ram Välj tabeller R11 Listbox Välj tabeller Typ: Ledtext: Placering Format: inläsning Listbox Välj tabeller Till vänster Varje rad i listboxen har följande utseende: TABELL En beskrivning av tabellen på max 47 tecken Där TABELL består av upp till åtta tecken (och fylls ut med blanksteg om den är kortare) och beskrivningen kan vara max 47 tecken och klipps vid 44 (med avslutande... om den är längre än så) Vid initiering av formuläret: Läs tabellnamn och beskrivning från vyn över alla tabeller (V_TABNAMN00). Reducera listan genom att tabort nedan tabeller: ARKURS ARHST ARHPR ARAGG ANVPASS2 ARBTAB PRATT TABDATA TRADATA TRANSTAB VERSION USAGELOG UDICVER
Per Lindgren 2013-01-29 7 (17) Vid ctrl+r upprepas detta förfarande. Övrigt F1-hjälp: Möjlighet att markera flera tabeller med cursor+ctrl Möjlighet att flytta markerade tabeller med dubbelklick eller Enter (på numeriska tangentbordet) Välj tabeller som ska kontrolleras. R12 PilKnapp höger välj alla tabeller Typ: Ledtext: Placering Knapp Välj alla tabeller Mellan listboxarna och högst upp av pilknapparna Format: Kontroller Kopiera över alla tabeller till listboxen valda tabeller. Defaultvärde om nytt villkor F1-hjälp: Flytta över alla tabeller. R13 PilKnapp höger välj markerade tabeller Typ: Ledtext: Placering Knapp Välj markerade tabeller Mellan listboxarna och under välj alla tabeller Format: Kontroller Kopiera över markerade tabeller till listboxen valda tabeller. Defaultvärde om nytt villkor F1-hjälp: Flytta endast över markerade tabeller. R14 PilKnapp vänster Ta bort alla tabeller Typ: Ledtext: Placering Knapp Ta bort alla tabeller Mellan listboxarna och under välj markerade tabeller av pilknapparna
Per Lindgren 2013-01-29 8 (17) Format: Kontroller Ta bort alla tabeller från listboxen valda tabeller. Defaultvärde om nytt villkor F1-hjälp: Flytta tillbaka alla tabeller. R15 PilKnapp Ta bort markerade tabeller Typ: Ledtext: Placering Knapp Ta bort markerade tabeller Mellan listboxarna och under Ta bort alla tabeller Format: Kontroller Ta bort markerade tabeller till listboxen valda tabeller. Defaultvärde om nytt villkor F1-hjälp: Flytta tillbaka endast markerade tabeller. R16 Listbox Valda tabeller Typ: Ledtext: Placering Format: Kontroller Listbox Valda tabeller Till höger Varje rad i listboxen har följande utseende: TABELL En beskrivning av tabellen på max 47 tecken Där TABELL består av upp till åtta tecken (och fylls ut med blanksteg om den är kortare) och beskrivningen kan vara max 47 tecken och klipps vid 44 (med avslutande... om den är längre än så) Vid initiering av formuläret läses PERSPRE3(ANVKOD/RUTIN). De tabeller som finns här läses in till listboxen. Skulle ctrl+r tryckas upprepas detta förfarande. Möjlighet att markera flera tabeller med cursor+ctrl Möjlighet att flytta markerade tabeller med dubbelklick eller Enter (på numeriska tangentbordet) Defaultvärde om nytt villkor F1-hjälp: Valda tabeller som ska kontrolleras.
Per Lindgren 2013-01-29 9 (17) R17 Uppdatera knapp Typ: Titel: F1-hjälp: Kontroller Knapp Uppdatera Lagrar uppgifter i databasen. Det är inte möjligt att uppdatera BATVILL om Körstatusen i BATCHJOB är något annat än N eller Ingen tabell valts PERSPRE3 uppdateras endast om skrivningen till BATVILL gått bra. Default: Tillgänglig Lägg in i BATVILL och PERSPRE3 Typ av körning format: UPPDATERA=J/N En rad för varje vald tabell i BATVILL Töm eventuellt innehåll i tabellen PERSPRE3(ANVKOD/RUTIN). Lägg sedan listan av valda tabeller på en rad i PERSPRE3
Per Lindgren 2013-01-29 10 (17) 2.3 RB03, batch: Städning av otillåtna tecken 2.3.1 Parametrar från beställningsfunktion(batvill) Inspektions- eller uppdaterings-körning. Format: UPPDATERA=J/N En rad i BATVILL för varje vald tabell. Format: TABELLER=<tabelnamn> 2.3.2 Allmänt Batchen körs i inspektionsläge eller i uppdateringsläge 2.3.3 Krav för städning av otillåtna tecken R100 Läs tabeller Läs och undersök och korrigera(om uppdateringsläge) de tabeller som finns inlagda i BATVILL. R101 Vad är ett otillåtet tecken? Följande tecken anses otillåtna: Hexadecimalt: 0x00-0x1F (dock ej 0x09, 0x0A och 0x0D) Motsv. i decimalt av: 0-31 (dock ej 9, 10 och 13) hexadecimalt: 0x7F Motsv. i decimalt av: 127 Hexadecimalt: 0x80-0x9F (förutom 0x85) Motsv. i decimalt av: 128-159 (förutom 133) DEC OCT HEX BIN Symbol HTML Number HTML Name Description 0 000 00 00000000 NUL � Null char 1 001 01 00000001 SOH  Start of Heading 2 002 02 00000010 STX  Start of Text 3 003 03 00000011 ETX  End of Text 4 004 04 00000100 EOT  End of Transmission
Per Lindgren 2013-01-29 11 (17) 5 005 05 00000101 ENQ  Enquiry 6 006 06 00000110 ACK  Acknowledgment 7 007 07 00000111 BEL  Bell 8 010 08 00001000 BS  Back Space 9 011 09 00001001 HT Horizontal Tab 10 012 0A 00001010 LF Line Feed 11 013 0B 00001011 VT  Vertical Tab 12 014 0C 00001100 FF  Form Feed 13 015 0D 00001101 CR Carriage Return 14 016 0E 00001110 SO  Shift Out / X-On 15 017 0F 00001111 SI  Shift In / X-Off 16 020 10 00010000 DLE  Data Line Escape 17 021 11 00010001 DC1  Device Control 1 (oft. XON) 18 022 12 00010010 DC2  Device Control 2 19 023 13 00010011 DC3  Device Control 3 (oft. XOFF) 20 024 14 00010100 DC4  Device Control 4 21 025 15 00010101 NAK  Negative Acknowledgement 22 026 16 00010110 SYN  Synchronous Idle 23 027 17 00010111 ETB  End of Transmit Block 24 030 18 00011000 CAN  Cancel 25 031 19 00011001 EM  End of Medium 26 032 1A 00011010 SUB  Substitute 27 033 1B 00011011 ESC  Escape 28 034 1C 00011100 FS  File Separator 29 035 1D 00011101 GS  Group Separator 30 036 1E 00011110 RS  Record Separator 31 037 1F 00011111 US  Unit Separator DEC OCT HEX BIN Symbol HTML Number HTML Name Description 128 200 80 10000000 € Euro sign 129 201 81 10000001 130 202 82 10000010 ‚ Single low-9 quotation mark 131 203 83 10000011 ƒ ƒ ƒ Latin small letter f with hook 132 204 84 10000100 „ Double low-9 quotation mark 133 205 85 10000101 … Horizontal ellipsis 134 206 86 10000110 † Dagger 135 207 87 10000111 ‡ Double dagger 136 210 88 10001000 ˆ ˆ ˆ Modifier letter circumflex accent 137 211 89 10001001 ‰ Per mille sign 138 212 8A 10001010 Š Š Š Latin capital letter S with caron
Per Lindgren 2013-01-29 12 (17) 139 213 8B 10001011 ‹ Single left-pointing angle quotation 140 214 8C 10001100 Œ Œ Œ Latin capital ligature OE 141 215 8D 10001101 142 216 8E 10001110 Ž Ž Latin captial letter Z with caron 143 217 8F 10001111 144 220 90 10010000 145 221 91 10010001 ‘ Left single quotation mark 146 222 92 10010010 ’ Right single quotation mark 147 223 93 10010011 “ Left double quotation mark 148 224 94 10010100 ” Right double quotation mark 149 225 95 10010101 • Bullet 150 226 96 10010110 – En dash 151 227 97 10010111 — Em dash 152 230 98 10011000 ˜ Small tilde 153 231 99 10011001 ™ Trade mark sign 154 232 9A 10011010 š š š Latin small letter S with caron 155 233 9B 10011011 › Single right-pointing angle quotation mark 156 234 9C 10011100 œ œ œ Latin small ligature oe 157 235 9D 10011101 158 236 9E 10011110 ž ž Latin small letter z with caron 159 237 9F 10011111 Ÿ Ÿ ÿ Latin capital letter Y with diaeresis R102 Otillåten teckenkombination Vissa teckenkombinationer anses också otillåtna. Dessa skall tas bort eller ersättas med tillåtna tecken. Tabell över otillåtna teckenkombinationer och hur dessa skall behandlas Teckenkombination Skall ersättas med Övrigt $ú - Kombination som blivit kvar efter att tankestreck har omvandlats under tidigare batchkörning. R103 Uppdatering Det otillåtna tecknet tas bort. R104 Utdata Mail till beställaren. Se exempel nedan: Två sorters listning:
Per Lindgren 2013-01-29 13 (17) 1. Datafil, format på filnamn: BATCH_RB03_<datum>_<tid>_RESULTAT.txt 2. Fil med sqlsatser, format på filnamn: BATCH_RB03_<datum>_<tid>_SQL.txt Se exempel nedan:
Per Lindgren 2013-01-29 14 (17) 2.3.4 Listor över undersökta/korrigerade poster Två sorters listor skapas över undersökta/korrigerade poster skapas som kan hämtas mha Hämta fil i beställningsformuläret. Den ena är en datafil och den andra en fil med sqlsatser som kan användas för att komma åt poster som innehåller 2.3.4.1 Exempel på datafil vid inspektionskörning De kolumner som skrivs ut är de som ingår i tabellens nyckel + de kolumner där fel hittas. UMEÅ UNIVERSITET;LE; RB03 Städning av otillåtna tecken; Inspektionslista;2016-10-20; Otillåtna tecken är markerade med <*>; Semikolon är markerade med [:]; ALLAHSK; kod;benamn;benamne;status;nukod;fromdat;tomdat;nedlagd; HAD;Kalles klät<*>terträd;;;;; HAJ;Resultat[:] Sverige<*><*>Finland 3<*><*>0;;;;;;; HED;;Kalles[:] klät<*>terträd;;;;;; HOD;<*>Kalles klät<*>terträd;;;;; HUD;;Kalles klät<*>terträd;;;; 2.3.4.2 Exempel på datafil vid uppdateringskörning De kolumner som skrivs ut är de som ingår i tabellens nyckel + de kolumner där fel hittas. UMEÅ UNIVERSITET;LE; RB03 Städning av otillåtna tecken; Korrigeringslista;2016-10-20; Otillåtna tecken som är korrigerade är markerade med <*>; Korrigerade semikolon är markerade med [:]; ALLAHSK; kod;benamn;benamne;fromdat;tomdat;nedlagd;
Per Lindgren 2013-01-29 15 (17) HAD;Kalles klät<*>terträd;;;;; HAJ;Resultat[:] Sverige<*><*>Finland 3<*><*>0;;;;;;; HED;Kalles[:] klät<*>terträd;;;;; HOD;<*>Kalles klät<*>terträd;;;;; HUD;;Kalles klät<*>terträd;;;; 2.3.4.3 Exempel på sqlfil vid inspektionskörning ------------START [AKTIVIT] [ALLAHSK] UPDATE utv.allahsk SET benamn='kalles klätterträd' WHERE kod='had'; UPDATE utv.allahsk SET benamn='resultat Sverige-Finland 3-0' WHERE kod='haj'; UPDATE utv.allahsk SET benamn='kalles klätterträd' WHERE kod='hed'; UPDATE utv.allahsk SET benamn='kalles klätterträd' WHERE kod='hod'; UPDATE utv.allahsk SET benamne='kalles klätterträd' WHERE kod='hud'; [ADRESS] --------------END 2.3.4.1 Exempel på sqlfil vid uppdateringskörning 5/5 betyder att 5 av 5 fel blev rättat. ------------START [AKTIVIT] [ALLAHSK 5/5 ] UPDATE utv.allahsk SET benamn='kalles klätterträd' WHERE kod='had'; UPDATE utv.allahsk SET benamn='resultat Sverige-Finland 3-0' WHERE kod='haj'; UPDATE utv.allahsk SET benamn='kalles klätterträd' WHERE kod='hed'; UPDATE utv.allahsk SET benamn='kalles klätterträd' WHERE kod='hod'; UPDATE utv.allahsk SET benamne='kalles klätterträd' WHERE kod='hud'; [ADRESS] --------------END
Per Lindgren 2013-01-29 16 (17) 2.3.5 Mail vid avslut av batchen I mailet till beställaren ska valda parametrar(uppdatering eller inspektion) och körningsstatistiken från listorna finnas med. 2.3.5.1 Inspektion Körningen är gjord i inspektionsläge. Körningsstatistik Tabeller som undersökts(antal hittade poster med fel inom parentes) ANTLIN (0) PERSATKN (5) 2.3.5.2 Uppdateringsläge Körningen är gjord i uppdateringsläge. Körningsstatistik Tabeller som behandlats och ev.korrigerats (Antal korrigerade poster med fel inom parentes) ANTLIN (0) PERSATKN (5)
Per Lindgren 2013-01-29 17 (17) 3 Kravförteckning R10 RADIOGRUPP TYP AV KÖRNING... 6 R11 LISTBOX VÄLJ TABELLER... 6 R12 PILKNAPP HÖGER VÄLJ ALLA TABELLER... 7 R13 PILKNAPP HÖGER VÄLJ MARKERADE TABELLER... 7 R14 PILKNAPP VÄNSTER TA BORT ALLA TABELLER... 7 R15 PILKNAPP TA BORT MARKERADE TABELLER... 8 R16 LISTBOX VALDA TABELLER... 8 R17 UPPDATERA KNAPP... 9 R100 LÄS TABELLER... 10 R101 VAD ÄR ETT OTILLÅTET TECKEN?... 10 R102 OTILLÅTEN TECKENKOMBINATION... 12 R103 UPPDATERING... 12 R104 UTDATA... 12