

PENGVIN Processerver är en modul för hantering av batchjobb/processer. Funktionellt hanterar processervern mycket av det som den gamla jobbservern hanterade men med en modernare och effektivare teknik.
Processervern ligger som en tjänst på servern och man kan ha flera processervrar igång, samtidigt, som utför olika jobb.
Processervern hanterar databasbaserade batchjobb och jobb som exekveras av PED (PENGVIN Elektroniska Dokument).
Alla jobb som inte är Access-baserade kan köras på processervern. Det går inte att köra Accessbaserade jobb på processervern men däremot man kan styra processervern att dra igång Access (eller andra program).
Tänk på att om man byter databas på en processerver och markeringsrutan "Processhanteraren aktiverad" (flik "Processhanterare") inte är markerad, måste tjänsten startas om för att den gamla databasen inte ska synas.
Man har möjlighet att lägga upp en menypunkt, för önskat jobb, som lägger en post till i processkön på samma sätt som om det hade aktiverats av schemaläggningen i processerver.
När man startar processen får man en kvittens tillbaka i skärmen med ett löpnummer. Om processerver saknas får man meddelande om detta, likaså om process inte är angiven för menyposten i navigeringsmenyn.

Vid redigering av navigeringsmenyn kan man i listrutan för objekt välja bland de processer som finns definierade i ”hantera processerver”, flik ”processer”.
Jobbet läggs till den processhantrerare som är uppsatt som systeminställning (referens,) ”Normal process-server”, men kan överstyras med hjälp av parameter på menyposten, Syntax: {INSTANS_ID}X. Man har också möjlighet att välja priokod men anges ingen priokod i menyposten får jobbet alltid prio 1. Syntax: {PRIOKOD}X.
När man väljer ett menyalternativ av den här typen läggs en post till i processkön på samma sätt som om det hade aktiverats av schemaläggningen i processerver.

När man startar processen får man en kvittens tillbaka i skärmen med ett löpnummer.

Om processerver saknas får man meddelande om detta, likaså om process inte är angiven för menyposten i navigeringsmenyn.
Här visas processkön, dvs de processer som körts och de processer som kommer att köras. Automatisk uppdatering av skärmen sker var 20:e sekund.


Filtrering kan ske på viss processhanterare, process och/eller processtatus.
Knappen används för att uppdatera databladet
manuellt när inte "Auto refresh" är markerat.
Om rutan är markerad uppdateras skärmbilden med
automatik var 20:e sekund.
(MV2018:6)

I fliken för processkö har man nu möjlighet att söka genom att mata in valfritt värde (t ex viss listlayout eller visst ord/del av ord eller siffror) i sökrutan under listboxen och trycka [enter]. Sökning sker i samtliga kolumner och vid träff markeras cellen i gult med röd text.
För att återfå samtliga rader igen, töm sökrutan och tryck [enter]
Kolumnfiltrering

Filtrering/selektering kan ske i varje kolumn. Klicka på den trekant som visas längst till höger på kolumnnamnet på processhanterare , process och processtatus
I listboxen till vänster väljer man på vilket sätt filtreringen skall göras
Contains
Innehåller
Starts with
Börjar med
Ends with
Slutar med
Equals
Lika med
Not Equals
Inte lika med/skiljt från
Kolumnsortering
Sortering kan göras stigande/fallande på samtliga kolumner genom att klicka på rubriken.

Ta bort jobb
Man kan, genom att högerklicka, välja att ta bort processjobb som ännu inte har startats samt ta bort jobb som startats, men inte avslutats, om jobbets starttid plus det antal minuter som angetts i systembeloppet ”Timeoutvärde processerver i minuter” är större än aktuell tid. Om denna tid inte passerats får man ett meddelande om detta om man försöker ta bort jobbet. Även jobb som avslutats går att ta bort.

Löpande nummerserie
Visar vilken process som ska utföras/är utförd
Visar starttid för processen/jobbet
Visar sluttid om processen går klart och inte avbryts. Om däremot ett jobb går igenom helt men t ex en viss faktura eller beställning inte går igenom pga felaktiga uppgifter får processen ändå ett slutdatum. Sådana fel hittar man i processer (Huvudmeny - Administration - Processer).
Visar vilken processerver som utför jobbet
Visar vilken server (datornamn) som utfört jobbet.
Tidpunkt då jobbet lades upp i kön
Vem som lagt upp jobbet (inloggad användare)
Visar hur många steg som gått igenom, t ex 2 om två steg är klara.
Prio används för att styra ett eller flera jobb före i den "allmänna" kön. Prio-fältet visar 0 för de jobb där man inte angett en egen prioritet och processervern bearbetar jobben i den ordning de ligger i kön. Lägst siffra har högst prioritet och i detta läge har 0 högre prioritet än 1.
Visar de parametrar som angetts under fliken "Processhanterare".
Här lägger man upp de olika processervrar som ska användas. Dessutom måste man installera processervertjänsten på databasen.


Lägga till ny process
Ta bort markerad process
Spara markerad process
Ny = Ctrl+N
Spara = Ctrl+S
Ta bort = Ctrl+D
Identitet för processervern. Automatisk nummersättning som inte kan påverkas av användare.
Beskrivande namn på processervern
Här anges övrig information som man vill knyta till processervern.
Processervern kontrollerar, enligt detta intervall, om det finns något jobb att utföra men utför inte själva jobbet.
Visar datum och klockslag för senaste processökning
Markeras om pm processhanteraren är aktiv, dvs ska utföra jobb. Om markeringen tas bort kommer inget av jobben som är knutet till den att startas.
Används för registrering av parametrar. När man klickar på sökknappen öppnas en dialog som gör det enklare att underhålla parametersträngar.

Ange databasserver om processervern ska hämtas från annan databas, dvs från vilken server som processkön ska läsas. Om fältet lämnas tomt gäller den databas som angetts som systeminställning (referens).
Ange databasens namn om processervern ska hämtas från annan databas. Om fältet lämnas tomt gäller det databasnamn som angetts som systeminställning (referens).
Användarsignatur på PS-instans.
Man harmöjlighet att ange ett USERID på en instans i processerver. När en sådan finns används den istället för den som är uppsatt på tjänsten.
Standardskrivare på PS-instans.
Man har möjlighet att ange en standardskrivare på en instans i processerver. Denna används för rapportutskrift när det inte finns någon skrivare definierad i köposten.
Denna skrivare tas i första hand, saknas det skrivare här används standardskrivaren som är uppsatt i systeminställningarna.
Vilken typ av processkö som ska hämtas.
<Lokal databas> - används när instruktionen hämtas från egen (lokal) databas
Extern databas - används när instruktionen hämtas från annan databas inom samma nätverk
Webservice - används när instruktionen hämtas från databas som ligger utanför det egna närverket. En tilläggsfunktionalitet för webservice behövs.
Sökvägen till databasen (behövs inte om lokal databas används).
En process kan bestå av ett eller flera moment/delar, ett exempel är "Fakturering" som kan bestå av skapa faktureringsunderlag, skriva ut fakturor samt skriva ut fakturajournal.

Till vänster i dialogen ligger de olika processer som är definierade.

Lägga till ny process
Ta bort markerad process
Spara markerad process
(MV2018:6)
Används för att köra processen direkt utan att gå via schema. Processen läggs i kön och bearbetas som vanligt.
(MV2018:7)
När man startar processen via knappen får man en kontrollfråga så man har
möjlighet att avbryta.
Ny = Ctrl+N
Spara = Ctrl+S
Ta bort = Ctrl+D
Identitet för processen
Beskrivande namn på processervern
Här anges övrig information som man vill knyta till processen.
Funktionen avser parametrar för hela processen, t ex visst bolag eller lager. I stället för att lägga parametrarna som ett kommando i fliken "Processmoment" kan man ange parametrarna direkt i processen. När man klickar på sökknappen öppnas en dialog som gör det enklare att underhålla parametersträngar.

(MV2018:8)
Det är möjligt att per process välja hur länge efter lyckad exekvering som post i processkön skall sparas. Den rensningsfunktion som finns sen tidigare och som tar bort poster enligt antal dagar i systembelopp "Behåll process-kö-poster i ant.dgr", tar hänsyn till detta nya fält. Saknas uppgiften på process används värdet i systembeloppet. Står det 0 i fältet sker ingen rensning.
Visar de jobb som är schemalagda och använder aktuell process.
Moment
Välj processmoment för aktuell process. De processmoment som finna att välja på är de som är definierade i fliken "Processmoment".
Processordning. Här anges den ordning man vill att de olika processmomenten ska köras.
Funktionen är ännu ej implementerad utan är reserverad för kommande behov.
Funktionen kommer att avse parametrar enskilt processmoment, t ex viss fakturatyp. I stället för att, som i dagsläget, lägga parametrarna som ett kommando i fliken "Processmoment" ska man i kommande PENGVIN-version kunna ange parametrarna direkt i processen.

Raderna sorteras efter processordning, dvs momenten körs i den ordning de visas i rutan (i exemplet ovan körs arbetet "skapa beställningar" först och därefter "skriv ut beställningar".
Siffran visar processens identitet (se flik "Processmoment") och har inget med processordningen på momenten att göra.

Här lägger man samtliga moment och anger ett kommando för hur de ska utföras.

Lägga till nytt processmoment
Ta bort markerat processmoment
Spara markerat processmoment
Ny = Ctrl+N
Spara = Ctrl+S
Ta bort = Ctrl+D
Identitet för processmomentet. Automatisk nummersättning som inte kan påverkas av användare. PENGVIN levererar standardinnehåll i tabellen PS_STEP (genom initieringsskript) och dessa har ett ID-begrepp som börjar med "PV…".
Beskrivande namn på processervern
Här anges övrig information som man vill knyta till processmomentet.
Typ av kommando som ska köras.
SQL-kommando (t ex för att skapa fakturaunderlag)
PED-jobb (t ex för att skriva ut fakturor)
RS-rapport
(utskrifter, t ex för att skriva ut fakturajournal. Då anges rapportnamnet
samt ev parametrar som kommando).
EPOST Används vid sändning av epost-meddelande.
SMS Används vid sändning av sms-meddelande.
POWERSHELL filscript (MV2018:6)
Typ av kommando som används när man lägger upp processmoment som skall
köra ett PowerShell-script. Parameterfältet ska innehålla fullständig
sökväg till filen.
Här kan man lägga kommando och eventuella parametrar för hur processmomentet
ska utföras. Vill man t ex undanta vissa fakturatyper vid skapa
faktureringsunderlag anger man följande syntax:
EXEC PV_UTLEV_CREATE_FAKT @I_sPARAMSTR = '{FAKTURATYP_EXCLUDE}A1,A2,B3'
De fakturatyper som skall exkluderas läggs separerat med komma. I
exemplet är A1, A2 och B3 fakturatyper.
Visar vilka olika processer detta delmoment ingår i.

Siffran till vänster visar processens identitet och har inget med processordningen på momenten att göra (se flik "Processer").
Tänk på att alltid trycka på "Spara" när förändringar gjorts!


Lägga till nytt schema
Ta bort markerat schema
Spara markerat schema
(MV2018:6)
Används för att köra processen direkt utan att gå via schema. Processen läggs i kön och bearbetas som vanligt.
(MV2018:7)
När man startar processen via knappen får man en kontrollfråga så man har
möjlighet att avbryta.
Ny = Ctrl+N
Spara = Ctrl+S
Ta bort = Ctrl+D
Löpande nummerserie
Visar vilken processerver som ska utföra jobbet
Visar vilken process som ska utföras
Beskrivning av processen
Här anges övrig information som man vill knyta till processen.
Kalenderdag(ar)
Här anges den/de dagar i månaden som ett visst jobb ska köras, alternativt månads- eller årsavslut. Fälten är tillgängliga om batchtyp "tidpunkt" eller "intervall" är valt i kombination med "Månadsvis".
Veckodag(ar)
Här anges den/de veckodagar som ett visst jobb ska köras. Fälten är tillgängliga om batchtyp "tidpunkt" eller "intervall" är valt i kombination med "Veckovis".
Batchtyp
Här anges vilken typ av batchjobb som det är frågan om, om det ska ske en enda gång, en viss tidpunkt eller i ett visst intervall.
Tider
Olika fält är tillgängliga beroende på vilken batchtyp som valts.
Fältet datum är aktuellt vid batchtyp "en gång" och "intervall"
Fältet klockslag är aktuellt vid batchtyp "en gång" och "intervall"
Fälten intervall, från och till klockslag, minut och timme är aktuella vid batchtyp "intervall" (som startdatum)
Övrigt
Anger det schemalagda jobbets prioritet
Ange om jobbet är aktivt eller ej genom att välja Ja/Nej
Vid användandet av PENGVIN-systemet loggas det löpande en stor mängd information som bl. a. kan användas för spårbarhet och kontroll. Denna information lagras i tabeller i databasen. När det har gått en viss tid är denna information inte längre aktuell att använda och kan därför rensas. För få denna rensning att löpande utföras med automatik kan man sätta upp ett jobb (EXEC PV_TABLES_MAINTENANCE) i PENGVINs Processerver.


Under gruppen ”System” har man möjlighet att per tabell styra hur många dagar data skall ligga kvar.
Antal dagar som debugposter skall sparas i systemet. Systemet utgår från dagens datum och räknar antal dagar bakåt i tiden enligt det värde man angett som systembelopp. Om man inte anger något värde, dvs det står 0, sker ingen rensning. För få denna rensning att löpande utföras med automatik kan man sätta upp ett jobb EXEC PV_TABLES_MAINTENANCE) i PENGVINs Processerver.
Tabellen PV_DEBUG_LOGG fylls normalt inte men används i utredningssyfte för att kunna logga händelser för att hitta eventuella fel i t ex lagersaldo.
Behåll poster angi vet antal dagar vid underhåll av tabell DOKUMENT_KONTERING, med dagens datum som utgångspunkt.
Avser konteringar för fakturor, leverantörsfakturor och kontantkvitton.
Värdet 0 (noll) rensar inga data utan behåller samtliga poster bakåt i tiden.
Behåll poster angivet antal dagar vid underhåll av tabell PV_DOKUMENT_MSG, med dagens datum som utgångspunkt.
Avser meddelanden för beställningar, leverantörsfakturor, utleveranser, verifikationer och ärenden samt urval i sortimentsunderhåll, kunder, insedlar, insedelsanalyser, insedelsavräkningar och insedelskontrakt.
Värdet 0 (noll) rensar inga data utan behåller samtliga poster bakåt i tiden.
Behåll poster angivet antal dagar vid underhåll av tabell PV_ORDER_MSG, med dagens datum som utgångspunkt.
Avser meddelanden för kundorder.
Värdet 0 (noll) rensar inga data utan behåller samtliga poster bakåt i tiden.
Behåll poster angivet antal dagar vid underhåll av tabell S_MEDDELANDELOGG, med dagens datum som utgångspunkt.
Avser felloggningar i systemet.
Värdet 0 (noll) rensar inga data utan behåller samtliga poster bakåt i tiden.
Systemet rensar godsmottagare som inte varit aktiva före angivet antal dagar bakåt i tiden, jämfört med dagens datum. Värdet 0 (noll) rensar inga data utan behåller samtliga poster bakåt i tiden.
Aktiva godsmottagare rensas inte bort, med aktiv godsmottagare avses:
- om det registrerats en order eller utleverans på mottagaren senare än det datum som rensning sker utifrån
- mottagaren ligger som defaultmottagare på kund i kundregistret
- mottagare har rutan för ”spärrad” markerat i godsmottagarfliken
- en kund har markerat att krav på godsmottagare och från lista är markerat
- om uppläggningsdatum på godsmottagaren saknas
Gamla godsmottagare har inget uppläggningsdatum, dvs ”null”, i registret och dessa kommer således aldrig att rensas bort. Vill man rensa bland dessa måste man via databasen peta in lämpligt datum.
Den generella rutinen för rensning av inaktuell data har kompletterats med rensning av kopior på äldre generationer av utleveranser i tabellerna H_UTLEVERANS, H_UTLEVERANS_VARURADER och H_UTLEVERANS_TEXTRADER. Systembeloppet anger ålder i antal dagar. (H_-tabeller innehåller alla generationer av alla utleveranser.)
Behåll poster angivet antal dagar vid underhåll av tabell EDIMEDDELANDEN_LOGG, med dagens datum som utgångspunkt.
Avser bearbetningsposter för Elektroniska Dokument.
Värdet 0 (noll) rensar inga data utan behåller samtliga poster bakåt i tiden.
Behåll poster angivet antal dagar vid underhåll av tabell PROCESSER_EXEKVERING, med dagens datum som utgångspunkt.
Avser processexekveringar.
Värdet 0 (noll) rensar inga data utan behåller samtliga poster bakåt i tiden.
Följande parametrar kan anges i processervern vid skapande av inköpsunderlag:
Lev.Nr |
@I_sLEVNR = '019' |
Totalsortiment från leverantör, aktiveras med värde 1 |
@I_iTOTSORT = 0 |
Lager |
@I_sLAGERID = '01' |
Inköpare |
@I_sINKOPARE = 'malva' |
Förhöjd beställningspunkt i % |
@I_fFAKTOR = 0 |
Förhöjd beställningskvantitet i % |
@I_fKVANT_PROC = 0 |
Beställningssätt |
@I_sBESTSATT = '12' |
Användare |
@I_sUSERSIGN = ’malva’ |
Hanterar uppdatering av reservationssaldon för "beställt" och "i order".
(MV2018:2)
Jobbet har kompletterats med ett batchjobb som går igenom slutsålda lagerposter. Baserat på hanteringskoder markeras produkter som utgångna eller styrs om till transit.
De produkter som avses är de som har hanteringskoder som motsvarar "Byt till transit" eller "Produkten utgår"

Om lagersaldo är 0 och hanteringskoden "Produkten utgår" sätts produktpostens hanteringskod till den hanteringskod som angetts som systemreferens "Hanteringskod för utgångna varor".
Om lagersaldo är 0 och hanteringskoden "Byt till transit" sätts produktpostens hanteringskod till 0, leveranskod sätt till "Tranist" och beställningspunkt/beställningskvantitet sätts till 0.
(MV2018:6)
Ett batchjobb som loggar aktuellt lagersaldo under förutsättning att
det är förändrat sedan senaste loggning. Detta är början till en ny analysfunktion
för att spåra förändringar av lagersaldo.
Loggningen sparas i en ny tabell "ARTIKLAR_LAGER_LOGG". Information
som sparas är lager, produktnummer, lagersaldo samt tidpunkt då loggning
skedde. Med hjälp av denna information kan man göra analyser av historiska
lagernivåer för att t ex kunna se hur ofta och under vilka perioder en
vara har varit slut (saldo 0). Processen finns i "Hantera processerver"
och heter PV032 (PV_ARTIKLAR_LAGER_LOGG_CREATE). Det krävs inga parametrar
men man kan filtrera på produkt eller lager genom parametrarna @I_sARTNR och @I_sLAGERID.