PortaWin (PW2) Jármű mérlegelő program
Módosítva: 2014. 1. 15.
Ver:1.0
Érvényes:2014. 1. 15.
METRISoft Mérleggyártó KFT 6800 Hódmezővásárhely Jókai u. 30 Telefon: (62) 246-657, Fax: (62) 249-765 e-mail:
[email protected] Web: http://www.metrisoft.hu D:\R\PW2\Leiras\Uzem\Ukieg05.odt
PortaWin (PW2) Jármű mérlegelő program Üzemeltetési Kézikönyv kiegészítés 5. Kezelői CSV alapú mérési eredmény export
Hódmezővásárhely, 2014. 1. 15. Készítette: Petényi István programozó METRISoft Kft.
13/2
Http://www.metrisoft.hu
PW2 Jármű Mérlegelő Program Üzemeltetési Kézikönyv kiegészítés 5.
METRISoft KFT Hmvhely Jókai u.30.
METRISoft KFT Hmvhely Jókai u.30.
PW2 Jármű Mérlegelő Program Kezelői CSV alapú mérési eredmény export
13/3
Tartalomjegyzék 1. KEZELŐI TEXT EXPORT SZOLGÁLTATÁS ÁLTALÁNOS ISMÉRVEI...............................................4 2. ÁLTALÁNOS BEÁLLÍTÁSOK........................................................................................................................4 2.1. ÁLTALÁNOS EXPORT OPCIÓK KONFIGURÁLÁSA.......................................................................................................4 2.1.1. Tipikus export szekció definíció bemutatása..............................................................................................6 2.2. GUID ADATOSZLOP A TÁBLÁZATOKBAN...............................................................................................................6 2.3. AZ EXPORTÁLHATÓ ADATOSZLOPOK......................................................................................................................6 2.4. EGYSZERŰ (FORMÁZOTT) REKORD EXPORT TARTALMI BEÁLLÍTÁSOK AZ ADATSZÓTÁRBAN ......................................6 2.4.1. Exportálandó mezők meghatározása 'Egyszerű rekord export'.................................................................6 2.4.2. Exportálandó tábla oszlopok formázása...................................................................................................7 2.4.3. Tábla adatoszlop kiíratás (formálisan).......................................................................................................7 2.4.4. Speciális változó kiíratás............................................................................................................................8 2.4.4.1 [C] Karakteres adatok formázása (STRCUT)........................................................................................................9 2.4.4.2 [D] Dátum mezők formázása.................................................................................................................................9 2.4.4.3 [F] Fixpontos (float) számok formázása..............................................................................................................11 2.4.4.4 [L] Logikai adat formázása..................................................................................................................................11 2.4.4.5 [I] Egész számok formázása................................................................................................................................11
2.5. FORMÁZÁS KÜLÖN FORMÁTUMFÁJL SEGÍTSÉGÉVEL...............................................................................................12
Mellékletek: További dokumentumok: Uzkieg01 Uzkieg02 Uzkieg03 Uzkieg04
Üzemeltetési Kézikönyv kiegészítés 1. (Felhasználó által konfigurálható listák) Üzemeltetési Kézikönyv kiegészítés 2. (Recept - anyag statisztikák konfigurálása) Üzemeltetési Kézikönyv kiegészítés 3. (Automatikus adatcserék tömegrögzítéskor) Üzemeltetési Kézikönyv kiegészítés 4. (Automatikus CSV alapú mérési eredmény export)
File:D:\R\PW2\Leiras\Uzem\Ukieg05.odt
PW2 Jármű Mérlegelő Program Üzemeltetési Kézikönyv kiegészítés 5.
13/4
METRISoft KFT Hmvhely Jókai u.30.
1. Kezelői text export szolgáltatás általános ismérvei Az „Napi adatmentés, távadat továbbítás” export szolgáltatás egy opció, melyet megrendelés esetén a Szoftver Licensz engedélyez! Ennek alkalmazási területe: a mérlegkezelő személy tetszőleges időpontban egy erre kialakított funkcióban kijelöli és exportálja a méréseket. Ez a technika arra jó, hogy a mérési bizonylatok ellenőrzése, pl. napi zárások, stornók, javítások stb. elvégzése után, illetve adott időszakot összevárva lehessen a mérlegelési eredményeket más rendszerek számára továbbítani. A „Napi adatmentés, távadat továbbítás” szolgáltatás használatához egy CSV alapú, széles körben konfigurálható átadási formát lehet konfigurálni. A kezelő határozza meg az átadásra kerülő adatok körét (pl. időszak), a program a bizonylatokat a konfigurált formában és helyre hozza létre. A CSV export szolgáltatás minden vonatkozásban igen változatosan konfigurálható, így jól illeszthető a feldolgozó rendszerek bemenetéhez.
2. Általános beállítások Az általános paraméterek a PW2.INI konfigurációs fájlban állítandók be. Egyéb paraméterezés lehetséges a program adatszótárában (hozzáférés DBGEN.EXE) és onnan kiindulva, szükség szerint külön konfigurációs fájlokban. A fileműveletek definiciója a PW2 rendszerben * A mentési folyamat indításakor az export fájlok az első adatsor kiírásakor jönnek létre. * A fileművelethez a file-ok exclusive megnyitása történik meg. * Az adatok átvétele után a file szabadon törölhető. * Ha az export file nem létezik, a PW2 automatikusan létrehozza az első rekord kiírásával, ezért az átvevő rendszer tetszése szerint törölheti a file-t feldolgozás után. Ügyelni kell arra, hogy az átvevő program a feldolgozást követően a file zárása után késedelem nélkül törölje a file-t, nehogy a két művelet közti időrés alatt a PW2 újabb rekordot írjon a végére. * Minden eredményrekord egyetlen alkalommal kerül exportra, ennek ismétlése nem lehetséges. * Konfigurálható, hogy az export egy saját TMP útvonalra történjen. A mentési folyamat lezárása után a PW2 a háttérben átmozgatja a fájlokat a végleges, küldési útvonalra. Ezáltal a közös hozzáférésből származó ütközés kivédhető.
2.1. Általános export opciók konfigurálása Elérési mód: PW2.INI => [EXPORT] szekció SYNCEXPORTOBJECTS=<exportálandó táblák felsorolása ; elválasztással> default: nincs kitöltve (szolgáltatás off) Itt kell felsorolni, hogy mely táblákat kell exportálni. Csak az alábbi táblázatok sorolhatók fel: Tábla azonosító (adatszótárban)
megjegyzés
NAPLO
mérési napló
GNAPLO
mérési naplóhoz kapcsolt göngyölegek táblázata
DNAPLO
mérési naplóhoz kapcsolt diszpozíciók táblázata
KESZLET
készlet egyenleg táblázat
ACENYILV Mérési naplóhoz kapcsolt CE minőségi bizonylatok táblázata Pl: NAPLO;GNAPLO;KESZLET SYNCEXPORTTMPPATH=<útvonal>
default: %DBFPATH%EXPORT\SYNCTMP\
A létrehozandó export fájlok elsődleges tárolási útvonala. A program mindig ide teszi le a fájlokat. SYNCEXPORTPATH=<útvonal>
default: üres
Az export fájlok küldés útvonala. Feladata: a már elkészült, lezárt export fájlokat a program gyors művelettel átmozgatja. A fogadó/továbbító alkalmazás innen veszi át. Ha az útvonal nem kerül megadásra, akkor a SYNCEXPORTTMPPATH útvonalon maradnak a fájlok. Ütközés esetén a fájlok felülírásra kerülnek, ezért a fájlnév specifikációt ehhez igazodva kell kialakítani! Http://www.metrisoft.hu
METRISoft KFT Hmvhely Jókai u.30.
PW2 Jármű Mérlegelő Program Kezelői CSV alapú mérési eredmény export
13/5
SYNCEXPORFILENAME=
default: %DEFAULTPCNEV%_%DTT%_EXP_%TB%%TELEPN%.SYN Itt alapvetően egy tetszőleges fájlnév szerepelhet, azonban speciális változó és konstans hivatkozások is beépíthetők. Ez alkalmas lehet pl. egyedi fájlnevek kialakítására. %DEFAULTPCNEV%: a PW2.INI fájlban megadott [STARTUP].DEFMHNEV paraméter értéke. %DTT%
időbélyeg. Tömör, kurrens ansi időpont. Pl: 20140115123459
%TB% A tulajdonos tábla fizikai neve kiterjesztés nélkül. A tábla export neve explicit is előírható az adatszótárban. Az adatszótárban a tábla fejsorában a PRGPARAMS oszlopban definiálható a 'DBSYNCTBNEV(konstans szöveg);' paraméter. Ha ez meg van adva, akkor az itt levő konstans szöveg kerül beszerkesztésre a %TB% kifejezés helyére. %TELEPN% A mérésrekordból kiolvasott TELEP adatoszlopban levő követő számérték. A TELEP oszlop hiányában a program konfigurációban levő MHAZON mérőhely azonosító konstans követő számértéke. Követő számérték: az adatértékben visszafelé olvasott szám karakterek numerikus értéke. Pl: 'W04034' esetén '4034'. SYNCCOLDELMITER=<delimiter karakter kódja>
default:9 (tab)
Az adatoszlopok kiírásakor ezt a karaktert használja a program az elválasztásra. Ha az adatértékben ez a karakter szerepel, akkor egy '?' karaktert szerkeszt be a helyére. (Ha az elválasztó karakter ?, akkor ez feltehetően feldolgozási hibához vezet a fogadó alkalmazásban, ezért ez nem javasolt!) SYNCFILEHEADER=<export fájlheader specifikáció>
default:üres
pl: %FIELDS% Ha ez a paraméter ki van töltve, akkor minden export fájl első sorában szerepel. Itt tipikusan a kiírásra kerülő adatoszlop nevekre van szükség. Ennek érdekében megadható néhány kifejezés, amely az export során kerül feloldásra. Az export formátum fájlban történő definiálásakor ez a paraméter nincs figyelembe véve: a header-t a formátum fájlban kell meghatározni! %FIELDS% a kurrens táblából exportra kerülő adatoszlop nevek felsorolása. A nevek között a SYNCCOLDELMITER kerül alkalmazásra. Ezután új sorban (SYNROWDELIMITER értéke szerint) indulnak az adatsorok. Ezt a kifejezést a program a SYNROWDELIMITER karakterrel helyettesíti be. %TB% Lásd fent. %TELEPN%
Lásd fent.
SYNCKIZARTMEZOK=
default:üres
Itt sorolandók fel tábla azonosítókkal az exportból kizárt adatoszlop nevek. Pl: NAPLO.RECEPT; NAPLO.SQLKEY; KESZLET.SQLKEY; KESZLET.NR; KESZLET.EXPORTED; ACENYILV.RTFDATA; A felsorolásban tehát a tábla azonosító.oszlopnév;... szerkezet kötelező. Az export formátum fájlban történő definiálásakor ez a paraméter nincs figyelembe véve: a header-t a formátum fájlban kell meghatározni! SYNCWITHGUID= Default:false Az export során előírható, hogy csak olyan adatsorok küldhetők, amelyek rendelkeznek egy 'GUID' nevű adatoszloppal és annak van kitöltött tartalma. Ennek célja, hogy az export utólagos bevezetésekor a guid értékkel (lásd 2.2. pont) még nem rendelkező adatrekordok ne kerülhessenek exportra. SYNROWDELIMITER=
default:$0D$0A
Egy export fájlban az adatsorokat, fejlécet elválasztó karaktersor meghatározása. Tipikusan a CrLf karakterek szolgálnak erre. Az export formátum fájlban történő definiálásakor ez a paraméter akkor van figyelembe véve, ha a forma fájlban nincs definiálva. (Ez az alapértelmezett oszlop elválasztójel)
File:D:\R\PW2\Leiras\Uzem\Ukieg05.odt
13/6
PW2 Jármű Mérlegelő Program Üzemeltetési Kézikönyv kiegészítés 5.
METRISoft KFT Hmvhely Jókai u.30.
2.1.1. Tipikus export szekció definíció bemutatása [EXPORT] SYNCEXPORTTMPPATH=D:\R\PW2\S-1724-07\PW213043\DBF\EXPORT\SYNCTMP\ SYNCEXPORTPATH=D:\R\PW2\S-1724-07\PW213043\DBF\EXPORT\SYNCIN\ SYNCEXPORTOBJECTS=NAPLO;ACENYILV;KESZLET SYNCEXPORFILENAME=%DEFAULTPCNEV%_%DTT%_EXP_%TB%%TELEPN%.SYN SYNCFILEHEADER=%TB%%TELEPN%%FIELDS% SYNCKIZARTMEZOK=NAPLO.RECEPT;NAPLO.SQLKEY;KESZLET.SQLKEY;KESZLET.NR;KESZLET. EXPORTED;ACENYILV.RTFDATA; SYNCWITHGUID=TRUE SYNCCOLDELMITER=9 SYNROWDELIMITER=$0D$0A
2.2. GUID adatoszlop a táblázatokban Bármely adattáblázat rendelkezhet egy GUID Char(50) adatoszloppal. Ha az adatszótárban a GUID adatmezőnél a DEFAULT cellában szerepel a '%GUID%' kifejezés, akkor a program új rekord létrehozásakor generál (kér a Windows-tól) egy új 'GUID' értéket. Ez egy nem ismétlődő karaktersor, amely egyedi azonosítóként használható. Oly módon kerül generálásra, hogy nagy eséllyel egyedi bármely rendszerben. pl.: '{0244FF76-9BCD-440C-9801-CDEB5C281019}' egy tipikus 'GUID' karaktersor.
2.3. Az exportálható adatoszlopok A program adatállományainak leírása és paraméterezése külön ún. adatszótár táblázatban van megadva. Ez a táblázat egyrészt befogadja az exportáláshoz szükséges paraméterek nagy részét, másrészt információs táblaként szolgálhat arról, hogy mely adatmezőket, milyen tartalommal lehet a külső rendszerek számára átadni. Az adatszótár elérése a külső DBGEN programmal történik. Használata előtt adott esetben a mérlegprogramból ki kell lépni. Módosítási igény esetén előtte mindenképpen készüljön egy mentés a CONF\Conf_DBF és Conf_IDX táblákról!! A programot indítva és a „Szótár nyit” gombra kattintva a beadható jelszó: modeng módosítási igény esetén. Csak megtekintéshez nem szükséges jelszó. A táblázatban blokkos felépítésben megtalálhatók a program adattábláinak leírása. Kezdve a „fej” leíróval, folytatva az adatoszlopok leírásával. A DBF_NAME oszlop tartalma fogja össze az egy állományhoz tartozó definíciókat. A FIELD_NAME oszlopban vannak az adatmező nevek.
2.4. Egyszerű (formázott) rekord export tartalmi beállítások az adatszótárban Ha a FeladForma = 0, 1 vagy 2, akkor egyszerű rekord exportról vagy egyszerű formázott rekord exportról beszélünk! Ennek a beállítása is egyszerű. Ha nincs speciális beállítás, akkor az összes NAPLO adattábla oszlop küldésre kerül. Az adatoszlopok sorrendje megegyezik a táblamezők sorrendjével.
2.4.1. Exportálandó mezők meghatározása 'Egyszerű rekord export' Ha egyszerű rekord export történik, akkor a rekord export során a program alapértelmezett formázásokat használ, melyhez az adatszótárban levő beállításokat használja /Az adatmezőknél található LEN (karakterszám) és DEC (tizedesjegyek) ehhez felhasználásra kerülnek/: * A dátum kiírása konfigurálható, gyárilag a BDE (Borland Database Engine) aktuális beállítása szerint történik. * A fixpontos numerikus számok kiírása fixpontos alakban történik a (Len, Dec) szerint. A tizedesjel a rendszer DecimalSeparator globális változója, tehát a Windows határozza meg (általában vessző) * Logikai mezők kiírása 'True'/'False' értékkel történik (vagy üres, ha nem inicializált a mező. Ezt tekintsük False értéknek) Dátum nyomtatási formák speciális formázása /Picture_tx oszlop az adatszótárban/: Maximális forma: ‘yyyy.mm.dd hh:nn:ss’ A fentiek szerint a dátum - óra bármely része kiírható vagy elhagyható. yyyy esetén yy alkalmazható. A dátumban az év-hó-nap sorrend változtatható. Az elválasztó karakterek fix értékek, szabadon megadhatók, elhagyhatók. példák: ‘yymmdd’, ‘hhnn’, ‘mm/dd/yyyy’, ‘dd-mm-yy’, stb. Ha nem adnak meg speciális előírást, akkor a kiírást a BDE dátumforma határozza meg.
Http://www.metrisoft.hu
METRISoft KFT Hmvhely Jókai u.30.
PW2 Jármű Mérlegelő Program Kezelői CSV alapú mérési eredmény export
13/7
Az exportálandó tábla fejleíró sor PRGPARAM cellában lehet elhelyezni az alapértelmezett formázástól eltérő adatoszlop formázást. Ha ez nincs megadva, akkor a fenti, alapértelmezett formázással kerülnek kiírásra az adatértékek. A program minden adatoszlopot kiír, amelyre nincs letiltás a SYNCKIZARTMEZOK paraméterben. Nem kerülnek kiírásra az ún. kalkulált adatoszlopok.
2.4.2. Exportálandó tábla oszlopok formázása Az adatoszlopok formázását egy blokkban kell definiálni a PRGPARAMS cellában. Legegyszerűbb ezt egy példán bemutatni: DBSYNCFIELDFORMATS( %(&NR;I) ##%(&RKOD;C;L,1,5) ##%(&AKOD;C;L,1,5) ##%(&ARKOD;C;L,1,10) ##%(&ASZAM;C;L,1,14) ##%(&RNEV;C;L,1,45) ##%(&ANEV;C;L,1,30) ##%(&ATDIM;C;L,1,2) ##%(&AFAJS;F;%-11.2f) ##%(&RKESZLET;F;%-11.2f) ##%(&IDATE;D;yyyy.mm.dd hh:nn:ss) ##%(&MDATE;D;yyyy.mm.dd hh:nn:ss) ##%(&TMAXJEL;F;%-11.2f) ##%(&TMAX;F;%-11.2f) ##%(&JELZOSZINT;F;%-11.2f) ##%(&NYUGTA;L;1,0) ##%(&EXPORTED;L;1,0) ##%(&TELEP;C;L,1,6) ##%(&SQLKEY;C;L,1,16) ##%(&GUID;C;L,1,50) )DBSYNCFIELDFORMATS; Tehát: a DBSYNCFIELDFORMATS blokkon belül, ## karakterekkel elválasztva felsorolunk kifejezéseket, amelyek az adatoszlop kiírását befolyásolják. A formázási kifejezésben egy adatoszlop név és a formázási paraméterek találhatók. A kifejezések a %(...) al blokkban találhatók. A formázás nem kötelező, ilyen esetben az adatmező formázás egyéb előírásai hatásosak (pl. az adatszótár LEN oszlopa a karakter/számjegy számot határozza meg általánosan, a DEC oszlop fixpontos számok esetén a tizedesjegyek számát) A formázás blokkban a mezőnév lezárásaként egy ^ karakter helyezhető el. Ez a kiíráskor szimpla idézőjelet eredményez az adatérték kereteként. A blokk fő paramétereit egy ; karakter választja el. A mezőnevet egy típus karakter követi. Ez kötelező. Értékei: C karakteres I egész szám F fixpontos szám D dátum típus L logikai típus Ezt követheti opcionálisan a formázási kifejezés. Ez típusonként eltérő kifejezést jelent. Az alábbiakban a típus szerinti formázási kifejezéseket tárgyaljuk.
2.4.3. Tábla adatoszlop kiíratás (formálisan) Mezőkifejezés: %(&<mezőnév>[^];<mezőtípus>;