Het maken van een procedure op uw systeem

Opmerking vooraf: In een procedure kan NIET met functietoetsen gewerkt worden. Is dat wel noodzakelijk, dan moeten in de betreffende programma's aanpassingen gemaakt worden, waarbij het gebruik van functietoetsen vervangen wordt door iets anders. Neem daarvoor contact op met uw contactpersoon bij Saldata.

Procedure's staan in de directory /usr/bbx/proc. Het kan zijn, dat deze nog moet worden aangemaakt. Inloggen met rootrechten en cd /usr/bbx en mkdir proc geven. Niet vergeten om deze directory ook in de config.bbx aan de prefix-regel toe te voegen. Dat moet met vi gebeuren en is specialistenwerk, dus contact met Saldata opnemen. Onderstaande regel dient als voorbeeld, alleen /usr/bbx/proc/ toevoegen:
PREFIX ../ ../std/ /usr/bbx/basta.fls/ /usr/bbx/proc/

Voor meer informatie over het inloggen op de console of inloggen met 'rootrechten': Zie: In- en uitloggen op de console

Het kan zijn dat de naam van het configuratiebestand een andere naam is. Uw contactpersoon dient deze te kennen.

Procedure's moeten met vi aangemaakt worden. Hieronder staat een voorbeeld van een procedure met de naam /usr/bbx/proc/test:

umask 000
cd /usr/bbx/tmp
TERM=proc
export TERM
exec ../bbx4 -m250 -p200 -c../config.bbx SEQAUT</usr/bbx/proc/test_b 2>/tmp/procerr >/tmp/scherm

De eerste 4 regels (umask, cd, TERM en export) moeten in iedere procedure aanwezig zijn. De laatste regel (exec) start bbx4 (of pro5 als u bbx versie 5 gebruikt) op. Binnen bbx4 wordt als configuratiebestand config.bbx gebruikt (dat kan dus een ander bestand zijn!). Daarna start meteen SEQAUT op en haalt de rest van de invoer uit het batchbestand op via </usr/bbx/proc/test_b. Bij een andere procedure hoeft alleen test_b door een andere bestandsnaam vervangen te worden. Via 2>/tmp/procerr wordt een eventuele opstartfout bij bbx in het bestand /tmp/procerr vastgelegd. Via >/tmp/scherm gaat alle schermuitvoer naar bestand /tmp/scherm toe. Na afloop van een procedure kan dat bestand bekeken worden. Het geeft geen mooie schermen weer, maar het verloop is met enige studie wel te volgen. Als een procedure gaat hangen, dan is dat daarin ook wel te zien.

Voor het bekijken van deze bestanden inloggen als 'root' en daarna more /tmp/procerr of more /tmp/scherm geven.

Voor meer informatie over het inloggen op de console of inloggen met 'rootrechten': Zie: In- en uitloggen op de console

In een bestand als /usr/bbx/proc/test_b worden de ingaves met vi vastgelegd, bijvoorbeeld deze batch met dagafsluitingen in bedrijf A en B:

625<RETURN>
<RETURN>
A<RETURN>
141<RETURN>
<RETURN>
P0<RETURN>
<RETURN>
625<RETURN>
<RETURN>
B<RETURN>
141<RETURN>
<RETURN>
P0<RETURN>
<RETURN>
UIT<RETURN>

Na het maken van een procedure moet deze via chmod 777 /usr/bbx/proc/test execute-rechten krijgen.

Verder is het noodzakelijk dat via BPR137 keuze A terminal-user root is aangemaakt, anders loopt uw systeem vol bij de allereerste test van de procedure omdat het bestand /tmp/scherm de hele schijf gaat volschrijven.

Voor meer informatie over het aanmaken van terminal-users: Zie: Beveiliging binnen uw programmatuur

Testen en uitvoeren procedure:

Op het scherm lijkt niets te gebeuren, want de uitvoer gaat naar /tmp/scherm toe. Bij een juiste afloop komt het scherm weer in unix terecht. Voor het bekijken van de bestanden met het 'resultaat' more /tmp/procerr en more /tmp/scherm geven.

Voor meer informatie over het inloggen op de console of inloggen met 'rootrechten': Zie: In- en uitloggen op de console

Alle procedure's MOETEN in de testfase een keer compleet getest worden! Als een procedure fout loopt, dan wordt de schijf vol geschreven (bestand /tmp/scherm) en is een reboot van het systeem noodzakelijk. Bij deze reboot wordt de /tmp directory altijd leeggemaakt en is de schijfruimte wel weer beschikbaar. Helaas is dan niet meer te zien, wat de fout in de procedure is.

Voor meer informatie over het rebooten van het systeem: Zie: Rebooten van het systeem

Indien gewenst, dan kan een procedure ook 's nachts, via het cron-mechanisme uitgevoerd worden. Om iets in de cron-tabel te moeten aanpassen, moet men als 'root' in het systeem inloggen. U kunt de inhoud van de cron-tabel opvragen met het commando crontab -l (achter de unix-prompt). Een crontabel heeft het volgende formaat:

00 2 * * 2-6 /usr/proc/kopie
00 1 * * 2-6 /usr/proc/splweg

In de eerste kolom staat de minuut van de start (00 t/m 59), in de tweede kolom de uren (0 t/m 23), in de derde kolom de dagen van de maand (1 t/m 31), in de vierde kolom de maand (1 t/m 12) en in de vijfde kolom de weekdag (1 = maandag t/m 6 = zaterdag, maar of de zondag 0 of 7 is, hangt van de unix-versie af). In de zesde kolom staat het uit te voeren commando. Als u niets wilt invullen, zet dan in de betreffende kolom een * neer. Dat betekent dan meestal 'alle'. Als u in de derde en/of de vierde kolom iets invult, dan moet in de vijfde kolom een * geplaatst worden (dat betekent in dit geval 'niet van toepassing'). Vult u in de vijfde kolom weekdagen in (waarbij 2-6 betekent '2e t/m 6e weekdag' en 2,4 betekent '2e en 4e weekdag'), dan moeten in de derde en vierde kolom een * geplaatst worden (betekent ook hier 'niet van toepassing').

Aanpassingen in de crontabel is in principe specialistenwerk. Eerst moet de crontabel in een bestand gezet worden met het unix-commando crontab -l > mijntabel en daarna via vi mijntabel aangepast worden. Als laatste dient de nieuwe tabel via crontab < mijntabel aan het cron-mechanisme aangeboden te worden.

Men kan bijvoorbeeld een regel met een procedure toevoegen in de crontabel die er als volgt uitziet:

00 23 * * 2,4 /usr/bbx/proc/test

De procedure /usr/bbx/proc/test wordt dan op iedere 2e en 4e dag van de week om 23.00 opgestart. Ook dit dient in de testfase uitgetest te worden!

Terugkeren naar het hoofdmenu