beszerzési logisztika támogatása az optimális beszállító...

58
Miskolci Egyetem, Gépészmérnöki és Informatikai Kar Logisztikai Intézet Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén Szakdolgozat Név: Makláry Brigitta Neptun kód: EQP49C

Upload: others

Post on 23-Oct-2019

9 views

Category:

Documents


0 download

TRANSCRIPT

Miskolci Egyetem, Gépészmérnöki és Informatikai Kar

Logisztikai Intézet

Beszerzési logisztika támogatása az optimális

beszállító kiválasztása révén Szakdolgozat

Név: Makláry Brigitta

Neptun kód: EQP49C

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

I

Tartalomjegyzék

1. BEVEZETÉS ............................................................................................................................................ 1

2. BESZERZÉS ............................................................................................................................................ 2

2.1. A BESZERZÉS FOGALMA ....................................................................................................................... 2

2.2. A BESZERZÉSI KOORDINÁCIÓ MÓDSZEREI ................................................................................................. 2

2.3. ANYAGBESZERZÉS .............................................................................................................................. 3

2.3.1. Anyagok ............................................................................................................................... 3

2.3.2. Anyagok csoportosítása ....................................................................................................... 3

2.4. ANYAGRENDELÉS TECHNOLÓGIAI ANYAGNORMÁK SZERINT .......................................................................... 3

2.4.1. Anyagszükséglet meghatározása ......................................................................................... 3

2.4.2. Készlet szükséglet összevetése ............................................................................................. 3

2.4.3. Szállítási ciklusidők rögzítése ................................................................................................ 4

2.4.4. Biztonsági készlet meghatározása ........................................................................................ 4

2.4.5. Anyagrendelés ..................................................................................................................... 4

2.5. A BESZERZÉS FELADATA ....................................................................................................................... 4

2.5.1. Rövid és hosszú távú ellátás biztosítása ................................................................................ 5

2.5.2. Anyagköltségek csökkentése ................................................................................................ 5

2.5.3. Ár versenyképesség javítása ................................................................................................. 5

2.5.4. Ártárgyalás .......................................................................................................................... 6

2.5.5. Szerep a termékfejlesztésben ............................................................................................... 6

2.5.6. Innováció és termékfejlesztés segítése ................................................................................. 7

2.6. BESZERZÉS CÉLKITŰZÉSEI ..................................................................................................................... 7

2.7. A BESZERZÉSI FOLYAMAT ..................................................................................................................... 8

2.7.1. Késztermék megrendelés ...................................................................................................... 9

2.7.2. Késztermék megrendelés feldolgozása ............................................................................... 10

2.7.3. Termelésprogramozás ........................................................................................................ 10

2.7.4. Alapanyag meghatározása és készletkövetés ..................................................................... 10

2.7.5. Rendelés előkészítés ........................................................................................................... 11

2.7.6. Beszállítás és gyáron belüli anyag elhelyezés ...................................................................... 11

2.8. BESZÁLLÍTÓK KOMPLEX MINŐSÍTÉSE ..................................................................................................... 12

2.9. INCOTERMS.................................................................................................................................... 13

2.9.1. Klauzulák fajtái a költség átszállása alapján ....................................................................... 13

2.9.2. Klauzulák fajtái a fuvarozási mód alapján .......................................................................... 13

2.9.3. Főbb klauzulák ................................................................................................................... 13

3. ADATBÁZIS ALAPOK ........................................................................................................................... 15

3.1. FOGALMAK .................................................................................................................................... 15

3.2. ADATMODELL ................................................................................................................................. 15

3.2.1. ER adatmodell .................................................................................................................... 16

3.2.2. Relációs adatmodell ........................................................................................................... 18

3.3. ADATBÁZIS LÉTREHOZÁS LÉPÉSEI ......................................................................................................... 18

3.4. AZ ADATBÁZIS SZERKEZETE ................................................................................................................. 19

4. HASZNÁLT NYELVEK, ALKALMAZÁSOK ISMERTETÉSE ......................................................................... 20

4.1. JDBC ........................................................................................................................................... 20

4.2. SQL NYELV .................................................................................................................................... 21

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

II

4.3. PL/SQL NYELV ............................................................................................................................... 22

5. A PROGRAM ISMERTETÉSE ................................................................................................................. 23

5.1. ÁLTALÁNOS LEÍRÁS .......................................................................................................................... 23

5.2. KÖVETELMÉNYEK ÉS RENDSZER LEÍRÁS .................................................................................................. 24

5.3. ADATBÁZIS LEÍRÁSA.......................................................................................................................... 24

5.4. HASZNÁLT ADATMODELLEK ................................................................................................................ 25

5.4.1. ER modell ........................................................................................................................... 26

5.4.2. Relációs modell .................................................................................................................. 26

6. TÁBLÁK FELÉPÍTÉSE ............................................................................................................................ 27

6.1. BESZÁLLÍTÓ TÁBLA LÉTREHOZÁSA......................................................................................................... 27

6.2. ALKATRÉSZ TÁBLA LÉTREHOZÁSA ......................................................................................................... 27

6.3. BESZÁLLÍTÓ-ALKATRÉSZ TÁBLA LÉTREHOZÁSA ......................................................................................... 28

6.4. RAKTÁR TÁBLA LÉTREHOZÁSA ............................................................................................................. 29

6.5. RENDELÉS TÁBLA LÉTREHOZÁSA .......................................................................................................... 29

6.6. NAPLÓ TÁBLA LÉTREHOZÁSA .............................................................................................................. 30

7. TÁBLAMŰVELETEK .............................................................................................................................. 31

7.1. ELMÉLETI ISMERTETÉS ...................................................................................................................... 31

7.2. CSOMAGOK ................................................................................................................................... 32

7.2.1. Alkatrész táblához tartozó csomag ..................................................................................... 32

7.2.2. Beszállító táblához tartozó csomag .................................................................................... 32

7.2.3. Besz_Alk táblához tartozó csomag ..................................................................................... 34

7.2.4. Rendelés táblához tartozó csomag ..................................................................................... 36

7.2.5. Raktár táblához tartozó csomag ........................................................................................ 39

8. PROGRAMFELÜLET BEMUTATÁSA ...................................................................................................... 43

8.1. HIÁNYOS KÉSZLET LISTÁZÁSA .............................................................................................................. 43

8.2. ALAPFELÜLET.................................................................................................................................. 44

8.2.1. Optimális beszállító kalkulálás............................................................................................ 44

8.2.2. Rendelés............................................................................................................................. 45

8.3. ÚJ ELEM FELVÉTELE .......................................................................................................................... 46

8.4. LISTÁZÁS ....................................................................................................................................... 47

8.5. KERESÉS ........................................................................................................................................ 47

8.6. MÓDOSÍTÁS ................................................................................................................................... 48

8.7. NAPLÓZÁS ..................................................................................................................................... 49

8.8. SÚGÓ ........................................................................................................................................... 50

9. ÖSSZEFOGLALÁS ................................................................................................................................. 51

10. SUMMARY ...................................................................................................................................... 52

11. IRODALOMJEGYZÉK ........................................................................................................................ 53

12. CD MELLÉKLET TARTALMA ............................................................................................................. 54

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

1

1. Bevezetés

2013 nyarán a Samsung Electronics Hungary Zrt.-nél töltöttem a nyári

gyakorlatomat, a Beszerzési osztályon. Kérésemre sikerült elegendő információt

gyűjtenem arról, hogy milyen szempontok szerint történik egy beszállító kiválasztása az

alkatrész megrendelésének esetében.

Manapság felgyorsult a világ melyben élünk, ezért egyáltalán nem mindegy, hogy

egy rendelt szállítmány mikor érkezik meg a gyárba. A beérkezés után nem lehet azonnal

felhasználni, mivel van lerakodási idő is, így hiába van a gyár területén az alkatrész a

termelés leállhat az anyaghiány miatt. Az előbbiből adódik, hogy mennyire fontos az

időzítés. A Beszerzőnek oda kell figyelnie a szállítási időre, különben leállíthatja a

gyártást, mely a cég szempontjából nem túl gazdaságos. A rendelés kiadásánál az időzítés

mellett fontos még a költség. Nem mindegy, hogy kitől, milyen szállítási feltételekkel és

költségekkel rendelünk egy alkatrészt. Minden beszállító más - más árakkal rendelkezik. A

Beszerzőknek ezeket az adatokat hatékonyan és gyorsan kell tudniuk kezelni.

Az általam készített programmal az ő munkájukat kívánom megkönnyíteni.

Lehetőséget adok arra, hogy pillanatok alatt szinte bármilyen információhoz

hozzáférjenek, ami egy alkatrész megrendelésénél szükséges. Egy alapanyagot kiválasztva

a rendszer kiszámolja a lehetséges költségeket, így a Beszerző eldöntheti, hogy az ár vagy

az idő kapja a magasabb prioritást az anyagrendelésnél. A rendszer nem választ a Beszerző

helyett, hiszen a választás nem minden esetben egyszerű. Ha nem felel meg a program által

felajánlott érték, akkor azt vissza kell utasítani, ami ronthatja a cégek KPI (Key

Performance Indicator) mutatóját.

A Logisztikai rendszerek szakirány tanulója vagyok. A szakirányomnak megfelelő

témát szerettem volna választani, ezért úgy döntöttem, hogy az általam kedvelt logisztika

témát, az anyagbeszerzést összekapcsolom az adatbázis kezeléssel és a programozással.

Eredménye SQL és PL-SQL alapú adatbázis, melyre JDBC segítségével felületet

készítettem.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

2

2. Beszerzés

Azt a folyamatot, amivel a vállalati logisztika általában foglalkozik, három részre

oszthatjuk: beszerzési, termelési, és értékesítési logisztika.

A beszerzési logisztika áll az anyagáramlási folyamatok kezdeténél, mivel biztosítja

azokat a bemeneti készleteket, amelyek a termelés elvégzéshez szükségesek. Egy átlagos

iparvállalat bevételének 55%-85%-át költi ezekre, így e feladat minél gazdaságosabb és

megbízhatóbb ellátása létkérdés.

2.1. A beszerzés fogalma

A beszerzés olyan folyamat, mely túllép az egyszerű, hétköznapi vásárláson. Magába

foglalja a beszerzés tervezését, a beszerzési stratégia kialakítását. Feladata a megfelelő

szállító kiválasztása, a szerződéskötés, a szállítók folyamatos ellenőrzése és fejlesztése,

valamint a vállalat egyéb szerveivel kialakítandó tevékenység koordinációja. Ezek révén

járul hozzá a beszerzés a vállalati eredményhez.

2.2. A beszerzési koordináció módszerei

Centralizált beszerzés: egy központi szerv szerzi be minden egység számára a

szükséges alapanyagokat, és látja el a beszerzés

megszervezésének teljes feladatát. Előnye, hogy egyetlen

egységként olcsóbb. Hátránya viszont, hogy az egyéni

igényeket kevésbé képes kielégíteni.

Decentralizált beszerzés: minden egység saját magának, másoktól teljesen

függetlenül szerzi be a számára szükséges alapanyagokat.

Előnye, hogy az egyéni igényeket maximálisan ki tudja

elégíteni. Hátránya pedig az, hogy nem kapnak

árkedvezményeket, ami a nagyobb mennyiségű

megrendelések után jár.

Beszerzés gazda: az a szervezeti egység szerzi be az alapanyagokat az összes

többinek, amely a legnagyobb mennyiségben használja azokat fel.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

3

2.3. Anyagbeszerzés

2.3.1. Anyagok

Az anyagok olyan vásárolt készletek, amelyeket termék előállításához vagy

szolgáltatások nyújtásához szereztek be. Az újratermelési folyamatban rendszerint egyszer

vesznek részt és általában elvesztik eredeti megjelenési formájukat, vagyis a vállalkozási

tevékenységet nem tartósan szolgálják.

2.3.2. Anyagok csoportosítása

Alapanyagok: azon nyersanyagok és termékek, amelyek feldolgozása az adott

gyártási folyamat legfontosabb célja, a fő termék fő alkotórészévé válik.

Segédanyagok: a gyártáshoz kisebb mennyiségben felhasznált anyagok. Javítják a

gyártmány minőségét.

Üzem és fűtőanyagok: elektromos vagy hő energia elő állítását szolgálják.

Tartalék-alkatrészek: a termelő berendezések alkatrészpótlására.

Egyéb anyagi eszközök: egy évnél rövidebb ideig szolgálják a vállalkozás

tevékenységét (pl.: munkaruhák, védőruhák).

2.4. Anyagrendelés technológiai anyagnormák szerint

2.4.1. Anyagszükséglet meghatározása

A gyártástechnológia igényének megfelelően műszaki, statisztikai adatok

felhasználásával, becsléssel határozható meg a termék előállításához szükséges

anyagszükséglet az anyagféleségre vonatkozóan.

2.4.2. Készlet szükséglet összevetése

Anyag típusonként meg kell vizsgálni a raktári állományt, hogy látszódjon, mely

anyagból mennyi van még készleten. Meg kell nézni, hogy ebből mennyi tartozik a

biztonsági készlethez, hiszen ennek mindig raktáron kell maradnia. Az összes készletből a

biztonsági készlet levonása után maradt készlettel kell számolni.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

4

2.4.3. Szállítási ciklusidők rögzítése

A beszállítóval tisztázni kell, hogy a hány nap a szállítási idő a megrendelés

kiadásától számítva. Az anyagrendelésnél ezt a szempontot figyelembe kell venni. A

szállítási határidőket folyamatosan karban kell tartani. A beszállítónak jeleznie kell az

esetleges változásokat, hogy a nyilvántartásban megtörténhessen az érték módosítása.

2.4.4. Biztonsági készlet meghatározása

A termelésben, valamint az anyagellátásban fellépő zavarokat ki kell küszöbölni,

erre szolgál a biztonsági készlet. A biztonsági készletet mindig meg kell tartani,

vészhelyzet esetére (pl.: nem érkeznek meg az anyagok, mert lezárták a repülőteret). A

készlet nagyságát általában több szempont határozza meg:

a termelő egység készletelőírása (terv),

az alkatrészek átfutási ideje,

a gyártási ciklusidő,

a gyártás bonyolultsági foka.

2.4.5. Anyagrendelés

A rendelkezésre álló adatok alapján ki lehet számolni az anyagigényt.

Anyagigény=(Gyártandó termék x anyag norma) - (Összes készlet-biztonsági készlet).

Anyagigényt továbbítani kell a beszállítók felé. Ez történhet levélben, faxon, elektronikus

úton.

2.5. A beszerzés feladata

A beszerzés feladata, hogy a vállalat működéséhez szükséges különböző anyagokat,

berendezéseket, szolgáltatásokat biztosítsa (iparvállatok bevételük 55-60%-át, élelmiszer

és vegyipari cégek 70-75%-át költik inputanyagokra).

Feladatai közé tartozik a logisztikai rendszer teljesítményének előmozdítása, a gyors

ellátáson, a minőség javításán, a költségcsökkentési lehetőségek feltárásán keresztül. A

beszerzés fontos információforrás, mivel az újabb potenciális beszállítókról, újabb

termékekről, technológiákról és a beszállítói piacon folyó versenyről is információt ad.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

5

2.5.1. Rövid és hosszú távú ellátás biztosítása

A beszerzés legfontosabb feladata a rövid és hosszú távú ellátás biztosítása. Az

anyag-ellátás és a szolgáltatás-ellátás hiánya esetén a termelés folyamatossága

megszakadhat, aminek következtében megreked a vállalkozás eredeti célja, a profit.

2.5.2. Anyagköltségek csökkentése

A beszerzés az átlagos feldolgozóipari vállalatok számára nagyon lényeges, mert

költségeinek akár 60%-át is kiteheti az anyagköltség. Ha egy cég akár 5%-kal is tudja

csökkenteni ezen költségeit, azzal már jelentősen növeli a nyereségét.

Az anyagellátási tevékenységnek fontos szerepe van a végtermék minősége és

technikai színvonala szempontjából is. A végtermék minősége és színvonala függ a

felhasznált anyagoktól és alkatrészektől, ezért a beszerzésnek arra kell törekednie,

hogy adott specifikációnak megfelelő minőségű, technikai színvonalú és árú terméket

szerezzenek be.

2.5.3. Ár versenyképesség javítása

Jelentős költségmegtakarítás, s ezen keresztül nyereségnövelés érhető el, ha a

beszerzendő anyag, termék vagy szolgáltatás árából csökkenteni tudunk. A

biztonságos rövid távú anyagellátás és az árcsökkentés együttes elérésekor

jelentkezhető ellentmondások:

A nagy tételben való vásárlás révén diszkontárat lehet elérni.

A magas raktárkészlet javítja az ellátás biztonságát és segíti kiküszöbölni a

minőségi és mennyiségi hullámzásokból származó problémákat.

A nagy készlet miatt nő a raktározási költség, illetve a forgóeszköz lekötés

kamatveszteséget okozhat.

Hosszú távú szerződések kötése nélkül, nem biztosítható a hosszú távú ellátás

biztonsága és minősége. Rövid távú ellátás esetén a szállító-gyártó együttműködés

nem megfelelő, nem járulnak hozzá az új termék kialakulásához, a termelési folyamat

modernizálásához vagy a további költségcsökkentéshez. Alacsony a kölcsönös

bizalom és együttműködés szintje.

Az ellentmondások oka, hogy egyrészt cél az ellátás biztosítása, másrészt, hogy

ez a biztonság pénzbe kerül. Ezért az optimális ellátási szint eléréséhez a különböző

tényezők mérlegelésére és összhangjára van szükség.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

6

2.5.4. Ártárgyalás

A beszerzési feladatok közül az egyik legjelentősebb a vételárról folytatott

tárgyalás. A termék, szolgáltatás egységárát befolyásoló tényezők:

Vásárolt mennyiség (tárgyalással elérhető kedvezmény a mennyiség

növekedésével javul, vagyis minél nagyobb tételben vásárol egy cég a

gyártótól annál nagyobb kedvezményre lesz jogosult),

Termék szabványos vagy egyedi volta (szabványosítással tovább

csökkenthetők a költségek),

Tervezhetően ismétlődő, illetve egyszeri beszerzés (visszatérő beszerzések

esetén kedvezőbb az alkupozíció),

Minőség (funkciónak megfelelő és feladat orientált minőség),

Termékkel, szolgáltatással együtt járó kiszolgálás milyensége,

Szállítási feltételek (paritás, távolság, szállítóeszköz),

Csomagolás (kis-nagy tételek).

2.5.5. Szerep a termékfejlesztésben

Beszerzésnek meghatározó szerepe van a termékfejlesztésben is. Napjainkban a

termékek életkora csökkent, a bevezetés és a növekedés szakasza rövidebb lett, s a

hanyatlást, a termék piacról való kivezetését sem szabad elhúzni. A beszerzés

összegyűjti, osztályozza és szétosztja az illetékes részlegek között az információit, így

ezzel folyamatos tájékoztatást nyújt a lerövidült termék életciklus időszakában a

kutatás, fejlesztésnek és a termelési részlegnek a beszerzési piac változásairól. A

megfelelő információáramlás előnyt biztosít a cég számára. A beszerzés feladata, hogy

nyomon kövesse a potenciális partnerek árait, technikai jellemzőit és rugalmasan

reagáljon a változásokra.

A beszerzés feladatkörébe tartozik a vállalti készletek számontartása is, ez

ugyanis befolyásolja a beszerzés időzítését. Anyagköltség szempontjából fontos a

beszerzés ütemezése a raktárkészletekkel összhangban. A szállítások megfelelő

ütemezésével optimalizálható az egyszeri szállítási mennyiség és a készlettárolási

költség.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

7

2.5.6. Innováció és termékfejlesztés segítése

A beszerzés egyik alapvető célja az optimális minőség biztosítása, hogy a

vállalat piacon megjelenő termékének, illetve szolgáltatásának minősége és technikai

színvonala kielégítse az elvárásokat. A beszerzésnek a kompetitív pozíció

fenntartásához vizsgálnia kell, hogy a vállalat minőségszintje ne legyen alacsonyabb,

mint a versenytársaké hasonló termékek esetén.

Lényeges, hogy partnerként kezelje a szállítót, s gondoskodjon a saját vállalatán

belül, illetve kifelé is a szállító jó híréről, mert az ilyen kapcsolat lehetővé teszi a

technikai segítségnyújtást, az innovációkban való segítést, költségcsökkentést, illetve

teljesítménynövelési technikák átadását. A jó személyes, illetve cég kapcsolatok az

ellátás biztonságát is garantálják.

A beszerzés célja és feladata a vállalaton belüli viszonyok fejlesztése, a

különböző részlegek egymás közötti kapcsolatainak és harmóniájának megteremtése,

mivel ez a részleg találkozik legkomplexebben a vállalat minden szervezetével.

2.6. Beszerzés célkitűzései

Maximálisan hozzájárulni a vállalat versenyképességéhez, a profit biztosításához,

a versenyben való túléléséhez.

Biztosítani az ellátás folyamatosságát, a vállalat működéséhez szükséges

minőségű anyagokkal és szolgáltatásokkal.

Az anyagok minimális árán való beszerzése, mely arányban áll az elfogadható

minőséggel és szállítással.

A raktározási kiadások összhangjának segítése az ellátási biztonsággal és a

gazdasági előnyökkel.

A gazdasági készletek biztonságos minimumon való tartása és kedvező áron

túladni a fölösleges készleteken.

Vállalati költségszerkezet javítása.

Elemzések készítése a hosszú távú ellátások biztonságáról és ennek költségeiről.

Más szervezetekkel való együttműködés az integráló szerep felhasználásával.

A célok elérése érdekében a beszerzési politika, az eljárások, az irányelvek, a

személyzeti állomány és az új termékek folyamatos fejlesztése.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

8

Szállító fejlesztése a jobb eredmények elérése érdekében.

Segíteni a szállító hírnevének kialakításban (ha megérdemli).

Minőség és az értékek megfelelő egyensúlyának fenntartása.

Beszerzési piac figyelése, új, megbízható szállítók keresése és kiválasztása.

2.7. A beszerzési folyamat

A termelő vállalatok logisztikai rendszere alrendszerekre tagozódik. Ezek a

következőek: beszerzési, termelési, elosztási és hulladékkezelési-újrahasznosítási

alrendszerek. A vállalati logisztikai rendszer tervezésénél, működtetésénél és

ellenőrzésénél a vállalat logisztikai menedzsmentje fontos szerepet játszik, melynek

feladata a vállalati általános stratégiák ismeretében az egyes logisztikai alrendszerek

számára működtetési stratégiák kidolgozása. Az általános stratégiák és a logisztikai

alrendszerek speciális stratégiáinak az együttes figyelembevétele eredményezheti csak a

logisztikai folyamatok sikeres és eredményes megvalósítását.

A 2.1. ábra a beszerzési logisztikai folyamatot foglalja össze, mely két részre

bontható fel:

Alapanyag rendelési folyamat, amelyben csak logisztikai információk áramolnak,

vagyis ez egy logisztikai információáramlási folyamat.

Az alapanyag rendelési folyamat eredményeként megvalósuló folyamat,

amelyben anyagáramlás és a hozzákapcsolódó információáramlás is megjelenik.

A 2.1. ábra jobb oldalán a beszerzési logisztikai tevékenység alapanyag-rendelési

folyamata látható. Az alapanyag rendelését általában két tényező befolyásolja. Az egyik a

piacról érkező késztermék megrendelések, míg a másik a piaci igények kielégítését

szolgáló termelési tervek megvalósulásához rendelkezésre álló alapanyagok raktári

készletei.

A 2.1. ábra bal oldalán található, a megvalósuló logisztikai folyamat. Itt a

beszállítótól a termelésbe történő anyagátadásig láthatóak folyamatorientáltan kezelve a

jelentkező logisztikai feladatok. Például, itt történik a beszállítók időzítése és a szállítás

lebonyolítása, illetve az áru megfelelő kezelésének folyamata.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

9

2.1. ábra: Beszerzési logisztikai folyamat

2.7.1. Késztermék megrendelés

A késztermék megrendelésénél a megrendelést különféle információk írják le. Ezek

az információk két csoportba oszthatók. Az egyik csoport a megrendelés tartalmára

vonatkozó információkat tartalmazza:

melyik vállalat a megrendelő és milyen terméktípusra vonatkozik a megrendelés;

a terméktípusokra vonatkoztatva milyen nagyságúak a megrendelt sorozatok,

mennyi a szállítási határidő;

terméktípusokra és sorozatokra vonatkoztatva mekkora az ár;

terméktípusokra vonatkozóan milyenek a minőségi megkötések;

a megrendelt késztermékre vonatkozóan, a vevő által igényelt logisztikai

szolgáltatások (R-S-T tevékenység, csomagolás, egységrakomány-képzés,

komissiózás, termékazonosítás);

a termékre és a megrendelőre vonatkozó prioritásokat.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

10

A második csoportba tartozó információk a megrendelések beérkezésével

kapcsolatosak:

mikor és milyen időközönként érkeznek a megrendelések. Érkezhetnek

tetszőleges vagy meghatározott időpontokban (naponta, hetente, havonta, stb.).

milyen módon, hogyan érkeznek a megrendelések (telefonon, levélben, faxon).

2.7.2. Késztermék megrendelés feldolgozása

A késztermék megrendelések feldolgozásának alapvető célja, hogy a vállalat a lehető

legrövidebb időn belül választ tudjon adni a megrendelőnek arra vonatkozóan, hogy a

vevői igényeket képes-e teljesíteni. A vevői igények teljesítésének több feltétele van. A

vállalatnak biztosítani kell a szükséges alapanyagfajta, mennyiség, gyártási kapacitás és

logisztikai szolgáltatások erőforrásainak adott időpontban való rendelkezésre állását.

2.7.3. Termelésprogramozás

A szükséges gyártási kapacitás megfelelő időpontban való rendelkezésre állását a

termelésprogramozás segítségével meghatározhatjuk. Ennek gyorsasága és pontossága

függ a vállalat termékstruktúráját leíró számítógépes adatbázistól, valamint a

termelésprogramozásnál alkalmazott szoftverektől és hardverektől

2.7.4. Alapanyag meghatározása és készletkövetés

A szükséges alapanyagfajta és mennyiség adott időpontra való rendelkezésre állását

a következő vizsgálatok alapján tudjuk eldönteni:

anyagszükséglet meghatározása a megrendelői igény kielégítésre vonatkozóan,

az alapanyag raktárak készlet szintjeinek percre kész követése anyag-fajtánként,

a szükséges alapanyag fajták és mennyiségek meghatározása a vevői igény

kielégítésre,

a szükséges beszállítói kapacitások feltárása és biztosítása az alapanyag-

ellátáshoz.

Az anyagszükséglet meghatározásának gyorsasága és pontossága függ a

termékstruktúrára vonatkozó anyagszükséglet adatbázis meglététől és annak tartalmától,

illetve az alkalmazott anyagszükséglet meghatározó szoftvertől.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

11

Az alapanyagraktárak készletszintjeit percre készen nyilvántartják. Ezek alapján

könnyen meghatározhatók a raktáron lévő, de még nem lekötött anyagmennyiségek, a

raktáron lévő, lekötött anyagmennyiségekből felszabadítható, későbbi időpontra

átütemezhető anyagmennyiségek, továbbá a termelési folyamatba jelenleg lehívott

anyagmennyiségek, amelyekből esetleges átütemezés lehetséges.

2.7.5. Rendelés előkészítés

A megrendelésekre ajánlatokat kell kérni a beszállítóktól. Nem kell ajánlatkérés, ha

stratégiai beszállítóról van szó, mivel ilyen esetben az árura egy hosszabb időszakra

keretszerződés lett megkötve.

Az ajánlatkérést piackutatás előzi meg, melyet a beszállítók körében kell elvégezni.

A kutatás mélysége attól függ, hogy már meglévő anyagot szeretnék rendelni vagy teljesen

új áruról van szó. Ha már meglévőt szeretnénk szállítatni, akkor meg kell nézni, hogy

akitől eddig rendeltünk az megfelelően teljesíti az elvárásokat, vagy felvetődik az a kérdés,

hogy van-e a vállalatnál olyan más beszállító, aki képes a szóban forgó anyagok

beszállítani. Ha még eddig nem rendelt anyagról van szó, akkor először a már meglévő

beszállítói körnél kell érdeklődni, az igény teljesítéséről, és ha ez nem kivitelezhető a

beszállítók szélesebb köréből kell választani.

A beérkező ajánlatok kiértékelésénél a következő szempontokat kell figyelembe

venni: ár, szállítási határidő, minőség, megbízhatóság, a beszállító közelsége, szállításra

ajánlott árufajták száma.

2.7.6. Beszállítás és gyáron belüli anyag elhelyezés

A rendeléseket mindig úgy kell összeállítani, hogy a szükséges anyagok mindig

rendelkezésre álljanak. A beszállítók ütemezése, a szállítási mód és eszköz kiválasztása

nagy odafigyelést igényel, hiszen egy vállalat szempontjából az sem gazdaságos, ha nincs

anyag és az sem, ha sok van belőle a raktárkészleten.

Az áru vállalathoz szállítása során el kell dönteni, hogy az anyag hol kerüljön

lerakodásra és, hogy meg kell-e bontani az egységrakományokat. Ezután a beszállított

anyagot a gyáron belül a megfelelő helyre és egységben kell elhelyezni. Az újonnan

beérkező árut mindenképpen fel kell venni a nyilvántartásba, hogy a készletet ellenőrizve

újabb rendeléseket lehessen kiadni. Végül indulhat a termelés.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

12

2.8. Beszállítók komplex minősítése

A már meglévő és új az beszállítókat a költséghatékonyság miatt értékelni kell. Az

értékelés akkor kezdődik, amikor először megrendelésre kerül egy anyag az adott

beszállítótól. A pontszámok alapján a beszállítók különböző kategóriákba kerülnek:

stratégiai vagy egyedi beszállító. Ha pontszám huzamosabb ideig egy adott szint alatt van,

akkor a vállalatnak érdemes felbontani a szerződést és új beszállító után nézni. Az

értékelés módját a 2.2. ábra mutatja be.

Értékelő kulcs:

2.2. ábra: Beszállítói minősítés

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

13

2.9. Incoterms

Az Incoterms (International Commercial Terms - Nemzetközi Kereskedelmi

Feltételek). A költségek szempontjából igen lényeges. Létrehozásának célja egy egységes

szabályozás megteremtése volt, amely az eladó és a vevő jogait szabályozza a nemzetközi

szállítási szerződésekben, úgynevezett klauzulák formájában. A szokvány nem jogszabály,

ezért csak azáltal lép életbe, hogy a szerződő felek elfogadják. Jelentősége abban áll, hogy

a szerződésekben nem kell részletesen szabályozni a szállítási feltételeket, elég utalni a

megfelelő incoterms klauzulára. A klauzulákat a 2.3.ábra ismerteti.

2.9.1. Klauzulák fajtái a költség átszállása alapján

Ha a költség ugyanott száll át az eladóról a vevőre ahol a kockázat, akkor a klauzula

1 pontos.

Ha a költség és a kockázat átszállása szétválik, akkor a klauzula 2 pontos.

2.9.2. Klauzulák fajtái a fuvarozási mód alapján

Az alkalmazott fuvarozási mód alapján a klauzulák lehetnek tengeri / belvízi

klauzulák vagy multimodális klauzulák. A multimodális klauzulák többféle fuvarozási mód

és különböző összekapcsolódási módok esetén alkalmazott.

2.9.3. Főbb klauzulák

EXW: Ex Works, (gyárból) Az eladó saját telephelyén köteles az árut megfelelően

csomagolva, számlázva a vevő rendelkezésére bocsátani.

FCA: Free Carrier, (költségmentesen a fuvarozónak) Az eladó köteles az árut saját

költségére és kockázatára a vevő által megjelölt fuvarozóhoz eljuttatni és neki

fuvarozás céljára átadni.

FOB: Free On Board, (költségmentesen a hajón) Az eladó köteles az árut saját

költségére és kockázatára az indulási kikötőbe eljuttatni és a hajó fedélzetén a vevő

rendelkezésére bocsátani.

CIF: Cost, Insurance and Freight, (költség, biztosítás és fuvardíj fizetve) Az eladó

köteles az árut saját költségére az érkezési kikötőbe eljuttatni, a kockázat és az áru

feletti tulajdonjog azonban az indulási kikötőben, amikor az áru áthalad a hajó korlátja

felett, átszáll a vevőre.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

14

CIP: Carriage and Insurance Paid To, (fuvarozás, biztosítás fizetve valameddig) Az

eladó köteles az árut saját költségére a rendeltetési helyre eljuttatni. A kockázat az első

fuvarozótól kezdve a vevőt terheli.

DAF: Delivered at Frontier, (határra szállítva) Az eladó köteles az árut saját költségére

és kockázatára a szerződésben megjelölt határig eljuttatni és a vámhatár előtt a vevő

rendelkezésére bocsátani. A vámmal kapcsolatos költségek a vevőt terhelik.

DEQ: Delivered Ex Quay, (leszállítva rakparton történő átadással) Az eladó köteles az

árut saját költségére és kockázatára az érkezési kikötőbe eljuttatni és a kikötő

rakpartján a vevő rendelkezésére bocsátani. A vámkezeléssel kapcsolatos költségek és

terhek a vevőt terhelik.

DDU: Delivered Duty Unpaid, (leszállítva vámfizetés nélkül) Az eladó köteles az árut

saját költségére és kockázatára a szerződésben megjelölt rendeltetési helyre eljuttatni.

Minden költséget és kockázatot köteles viselni, a vám kivételével.

DDP: Delivered Duty Paid, (leszállítva vámfizetéssel) Az eladó köteles az árut saját

költségére és kockázatára a rendeltetési helyre eljuttatni, minden költséget és

kockázatot viselni, beleértve a vámot is.

2.3. ábra: Incoterms klauzulák

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

15

3. Adatbázis alapok

3.1. Fogalmak

Adatbázis (Database, DB): Egy olyan integrált adatszerkezet, mely több különböző

objektum előfordulási adatait adatmodell szerint szervezetten perzisztens

módon tárolja olyan segédinformációkkal, úgynevezett metaadatokkal együtt,

melyek a hatékonyság, integritásőrzés, adatvédelem biztosítását szolgálják.

Adatbázis kezelő rendszer (Database Management System, DBMS): Az a program, mely

az adatbázishoz történő mindennemű hozzáférés kezelésére

szolgál. Feladata még az adatbázis belső karbantartási

funkcióinak végrehajtása.

Adatbázis rendszer (Database System, DBS): Az adatbázis, az adatbázis kezelő rendszer,

valamint az alkalmazói és segédprogramok együttese.

3.2. Adatmodell

Azokat a modelleket, amelyek az adatok struktúrájának (szerkezetének) leírására

alkalmasak, adatmodelleknek nevezzük. Nem a konkrét adatokkal, hanem azok típusaival

illetve a közöttük lévő kapcsolatokkal foglalkozik. Vagyis a valós világ objektumainak

csak a feladat megoldása szempontjából fontos jellemzőit emeljük ki és szerepeltetjük az

adatmodellünkben. Adatmodell egy eszközrendszer, amellyel leírható a valóság. Több

absztrakciós szinten is létezik. Az adatmodellnek a valóság teljes értékű megadásához az

alábbi komponenseket kell tartalmaznia:

Strukturális rész: az adattípusok és kapcsolatok megadására. (Statikus)

Pl.: rendszerelemek, kapcsolatok feltérképezése.

Műveleti rész: különböző módosítási vagy lekérdezési tevékenység elvégzésére.

(Dinamikus)

Integritási rész: az adatbázis belső törvényszerűségeinek betartására ad

szabályokat. Konzisztens legyen az adatbázis! Pl.: nem lehet negatív életkor.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

16

Az adatmodelleket 2 fő részre osztjuk: szemantikai adatmodellre és adatbázis

adatmodellre. A szemantikai adatmodell inkább csak a lényeget emeli ki. Ilyen például az

ER, az EER, az UML, stb. Az adatbázis adatmodell megadja a részleteket is. Ilyen például

a hálós, a relációs, a hierarchikus, stb..

A későbbiekben az ER modellt és a relációs adatmodellt fogom használni, ezért

ezeket nézzük meg részletesebben.

3.2.1. ER adatmodell

Egyed kapcsolat modell, más néven ER (Entity Relationship) modell. Csak

strukturális részt és elemi statikus integritási részt tartalmaz, továbbá egyszerű grafikus

jelölésrendszert is. Nem teljes adatmodell, de egyszerűsége révén elterjedt, és ma is széles

körben használatos tervezési segédeszköz a relációs adatbázisok tervezéséhez.

3 fő komponense van: az egyed, a kapcsolat és a tulajdonságok.

Egyed: egy objektumtípus, egy a külvilág többi részétől egyértelműen megkülönböztetett

dolog. Jellemzői, hogy önálló léttel bír és azt mutatja, amiről az információkat

tárolni kívánjuk.

Típusai: • normál: önmagában azonosítható. (3.1. ábra)

gyenge: más egyedhez való kapcsolatán keresztül azonosított. (3.2. ábra)

3.1. ábra: Normál egyed 3.2. ábra: Gyenge egyed

Kapcsolat: az egyedek között fennálló ideiglenes vagy tartós asszociáció. AZ ER

modellben csak az elsődleges kapcsolatokat adjuk meg.

Kötelező jelleg szerinti típusok:

opcionális: létezhet olyan egyed-előfordulás, melyhez nem kapcsolódik más egyed-

előfordulás a kapcsolatban. (3.3. ábra)

kötelező: minden egyed-előforduláshoz kell kapcsolódnia más egyed-

előfordulásnak a kapcsolatban. (3.4. ábra)

3.3. ábra: Opcionális kapcsolat 3.4. ábra: Kötelező kapcsolat

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

17

Számosság jelleg szerinti típusok:

1:1 (egy - az - egyhez): egy egyed-előforduláshoz maximum egy másik egyed

társul a kapcsolatban, mindkét viszonylatban. (3.5. ábra)

1:N (egy - a - többhöz): egy egyed-előforduláshoz több más egyed társulhat, de a

másik irányban csak egy kapcsolódó egyed-előfordulás létezhet. (3.6. ábra)

M:N (több - a - többhöz): mindkét irányban több kapcsolódó előfordulás létezhet.

(3.7. ábra)

3.5. ábra: 1:1 kapcsolat 3.6. ábra: 1:N kapcsolat 3.7. ábra: N:M kapcsolat

Tulajdonság: az egyedeket, kapcsolatokat jellemző mennyiség, a letárolandó

információelemeket tartalmazza.

Típusai:

Normál: a tulajdonság egy értékkel rendelkezik. (3.8. ábra)

Kulcs: a tulajdonságnak egyedinek kell lennie és pontosan meg kell határoznia a

tábla rekordjait. (3.8. ábra)

Többértékű: az egyed-előforduláshoz köthetően több értéke is lehet az adott

tulajdonságnak. (3.8. ábra)

Származtatott: olyan tulajdonság, amelynek értéke más tulajdonságokból

határozható meg. (3.9. ábra)

Összetett: a tulajdonság több tulajdonságokból tevődik össze. (3.9. ábra)

3.8. ábra: Normál (baloldali), kulcs (középső), többértékű (jobb oldali)

3.9. ábra: Származtatott és összetett

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

18

3.2.2. Relációs adatmodell

A relációs adatmodell legfontosabb eleme a matematikai reláció fogalma. Mint

minden adatmodell, ez is egyrészt definiálja azokat a jellemző adatszerkezeteket,

amelyeken dolgozik, illetve azokat a műveleteket, amelyek rajta értelmezettek. Fontos

kiemelni, hogy a relációs adatmodell a logikai adatbázis (vagy fogalmi adatbázis) kereteit

határozza meg. Nem foglalkozik azzal a problémával, hogy az adatokat ténylegesen

hogyan kell tárolni a háttértáron, hogyan kell módosítani és a memóriába betölteni a

felhasználó által igényelt adatokat.

Az adatokat táblázatokban tárolják. A táblázatot itt relációnak hívjuk.

o A táblázat oszlopára azt mondjuk, hogy mező.

o A táblázat egy sora a rekord.

A táblázatban szereplő rekordok azonos szerkezetűek, vagyis típusuk azonos! Ez

azt jelenti, hogy minden rekordban, ugyanabban a mezőben ugyanolyan típusú

adatoknak kell lenniük.

A táblázatban nem fontos a mezők sorrendje.

A táblázat nem lehet két azonos adatokkal feltöltött sora.

A táblázat rekordjainak sorrendje tetszőleges lehet.

3.3. Adatbázis létrehozás lépései

Követelmény analízis, feladat specifikáció

DBMS kiválasztása

Adatmodellezés:

o Szemantikai adatmodell elkészítése

o A szemantikai adatmodell konverziója a megfelelő adatbázis adatmodellre.

o Normalizálás

o Az adatbázisban tárolt adatok típusának, integritási feltételeinek

meghatározása.

Kódolás, implementálás

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

19

3.4. Az adatbázis szerkezete

Tábla: a logikailag összetartozó adatokat foglalja össze. A tábla oszlopokból és

sorokból áll, amelyeket mezőknek, illetve rekordoknak nevezünk.

Rekord: az adatbázis egy sora. Egy rekordban tároljuk az egymással összefüggő

adatokat.

Mező: az adatbázis egy oszlopa, amelyben az egyedek tulajdonságértékeit tároljuk.

Elemi adatok: a tábla celláiban szereplő értékek, amelyek az egyed konkrét

tulajdonságai.

Egyed (entitás): az, amit le akarunk írni, amelynek az adatait tároljuk és gyűjtjük az

adatbázisban.

Attribútum (tulajdonság): az egyed valamely jellemzője. Az egyed az attribútumok

összességével jellemezhető.

Egyedtípus: az egyedre vonatkozóan megadott tulajdonságok összessége.

Egyed-előfordulás: az egyedre vonatkozóan megadott konkrét tulajdonságok.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

20

4. Használt nyelvek, alkalmazások ismertetése

4.1. JDBC

A JDBC (Java Database Connectivity) programozói felület (API - Application

Programming Interface) a Java programozási nyelvhez, vagyis Java osztályok, metódusok

és interfészek halmaza. A relációs adatbázishoz biztosítanak alacsonyszintű hozzáférést:

kapcsolódást; SQL utasítások végrehajtását; SQL lekérdezések eredményeinek

feldolgozását.

Az SQL parancsok végrehajtása különböző interfészeken keresztül valósul meg.

Ilyen interfész például: Statement, PreparedStatement és a CallableStatement. A Statement

egyszerű SQL parancsokhoz (statikus), a PreparedStatement a bemenő paraméterekkel

rendelkező SQL parancsokhoz (kvázi-statikus, dinamikus), és a CallableStatement a

kimenő és/vagy bemenő paraméterekkel rendelkező SQL parancsokhoz és tárolt

eljárásokhoz szükséges. Az interfészeket saját meghajtói implementálják. A meghajtóknak

a Java működésének megfelelően elegendő futási időben rendelkezésre állniuk, ezáltal a

programfejlesztőnek lehetősége van a Java alkalmazást az adatbáziskezelő-rendszertől

függetlenül elkészíteni.

A JDBC meghajtók menedzselését DriverManager osztály végzi. Azon okból

kifolyóan, hogy egyszerre több adatbázishoz is kapcsolódhassunk, létezik egy lista,

melyben a regisztrált meghatók vannak eltárolva. Ebből a listából a DriverManager

automatikusan kiválasztja az adott adatbázishoz megfelelő meghajtót, levéve ezt a terhet a

vállukról. A JDBC meghajtó betöltődésekor automatikusan regisztrálja magát ebbe a

listába, oly módon, hogy minden meghajtónak van egy statikus inicializátora, melyben a

DriverManager osztály registerDriver statikus metódusát meghívja. Meghajtót betölteni

kétféleképpen lehet, vagy név szerint hivatkozunk rá és a Class.forName statikus

metódussal töltjük be, vagy pedig a jdbc.drivers rendszerparaméterben felsoroljuk –

kettősponttal elválasztva – és a DriverManager tölti be őket az inicializáció során. Applet-

ek esetén az utóbbi megoldás nem használható, mert azok nem állíthatnak be

rendszerparamétereket.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

21

4.2. SQL nyelv

Az SQL (Structured Query Language) egy strukturált lekérdezőnyelv, mely a

relációs adatbázis kezelő rendszerek (RDBMS - Relational Database Management System)

(ilyen például az Oracle) szabvány adatkezelő nyelve. Segítségével hozzáférhetünk az

adatbázisban tárolt adatokhoz, metaadatokhoz, és különböző műveleteket hajthatunk végre

(pl.: lekérdezés, bővítés, módosítás) rajtuk. Az SQL segítségével az adatok kezelése

rugalmasan történik, de mégsem tekintjük valódi programozási nyelvnek. Oka, hogy az

SQL nyelv nem tartalmaz vezérlési elemeket, illetve olyan utasításokat, amelyekkel a nem-

adatbázis felé történő adatforgalom szabályozható, hiszen csak egy meghatározott

tevékenységi kört fed le. Ennek következtében önmagában nem használható alkalmazások

készítéséhez. Az SQL jelen van alkalmazásokban, amikor az RDBMS-t kell megszólítani,

de az egyéb vezérlési elem, adatforgalom, ideiglenes változók kezelésénél már nem

használható, így ezen feladatok elvégzésére más megoldást kell keresni.

Az SQL nyelvi elemeket négy részre oszthatjuk:

DDL - Data Definition Language, vagyis adatdefiníciós nyelv;

Utasítások: - CREATE (készítés);

- ALTER (módosítás);

- DROP (eldobás).

DML - Data Manipulation Language, vagyis adatkezelési nyelv;

Utasítások: - INSERT (feltöltés);

- UPDATE (frissítés);

- DELETE (törlés).

DQL - Data Query Lanhuage, vagyis adatlekérdező nyelv;

Utasítás: - SELECT (lekérdezés).

DCL – Data Control Language, vagyis adatvezérlő nyelv;

Utasítások: - GRANT (jogosultság adás);

- REVOKE (jogosultság elvétel);

- COMMIT (tranzakció elfogadás);

- ROLLBACK (tranzakció visszagörgetés);

- SAVEPOINT (tranzakció mentési pont);

- LOCK (zárolás);

- UNLOCK (felszabadítás).

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

22

4.3. PL/SQL nyelv

Az előzőekben megismert SQL nyelv egyik legfontosabb jellemzője, hogy nem

tartalmaz procedurális elemeket. Ennek következtében nem lehet csak SQL utasításokra

építve komplett alkalmazásokat készíteni, hiszen nem tartalmaz elágazási, ciklus vezérlési

vagy éppen terminál felület működését leíró nyelvi elemeket. Ezért az SQL nem tekinthető

egy alkalmazásfejlesztő nyelvnek. Az SQL kizárólagos célja az adatbázissal történő

adatforgalom biztosítása. Ebből még az is következik, hogy az alkalmazások készítéséhez

egy más jellegű procedurális nyelvre van szükség.

Ezt az elvárást elégíti ki a PL/SQL nyelv, amely az Oracle SQL „kibővítése”. A

„kibővítés” szóhasználat nem tökéletes, mivel a PL/SQL nem tartalmazza az SQL teljes

utasításkészletét, például hiányoznak belőle az adatdefiníciós és a védelmet szabályozó

utasítások. Azon utasításokat foglalja magában, melyek az adatkezelő eljárások során

nagyobb szereppel rendelkeznek. Így lehetőség van az SQL adatkezelő utasításainak, a

kurzor szerkezetnek és a tranzakció kezelő utasításoknak a használatára.

Tartalmazza az alapvető vezérlési elemeket is, így a WHILE ciklust és az IF

elágazást is. Lehetőséget nyújt a memóriaváltozók készítésére, melyekkel közbenső

számítási eredmények tárolhatók. Erős a nyelvhez kapcsolódó hibakezelési komponens, s a

rugalmas és hatékony programfejlesztést számos függvény segíti.

A PL/SQL eljárások feldolgozása programegységekben, úgynevezett blokkokban

történik. A blokk általános felépítése:

DECLARE

- deklarációs rész (a blokk saját, lokális változóit, memória változói)

BEGIN

- műveleti rész (kötelező rész, SQL és procedurális utasítások)

EXCEPTION

- hibakezelő rész (felmerülő hibákra való válaszok definiálása)

END;

A blokkok deklarálásánál hiányzik a blokk azonosítója. A PL/SQL-ben nincs

felhasználó által adott egyedi neve a blokkoknak, így a blokkok önmagukban nem

hívhatók meg más blokkokból. A blokkok ritkán használatosak önmagukban, mindig

valamilyen más típusú objektumok (pl. tárolt eljárások, triggerek) részeként jelenik meg,

melyeknek van egyedi azonosító neve, így a befoglaló objektumokon keresztül tudunk a

blokkokra hivatkozni.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

23

5. A program ismertetése

5.1. Általános leírás

A termelési folyamat egyik legfontosabb alap pillére a készlet beszerzése, mivel

ezen művelet nem megfelelő teljesítése vonzhat magával gyártás leállást és költség

kiesését. Ahhoz, hogy az alkatrész utánpótlás gyors és egyszerű legyen, célszerű az

adatokat adatbázisban tárolni, és ezt kezelő rendszert alkalmazni. Segítségükkel a rengeteg

papírmunka elhanyagolható, illetve használatával könnyedén rákereshetünk egy-egy

termékre vagy megnézhetjük, hogy az egyes anyagból mennyi van készleten.

A rendszer melyet elkészítek egy LED TV gyártásának a készlet beszerzését

reprezentálja, az optimális beszállítótól. (A programban csak 1 féle termék alkatrészeinek a

megrendelésre van lehetőség.) Megmutatja, hogy az alkatrész megrendelésénél, milyen fő

szempontokat kell figyelembe venni, attól függően, hogy melyik beszállítótól vásároljuk

meg a terméket, változik a megrendelt anyag költsége. A beszállítók egymástól eltérő áron

adják az általuk legyártott alkatrészeket, és más a szállítási költségük és idejük is, hiszen

nem mindegy, hogy belföldről vagy külföldről történik a küldés. Ezeket a tényezőket mind

össze kell hangolni, és lehetőleg a legmegfelelőbbet kiválasztani, a különböző lehetőségek

közül.

A gyártásnál lényeges, hogy a kívánt készlet mindig elérhető legyen, ezért kell nagy

figyelmet szentelni az anyag beérkezésének megfelelő ütemezésére. Érdemes egyféle

alkatrészt több beszállítótól beszerezni, így gördülékeny és folyamatos lesz az áru

beérkeztetése. Pl.: Egy külföldi beszállító cég terméke olcsó, de a szállítási idő és költség

sok. Egy belföldi beszállító alkatrésze viszont drágább, de kevesebb idő alatt és olcsón

biztosítja termékét a beszerzőnek. Ilyen esetekben az összköltség lehet, hogy mindkettőnél

azonos, így az idő lesz a döntő tényező.

Nézzünk rá egy példát! Tegyük fel, hogy az adott alkatrészre október 10.-én és 11.-

én van szükség, de egy beszállító nem tudja ezt a mennyiséget garantálni. A belföldi

szállítási ideje 2 nap, a külföldié 5 nap. Október 10.-ére megrendelem a hazai szállítótól

10.08.-án és október 11.-ére a külfölditől rendelek 10.06.-án. Ezt a folyamatot nevezik

termeléstervezésnek, mikor tudni, hogy mely anyagra mikor van szükség, és ez által mikor

kell megrendelést rá kiadni.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

24

Összegezve: Az előzőekben láttuk, hogy érdemes több beszállítót is alkalmazni,

mivel eltérő az anyag – és szállítási költségük; a szállítási idejük; a kapacitásuk. Az

elkészülő rendszer, ezeket a szempontokat biztosítja, és lehetőséget ad a beszerzőnek, hogy

a számára szükségeset tudja kiválasztani.

5.2. Követelmények és rendszer leírás

A szerver gép, amin az adatbázis fut a saját számítógépem lesz. A szerver gépre

szükséges egy Oracle Database 11g Express Edition adatbázis kezelő rendszer, valamint

Java virtuális gép. Az alkalmazás működéséhez szükséges a stabil szélessávú

internetkapcsolat, és egy dedikált IP cím, amin keresztül kívülről is el lehet érni az

adatbázist.

A program NetBeans IDE 7.3 verziójú fejlesztő környezetben készült, melyben

JDBC segítségével megteremtem az elkészített adatbázishoz a hozzáférést. Az adatbázis

Oracle SQL nyelven lett megírva, és a tökéletesítéshez különböző PL/SQL nyelvi

eszközöket használtam, mint például eljárásokat/függvényeket, triggereket, jobokat és

kurzorokat. A működéshez JDK 1.7 –es java-t és ojdbc 6 –os Oracle drivert használtam.

A felhasználónak csak az a dolga, hogy az alkalmazást feltegye gépére, és elindítsa.

Nem igényel semmilyen fejlesztői környezetet. Fontos, hogy a felhasználónak legyen

működőképes internetkapcsolata, mert anélkül nem éri el az adatbázis elemeit. (A program

elindításának útvonala: …\Forraskod\Rendelés_készítés\dist\Rendeles_keszites.jar)

5.3. Adatbázis leírása

SQL nyelv segítségével felépítek egy adatbázist (táblák elkészítése, lekérdezése,

módosítása), melyben előre megadom, hogy a gyártáshoz milyen alkatrészekre van

szükség, s ezeket melyik beszállító cég tudja biztosítani, hány nap alatt érkezik meg, illetve

milyen áron, módon, paritással, kiszerelésben és kapacitásban szerezhető be.

Megrendelhető alkatrészek: előlap (A1), hátlap (A2), talp (A3), kijelző (B2),

hangszóró (C1), panel (B3), csavar (B1), PC (C3) és RGB LED szalag (C2).

Természetesen egy LED TV nem csak ennyi és nem pont ilyen anyagokból tevődik össze.

Az általam használt adatok, beszállítók kitaláltak. Beszállító cégek: Műanyag Kft;

Hangzásért Zrt.; Kép a képben Zrt.; Infotech Kft.; Látványkép Zrt.; Csavarog Zrt. és Műalk

Zrt.. Nyilvánvalóan mód van új alkatrész, beszállító és kapcsolat felvételére is.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

25

A felhasználónak a feladata, hogy a rendeléseket kiadja a kívánt alkatrészre, ezáltal

a Rendelés tábla sorait folyamatosan tölti fel. Ezek már bonyolultabb utasításokat

igényelnek, így PL/SQL nyelvi eszközöket (trigger, job, kurzor, eljárás készítés) használok

megvalósításukra. Minden kiadott rendelés más és más azonosítót (R_ID) kap, melyet a

rendszer automatikusan generál, az aktuális dátummal együtt. Majd megadja, hogy mit

szeretne megrendelni, hány darabot és kitől. Az egyes beszállítóknak eltérő a szállítási

ideje (Becsult_ido), így a raktárkészlet folyamatos feltöltését úgy oldottam meg, hogy

a szállítási időt (Becsult_ido) felszoroztam 10 perccel. Ennek oka, hogy 1-20 napig

állítottam be az értékeket és, ha ez tényleg nap lenne, nem lehetne megfigyelni a rendszer

helyes működését.

A gyártást is szerettem volna valahogy szimulálni, így gondoskodtam a raktári

készlet folyamatos csökkenéséről. Ezt a folyamatot Job utasítás segítségével oldottam meg,

így 40 percenként egy véletlenszerűen kiválasztott alkatrészből csökkentek. A csökkentés

az adott anyag 10%-a, mely csökkenési értéke belekerül a Napló táblába is, mint készlet

levonás.

A Napló tábla, nem csak a készletből való levonást jegyzi fel, hanem mindenfajta

anyagmozgást. A rendelések felvételénél eltárolja, hogy rendelés lett kiadva egy

alkatrészre, és azt is rögzíti, amikor megérkezik a rendelt szállítmány. A három

anyagmozgatási folyamatot eltérő módon jelöltem, így a felhasználó rögtön látja, hogy az

alkatrész mikor csökken vagy növekszik.

5.4. Használt adatmodellek

Az átláthatóság érdekében a már korábban említett adatmodellek közül az ER

modellt és a Relációs adatmodellt találtam a legszemléletesebbnek, így ezt a két

modelltípust használtam. Segítségükkel könnyedén áttekinthető a rendszer felépítése és

összetétele, illetve a táblák közötti kapcsolatok is jól megfigyelhetőek segítségükkel. (Az

elkészített modelleket az 5.1. ábra és az 5.2. ábra ismerteti.)

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

26

5.4.1. ER modell

5.1. ábra: ER modell

5.4.2. Relációs modell

5.2. ábra: Relációs modell

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

27

6. Táblák felépítése

6.1. Beszállító tábla létrehozása

CREATE TABLE Beszallito (Nev CHAR(30) PRIMARY KEY,

Orszag CHAR(30),

Varos CHAR(30),

Mod CHAR(10),

Incoterms CHAR(10),

Becsult_ido NUMBER(3),

Koltseg NUMBER(6),

Telefon CHAR(11));

Beszállító tábla leírása

A tábla a különböző Beszállítókról tartalmaz alap információkat.

- Nev: a beszállító cég neve, a tábla kulcsa.

- Orszag: az ország neve, ahol a beszállító van.

- Varos: a város neve, ahol a beszállító van.

- Mod: a szállítás módja. (vízi, légi vagy kamionos).

- Incoterms: a megkötött incoterms klauzula.

- Becsult_ido: a szállítás becsült ideje, napban megadva.

- Koltseg: a szállítás költsége, Ft-ban. (Nem tartalmazza az alkatrész árát!)

- Telefon: a beszállító elérhetősége.

6.2. Alkatrész tábla létrehozása

CREATE TABLE Alkatresz (Alk_kod CHAR(2) PRIMARY KEY,

Megnev CHAR(30));

Alkatrész tábla leírása

A tábla a különböző Alkatrészekről tartalmaz alap információkat.

- Alk_kod: az alkatrész azonosító kódja, a tábla kulcsa. (1betű+1szám, a betű:

nagybetű A-Z-ig, a szám: 1-9-ig. Pl.: A1)

- Megnev: az alkatrész megnevezése.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

28

6.3. Beszállító-Alkatrész tábla létrehozása

CREATE TABLE Besz_Alk (Alk_kod CHAR(2) REFERENCES Alkatresz,

Beszallito CHAR(30) REFERENCES Beszallito,

Db_ar NUMBER(6),

Kiszereles NUMBER(6),

Min NUMBER(6),

Max NUMBER(6),

Osszkoltseg NUMBER(8),

E_ar NUMBER(6),

Azon NUMBER(3),

PRIMARY KEY (Alk_kod,Beszallito));

Beszállító-Alkatrész tábla leírása

A tábla arra szolgál, hogy a rendszerben felvett Alkatrészeket és Beszállítókat

összekapcsolja, és újabb információkat szolgáltasson róluk.

- Alk_kod: Az alkatrész kódja, csak olyan kód vehető fel, mely már az

Alkatrész táblában szerepel. Elsődleges és idegenkulcs, a táblák

összekapcsolásához kell.

- Beszallito: A beszállító neve, csak olyan név vehető fel, mely már a

Beszállító táblában szerepel. Elsődleges és idegenkulcs, a táblák

összekapcsolásához kell.

- Db_ar: az alkatrész darab ára, Ft-ban.

- Kiszereles: az alkatrész kiszerelése, db-ban.

- Min: minimum mennyit lehet rendelni az alkatrészből, db-ban.

- Max: maximum mennyit lehet rendelni az alkatrészből, db-ban

- Osszkoltseg: a minimális összköltség a termék megrendelésénél.

Összköltség = Minimum rendelhetőség * Darab ár + Szállítási költség.

- E_ar: az alkatrész egység ára, Ft-ban.

- Azon: sorazonosító, a sorok azonosításához kell.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

29

6.4. Raktár tábla létrehozása

CREATE TABLE Raktar (RAlk_kod CHAR(2) PRIMARY KEY,

Keszlet NUMBER(8));

Raktár tábla leírása

A tábla a Raktár készletről tartalmaz alap információkat.

- RAlk_kod: a raktárban eltárolt alkatrész azonosítója, a tábla kulcsa.

(1betű+1szám, a betű: nagybetű A-Z-ig, a szám: 1-9-ig. Pl.: A1)

- Keszlet: a raktáron lévő készlet, db-ban megadva.

6.5. Rendelés tábla létrehozása

CREATE TABLE Rendeles (R_ID NUMBER(5) PRIMARY KEY,

Datum DATE,

Alk_kod CHAR(2),

Db NUMBER(6),

Beszallito CHAR(30),

Fiz_ossz NUMBER(8),

FOREIGN KEY (Alk_kod, Beszallito)

REFERENCES Besz_alk (Alk_kod,

Beszallito));

Rendelés tábla leírása

A tábla arra szolgál, hogy rendeléseket lehessen készíteni. Ennek módja, hogy csak

olyan rendelések adhatóak ki, melyek kompatibilisek a Besz_alk tábla soraival.

- R_ID: a rendelés azonosítója, a tábla kulcsa.

- Datum: a rendelés kiadásának dátuma, mely a rendszer dátumára van

beállítva.

- Alk_kod: Az alkatrész kódja, csak olyan kód vehető fel, mely már az

Besz_Alk táblában szerepel. Idegenkulcs, a táblák

összekapcsolásához kell.

- Db: a rendelt alkatrész darabszáma.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

30

- Beszallito: Az beszállító neve, csak olyan név vehető fel, mely már az

Besz_Alk táblában szerepel. Idegenkulcs, a táblák

összekapcsolásához kell.

- Fiz_ossz: A megrendelés költsége. Fizetési összeg = Darab szám * Darab

ár + Szállítási költség.

6.6. Napló tábla létrehozása

CREATE TABLE Naplo (Kod CHAR(2),

D DATE,

Db NUMBER(6),

M VARCHAR2(30),

Mozgas CHAR(1));

Napló tábla leírása

A tábla naplózza a készlet mozgatását. Segítségével nyomon lehet követni, hogy

mikor történt rendelés kiadás, rendelés megérkezés és készlet levonás.

- Kod: az alkatrész kódja.

- D: a készletmozgás dátuma, melyet a rendszer dátumára állítottam be.

- Db: a mozgatott darabszám.

- M: a készlet mozgatását jelölő megjegyzés. (Készlet növelés, Rendelés kiadás,

Készlet levonás)

- Mozgas: a készlet mozgatásának jelölése. (+, ,-)

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

31

7. Táblaműveletek

7.1. Elméleti ismertetés

- Csomag (package): A csomag olyan, magas szintű adatabsztrakciós eszköz, mellyel

az összetartozó változókat, konstansokat és alprogramokat írhatjuk le, és

egy egységként kezelhetjük. A csomagban lehetnek eljárások, függvények,

típus definíciók, változó deklarációk, konstansok, kivételek, kurzorok. A

csomag két fő részből áll: a specifikációs részből és a törzsből (body). A

specifikáció a csomag nyilvános része. A csomag kívülről elérhető elemeit

adja meg, melyeken keresztül a felhasználók a csomag objektumaira

hivatkozhatnak. A törzs a csomag privát része, melynek elemei a

felhasználók számára nem hozzáférhetők. A csomag specifikációban

megadott eljárások és függvények teljes definícióit tartalmazza (fejléccel és

törzzsel együtt). Tartalmazhat még típusdefiníciókat, konstans, változó és

kurzor deklarációkat is.

- Tárolt eljárás: Lényege, hogy az adatkezeléshez kapcsolódó több helyen alkalmazott

eljárásokat, függvényeket elhelyezhetjük az adatbázisban. Előnye,

hogy csak egy helyen szükséges a kódot nyilvántartani, de többen is

hozzáférhetnek. Ez a módosításukat is megkönnyíti, hiszen csak egy

helyen kell elvégezni. A tárolt eljárások alkalmazása esetén gyorsabb

lesz a végrehajtás is, mivel elő-feldolgozott formában tárolódik a

művelet, másrészt felesleges részek nem ismétlődnek a memóriában a

konkurens felhasználások során.

- Job (munkaköteg): a feladatok ütemezésére használható. Végrehajtásukról egy

folyamatosan a háttérben futó folyamat (SNP) gondoskodik. A munkakötegek

egy várakozó sorban foglalnak helyet, minden Job-hoz hozzá van rendelve a

következő futtatási idő. Az SNP megadott gyakorisággal felébred és megnézi,

van-e alvó munkaköteg. Ha van, akkor elindítja. A lefutott Job-oknál az SNP

meghatározza a következő futás időpontját. Így egy új munkaköteg kerül be a

várakozó sorba.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

32

- Trigger: Bizonyos tevékenységek a felhasználó közvetlen beavatkozása nélkül

végrehajtódnak. A trigger dinamikus integritási feltételt jelent, amelyben

adott egy kiváltó esemény és egy választevékenység. Működése egyszerű,

ha a kiváltó esemény bekövetkezik, akkor végrehajtódik a

választevékenység.

7.2. Csomagok

7.2.1. Alkatrész táblához tartozó csomag

Alkatresz_csomag: A csomag tartalmazza a tábla feltöltését.

feltolt: az eljárás beszúr egy rekordot az Alkatrész táblába.

Alkatresz_csomag létrehozása:

CREATE OR REPLACE PACKAGE Alkatresz_csomag AS

PROCEDURE feltolt (kod IN Alkatresz.alk_kod%TYPE, nev IN

Alkatresz.megnev%TYPE);

END Alkatresz_csomag;

Alkatresz_csomag törzse:

CREATE OR REPLACE PACKAGE BODY Alkatresz_csomag AS

PROCEDURE feltolt (kod IN Alkatresz.alk_kod%TYPE, nev IN

Alkatresz.megnev%TYPE) AS

BEGIN

INSERT INTO Alkatresz VALUES (kod,nev);

END;

END Alkatresz_csomag;

7.2.2. Beszállító táblához tartozó csomag

Beszallito_csomag: A csomag tartalmazza a tábla feltöltését, a incoterms és

költség módosítását, illetve a szállítási idő és mód módosítását.

feltolt: az eljárás beszúr egy rekordot a Beszállító táblába.

modosit_ik: a beszállító neve alapján, módosítja a Beszállító táblában az incoterms és a

költség értéket.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

33

modosit_ido: a beszállító neve alapján, módosítja a Beszállító táblában az idő és a mód

értéket.

Beszallito_csomag létrehozása:

CREATE OR REPLACE PACKAGE Beszallito_csomag AS

PROCEDURE feltolt (n IN Beszallito.nev%TYPE, o IN

Beszallito.orszag%TYPE, v IN

Beszallito.varos%TYPE, m IN

Beszallito.mod%TYPE, inc IN

Beszallito.incoterms%TYPE, bi IN

Beszallito.becsult_ido%TYPE, k IN

Beszallito.koltseg%TYPE, t IN

Beszallito.telefon%TYPE);

PROCEDURE modosit_ik (n IN Beszallito.nev%TYPE, inc IN

Beszallito.incoterms%TYPE, k IN

Beszallito.koltseg%TYPE);

PROCEDURE modosit_ido (n IN Beszallito.nev%TYPE, m IN

Beszallito.mod%TYPE, bi IN

Beszallito.becsult_ido%TYPE);

END Beszallito_csomag;

Beszallito_csomag törzse:

CREATE OR REPLACE PACKAGE BODY Beszallito_csomag AS

PROCEDURE feltolt (n IN Beszallito.nev%TYPE, o IN

Beszallito.orszag%TYPE, v IN

Beszallito.varos%TYPE, m IN

Beszallito.mod%TYPE, inc IN

Beszallito.incoterms%TYPE, bi IN

Beszallito.becsult_ido%TYPE, k IN

Beszallito.koltseg%TYPE, t IN

Beszallito.telefon%TYPE) AS

BEGIN

INSERT INTO Beszallito VALUES (n,o,v,m,inc,bi,k,t);

END;

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

34

PROCEDURE modosit_ik (n IN Beszallito.nev%TYPE, inc IN

Beszallito.incoterms%TYPE, k IN

Beszallito.koltseg%TYPE) AS

BEGIN

UPDATE Beszallito SET Incoterms=inc, Koltseg=k WHERE

nev=n;

END;

PROCEDURE modosit_ido (n IN Beszallito.nev%TYPE, m IN

Beszallito.mod%TYPE, bi IN

Beszallito.becsult_ido%TYPE) AS

BEGIN

UPDATE Beszallito SET Mod=m, Becsult_ido=bi WHERE

nev=n;

END;

END Beszallito_csomag;

7.2.3. Besz_Alk táblához tartozó csomag

Besz_alk_csomag: A csomag tartalmazza a tábla feltöltését és darab ár

módosítását.

feltolt: az eljárás beszúr egy rekordot a Besz_alk táblába. Az azon mező

automatikusan kitöltődik. Minden feltöltéskor lekérdezi a maximum azon

értéket, és megnöveli egyel. Az e_ar és osszkoltseg mezőket a rendszer

számolja ki. Az egység ár = darab ár * kiszerelés. Az összköltség = minimum

rendelhetőség * darab ár + szállítási költség. A rendszer ellenőrzi, hogy a

minimum érték magadása után a maximum értéke ne legyen kisebb, ellenkező

esetben a kivétel dobódik.

modosit_ar: az alkatrész kódja és a beszállító neve alapján, módosítja a Besz_alk

táblában az darab ár értékét. A rendszer megkeresi a megadott érték párhoz

tartozó azonosítót, ha nem talál ilyet, akkor kivétel dobódik. Ha talál

azonosítót, akkor módosítja a darab árat, illetve az egység árat (egység ár =

új darab ár * kiszerelés).

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

35

Besz_alk_csomag létrehozása:

CREATE OR REPLACE PACKAGE Besz_alk_csomag AS

PROCEDURE feltolt (kod IN Besz_alk.alk_kod%TYPE, besz IN

Besz_alk.beszallito%TYPE, d IN

Besz_alk.db_ar%TYPE, k IN

Besz_alk.kiszereles%TYPE, mi IN

Besz_alk.min%TYPE, ma IN Besz_alk.max%TYPE);

PROCEDURE modosit_ar (kod IN Besz_alk.alk_kod%TYPE, besz IN

Besz_alk.beszallito%TYPE, d IN

Besz_alk.db_ar%TYPE);

END Besz_alk_csomag;

Besz_alk_csomag törzse:

CREATE OR REPLACE PACKAGE BODY Besz_alk_csomag AS

PROCEDURE feltolt (kod IN Besz_alk.alk_kod%TYPE, besz IN

Besz_alk.beszallito%TYPE, d IN

Besz_alk.db_ar%TYPE, k IN

Besz_alk.kiszereles%TYPE, mi IN

Besz_alk.min%TYPE, ma IN Besz_alk.max%TYPE)

AS

bk Beszallito.koltseg%TYPE;

id besz_alk.azon%TYPE;

rossz exception;

BEGIN

SELECT koltseg INTO bk FROM Beszallito WHERE nev=besz;

SELECT max(azon) INTO id FROM Besz_alk;

IF ma>mi THEN

INSERT INTO Besz_alk VALUES

(kod,besz,d,k,mi,ma,mi*d+bk,d*k,id+1);

ELSE raise rossz;

END IF;

END;

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

36

PROCEDURE modosit_ar (kod IN Besz_alk.alk_kod%TYPE, besz IN

Besz_alk.beszallito%TYPE, d IN

Besz_alk.db_ar%TYPE) AS

id besz_alk.azon%TYPE;

bk Beszallito.koltseg%TYPE;

BEGIN

SELECT azon INTO id FROM besz_alk WHERE Alk_kod=kod AND

beszallito=besz;

SELECT koltseg INTO bk FROM Beszallito WHERE nev=besz;

IF (id =null) THEN raise no_data_found;

ELSE

UPDATE Besz_alk SET db_ar=d WHERE (Alk_kod=kod AND

beszallito=besz);

UPDATE Besz_alk SET e_ar=d*kiszereles WHERE

(Alk_kod=kod AND beszallito=besz);

UPDATE Besz_alk SET osszkoltseg=d*min+bk WHERE

(Alk_kod=kod AND beszallito=besz);

END IF;

END;

END Besz_alk_csomag;

7.2.4. Rendelés táblához tartozó csomag

Rendeles_csomag: A csomag tartalmazza a tábla feltöltését.

feltolt: az eljárás beszúr egy rekordot a Rendelés táblába. A r_id mező

automatikusan kitöltődik. Minden feltöltéskor lekérdezi a maximum r_id

értékét, és hozzáad egyet. Csak olyan rendelést lehet felvenni, ami szerepel a

Besz_alk táblában, vagyis az alkatrész kód és beszállító név értékpárok egy

sort alkotnak. A megadott darabszám esetében leellenőrzi, hogy az

értékpárnak megfelelő-e a kiszerelés és, hogy a minimum és maximum

rendelhetőség közé esik-e az érték. Ellenkező esetben kivétel dobódik. A

bekért értékek alapján kiszámolja a fizetendő összeget = darabszám * darab

ár + szállítási költség. A rendelés kiadásakor a Napló tábla is bővül egy

sorral. A sor tartalmazza a rendelésnél megadott alkatrész kódot és

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

37

darabszámot, az aktuális dátumot, a „Rendelés kiadás'” megjegyzést, illetve a

mozgást jelző üres karaktert.

Rendeles_csomag létrehozása:

CREATE OR REPLACE PACKAGE Rendeles_csomag AS

PROCEDURE feltolt (kod IN rendeles.alk_kod%TYPE, d IN

rendeles.db%TYPE, b IN

rendeles.beszallito%TYPE);

END Rendeles_csomag;

Rendeles_csomag törzse:

create or replace PACKAGE BODY Rendeles_csomag AS

PROCEDURE feltolt (kod IN rendeles.alk_kod%TYPE, d IN

rendeles.db%TYPE, b IN

rendeles.beszallito%TYPE) AS

id NUMBER(3);

megj CHAR(20);

rossz exception;

mi Besz_alk.min%TYPE;

ma Besz_alk.max%TYPE;

ki Besz_alk.kiszereles%TYPE;

da Besz_alk.db_ar%TYPE;

bk Beszallito.koltseg%TYPE;

BEGIN

SELECT max(r_id) INTO id FROM Rendeles;

SELECT Db_ar INTO da FROM Besz_alk WHERE Alk_kod=kod

AND Beszallito=b;

SELECT Koltseg INTO bk FROM Beszallito WHERE nev=b;

SELECT Besz_alk.min INTO mi FROM Besz_alk WHERE

Alk_kod=kod AND Beszallito=b;

SELECT Besz_alk.max INTO ma FROM Besz_alk WHERE

Alk_kod=kod AND Beszallito=b;

SELECT Besz_alk.kiszereles INTO ki FROM Besz_alk WHERE

Alk_kod=kod AND Beszallito=b;

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

38

IF d>=mi AND d<=ma And d mod ki = 0 THEN

INSERT INTO Rendeles VALUES (id+1, SYSDATE, kod, d,

b, d*da+bk);

ELSE raise rossz;

END IF;

megj:=' Rendelés kiadás';

INSERT INTO Naplo VALUES (kod, SYSDATE, d, megj, ' ');

END;

END Rendeles_csomag;

A Rendeles_csomag.feltolt hatására lefutó TRIGGER és JOB:

Egy rendelés feltöltésének hatására létrejön egy trigger, mely elindít egy

munkaköteget. A Trigger megkeresi a rendelésnél megadott beszállító nevéhez tartozó

szállítási idő. A jól tesztelhetőség érdekében a Beszállítókhoz tartoznak szállítási napok,

így amikor kiadunk egy rendelést, az nem íródik be rögtön a raktári készletbe, hanem a

napnak megfelelően fog hozzáíródni a készlethez. A rendszerben valójában nem napként

számítja a Szállítási időt, hanem percként, ami fel van szorozva 10-zel, vagyis 2 nap

valójában 2 * 10 perc = 20 perc. A Triggerben megadott Job, így mindig a Beszállító

táblában megadott érték szerint fog lefutni.

CREATE OR REPLACE TRIGGER Rendeles_T1

AFTER insert on Rendeles for each row

BEGIN

DECLARE

jobno NUMBER;

bi Beszallito.becsult_ido%TYPE;

BEGIN

SELECT becsult_ido INTO bi FROM Beszallito WHERE

nev=:new.beszallito;

dbms_job.submit (jobno, 'keszlet_modositas();',

SYSDATE+(bi*10/24/60), null);

END;

END;

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

39

A JOB által meghívott keszlet_modositas eljárás:

Az eljárás megkeresi az adatokat a maximum r_id alapján a Rendelés táblában,

mivel a rendelés kiadása után rögtön a Trigger fut le, melyben a Job meghívja ezt az

eljárás, így a maximum r_id értéke mindig helyes lesz. A rendelésnél kiadott darab

számmal megnöveli a raktári készletet, az adott alkatrésznél, illetve a Napló táblát bővíti

egy sorral. A sor tartalmazza az alkatrész kódját, a növelés idejét, a darab számot, a

„Készlet növelés” megjegyzést és a mozgást jelző „+” karaktert.

CREATE OR REPLACE PROCEDURE keszlet_modositas AS

d Rendeles%rowtype;

megj CHAR(20);

BEGIN

SELECT * INTO d FROM Rendeles WHERE r_id=(Select

max(r_id) from

Rendeles);

UPDATE Raktar SET keszlet=keszlet+d.db WHERE

ralk_kod=d.alk_kod;

megj:=' Készlet növelés';

INSERT INTO Naplo VALUES (d.alk_kod, SYSDATE, d.db,

megj ,'+');

END;

7.2.5. Raktár táblához tartozó csomag

Raktar_csomag: A csomag tartalmazza a tábla feltöltését és a Raktár készlet

módosítását.

feltolt: eljárás beszúr egy rekordot a Raktár táblába.

keszlet_naplozas: az eljárás véletlenszerűen kiválaszt egy alkatrész kódot a Raktár

táblából, és a készleten lévő anyag 10%-át levonja (természetesen

kerekített érték kerül levonásra, hiszen nincs fél alkatrész). A

Napló tábla naplózza, hogy milyen alkatrész, mennyi, mikor lett

levonva, illetve a „Készlet levonás” megjegyzés és a „-” mozgás

karakter is beíródik az új sorba.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

40

Raktar_csomag létrehozása:

CREATE OR REPLACE PACKAGE Raktar_csomag AS

PROCEDURE feltolt (kod IN raktar.ralk_kod%TYPE, db IN

Raktar.keszlet%TYPE);

PROCEDURE keszlet_naplozas;

END Raktar_csomag;

Raktar_csomag törzse:

CREATE OR REPLACE PACKAGE BODY Raktar_csomag AS

PROCEDURE feltolt (kod IN Raktar.ralk_kod%TYPE, db IN

Raktar.keszlet%TYPE) AS

BEGIN

INSERT INTO Raktar VALUES (kod, db);

END;

PROCEDURE keszlet_naplozas AS

szam NUMBER;

k Raktar.ralk_kod%TYPE;

BEGIN

SELECT ralk_kod INTO k FROM (SELECT ralk_kod FROM

Raktar ORDER BY

dbms_random.value ) WHERE

rownum = 1;

SELECT keszlet INTO szam FROM Raktar WHERE ralk_kod=k;

INSERT INTO Naplo VALUES (k, SYSDATE, ROUND(szam/10),

' Készlet levonás', '-');

UPDATE Raktar SET keszlet=szam-ROUND(szam/10) WHERE

Ralk_kod=k;

END;

END Raktar_csomag;

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

41

Keszlet_naplozas-t meghívó JOB:

A munkaköteg arra szolgál, hogy a raktáron lévő készlet ne csak növekedjen, hanem

csökkenjen is, így szimulálva a gyártást. A rendszer 40 percenként lefutatja a JOB-ot, mely

a fent leírt keszlet_naplozas eljárást hívja meg.

DECLARE

jobno NUMBER;

BEGIN

dbms_job.submit (jobno,

'raktar_csomag.keszlet_naplozas();',

SYSDATE, 'SYSDATE+(40/24/60)');

END;

Napló tábla karbantartása:

Az eljárás cursor segítségével kitörli a 4 nappal ezelőtti napló bejegyzéseket, így a

Napló tábla jobban átláthatóvá válik és a felesleges adatok nem terhelik le a rendszert.

CREATE OR REPLACE PROCEDURE naplo_torles AS

datum naplo.d%type;

CURSOR c1 IS SELECT d FROM Naplo;

BEGIN

OPEN c1;

LOOP

FETCH c1 INTO datum;

DELETE naplo WHERE d <(datum-3);

EXIT WHEN c1%notfound;

END LOOP;

CLOSE c1;

END;

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

42

A naplo_torles eljárást meghívó JOB:

A munkaköteg minden nap lefut egyszer és meghívja a naplo_torles eljárást.

DECLARE

jobno NUMBER;

BEGIN

dbms_job.submit (jobno, 'naplo_torles();', SYSDATE,

'SYSDATE+1');

END;

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

43

8. Programfelület bemutatása

8.1. Hiányos készlet listázása

Minden alkalommal, amikor a program elindításra kerül, egy ablakban a következő

kérdés jelenik meg: „Kívánja megtekinteni a hiányos anyagok listáját?” (8.1. ábra)

Az „Igen” gombra kattintva a Raktár tábla azon sorai jelennek meg, melyek

készleten levő darabszáma kisebb, mint 50. SQL parancsa: SELECT * FROM Raktar

WHERE keszlet < 50. A beszerző a lista segítségével látja, hogy milyen alkatrészre

kell rendelést kiadnia. Az átláthatóság érdekében a mezőnevekre kattintva megjelenik egy

kis nyilacska, mely által a táblázat értékei csökkenő vagy növekvő sorrendbe

rendezhetőek. A rendszer a táblázatból nem lép ki automatikusan, így a felhasználó addig

tudja használni, amíg szüksége van rá.

A „Nem” gombra vagy a jobb felső sarokban lévő „X” - re kattintva pedig, bezárja

ezt az ablakot, és csak a következő elindításkor jelenik meg újra.

8.1. ábra: Hiányos készlet listája

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

44

8.2. Alapfelület

8.2.1. Optimális beszállító kalkulálás

Az alapfelület 2 fő részből tevődik össze, ebből az egyik az Optimális beszállító

kalkulálás. Itt anélkül, hogy megrendelnénk az anyagot, meg tudjuk nézni, hogy melyik

beszállítótól lenne érdemesebb megrendeli, a kívánt alkatrészt, vagyis összehasonlítást

tudunk végezni. A legördülő listából ki kell választani, hogy melyik anyagról akarunk

összefoglaló információt kapni. A „Kalkuláció” gombra kattintva meg is kapjuk az

adatokat, egy táblázat formájában. (8.2. ábra)

SQL parancsa: SELECT beszallito, mod, koltseg, db_ar,

kiszereles, min, max, becsult_ido, osszkoltseg FROM Besz_alk

INNER JOIN Beszallito ON beszallito=nev WHERE alk_kod like ?.

Előfordul, hogy a táblában csak egy sor jelenik meg, ez azért van, mert a kiválasztott

alkatrészt csak egy beszállító tudja a vállalatnak biztosítani. Ha nem jelenik meg egy sor

sem a táblázatban, akkor még nincs az anyag és a beszállító között kapcsolat felépítve

(nincs nyilvántartva a Besz_alk táblázatban).

Ha új alkatrész került felvételre, akkor a rendszert újra kell indítani, mert nem lesz

benne a kalkulációs alkatrész listában., és nem lehet rá kalkulálást kiadni.

8.2. ábra: Optimális beszállító kalkulálás

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

45

8.2.2. Rendelés

Az alapfelület másik része a Rendelés. (8.3. ábra) Itt lehet egy anyagot megrendelni,

a megfelelő értékek megadásával. Fontos, hogy csak olyan rendelés adható ki, mely a

Beszállító - Alkatrész (Besz_Alk) táblában szerepel, hiszen itt van nyilvántartva, hogy az

anyagokat mely beszállítótól lehet beszerezni. A rendszer azt is ellenőrzi, hogy a

darabszám a minimum és maximum rendelhető érték közé esik-e, illetve a kiszerelést is

figyeli. Ha az értékeket rosszul adja meg a felhasználó, akkor hibaüzenet jelenik meg, és

nem történik meg a rendelés felvétele. Ha a rendelés kiadása sikeres, akkor azt a

„Rendelések listázása” gombra kattintva nézheti meg a beszerző, az eddig kiadott

rendelésekkel együtt.

8.3. ábra: Rendelés

A 8.3. ábrán látható, hogy a keret jobb felső sarkában van egy „?” feliratú gomb,

erre kattintva kapunk egy kis segítséget a rendelés elkészítéséhez. (8.4. ábra)

8.4. ábra: Rendelés súgó

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

46

8.3. Új elem felvétele

Minden tábla bővíthető új elemekkel, a folyamat menetét a 8.5. ábra mutatja. Az új

alkatrész és beszállító esetében a programot újra el kell indítani, hogy a későbbiekben

használni lehessen. Az elem feltöltése nagy odafigyelést igényel, mert nincs lehetőség a

törlésre, csak az adatbázist kezelő rendszergazdának van rá jogosultsága. Oka, hogy ne

lehessen alap információkat kitörölni.

Említettem már, hogy minden tábla lehet új értékeket felvenni, csak ki kell választani

a kívánt táblát a menüből. A kiválasztás után megjelenik egy ablak, melyben lehetőség van

az új adatok rögzítésére. Az értékek kitöltését követően a „Feltölt” gombra kell kattintani,

és a rendszer választ ad a feltöltés sikerességéről. Ha az értékek megadása helyes, akkor

bekerül az adatbázisba, ha helytelen, akkor hibaüzenetet kap a felhasználó.

Milyen hibák merülhetnek fel az értékek feltöltésénél? Nem megfelelő típusú

szöveget írunk a mezőbe (pl.: szám helyett szöveget). A mező értéke nem felel meg a

feltételeknek (pl.: nem megfelelő a szállítási mód megadása, a maximum rendelhetőség

értékét kisebbre szeretnénk állítani, mint a minimum rendelhetőség).

8.5. ábra: Új rekord felvétele

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

47

8.4. Listázás

A listázás menüpont alatt, a táblák tartalmát lehet megtekinteni. Itt kapunk arról

információt, hogy milyen alkatrészek és beszállítók vannak, ezek között milyen kapcsolat

van, és a raktárkészletet is megnézhetjük. A listázás elérését a 8.6. ábra mutatja.

8.6. ábra: Táblák listázása

8.5. Keresés

Az adatok gyorsabb elérésének érdekében, különböző kereséseket készítettem. A

menüből ki kell kiválasztani, hogy mely adatra szeretne a felhasználó keresést

végrehajtani, majd rákattint a megfelelőre. A kiválasztás után, megjelenik egy ablak,

melyben a legördülő lista segítségével választhatunk, majd a „Keresés” gombot kell

megnyomni. A keresés eredménye egy táblázatban lesz megtekinthető.

Milyen adatokat lehet a keresésekkel elérni?

Az „Alkatrész adatok” -ra kattintva, az alkatrész kódja alapján megkapjuk,

hogy mely beszállító, milyen egység és darab áron tudja szállítani az alkatrészt.

A „Beszállító adatok” –ra kattintva, a szállítás módját tudjuk kiválasztani, és a

mód alapján megkapjuk, hogy mely beszállító, honnan, milyen paritással, hány

nap alatt és mekkora költséggel szállít. A 8.7. ábra ezt a folyamatot ábrázolja.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

48

A „Rendelés” –re kattintva, kiválaszthatjuk annak az alkatrésznek a kódját,

melyre már volt rendelés kiadva. Eredményül megkapjuk, hogy kitől, mikor és

hány darab lett rendelve.

8.7. ábra: Keresés

8.6. Módosítás

Sokszor előfordul, hogy a beszállító cég változtat az általa szállított alkatrész árán,

vagy a beszállítási módon, stb. Ilyen esetekben a rendszer értékit is frissíteni/módosítani

kell. Erre szolgálnak a különböző módosításokat végrehajtó menüpontok.

Minden ablak jobb felső sarkában van egy „?” gomb, mely segítséget nyújt az

adatok helyes kitöltéséhez. A „Frissítés” gomb megnyomásakor a rendszer ellenőrzi, hogy

az értékek alapján végre hajthatja-e a módosítást. Ha nem tudja végrehajtani, akkor

hibaüzenetet küld, ellenkező esetben módosul az adatbázis.

Milyen módosításokat lehet elvégezni?

„Incoterms és költség” kiválasztásánál a beszállító neve alapján lehet

változtatni az értékeket. Figyelni kell az incoterms és a szállítási mód helyes

használatára.

„Szállítási idő és mód”-ra kattintva, egy legördülő listából kell kiválasztani,

hogy mely beszállító paramétereit szeretnénk megváltoztatni. Itt is fontos a

szállítási mód és a paritás helyes értékeinek megadása.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

49

„Alkatrész ár” kiválasztásánál, az alkatrész kódját és a beszállító cég nevét a

Besz_alk táblának megfelelően kell megadni, és ennek alapján lehet az új árat

beírni. (8.8. ábra)

8.8. ábra: Módosítás

8.7. Naplózás

A készlet mozgását a Napló tábla tárolja el. Nyomon lehet követni, hogy mikor lett

rendelés kiadva és az mikor érkezett meg, illetve a készlet levonást is feltünteti. A tábla

megadja, hogy melyik anyag, mikor és hány darab került mozgatásra. A tábla elérését a

8.9. ábra mutatja.

8.9. ábra: Naplózás

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

50

8.8. Súgó

A súgóban az alapfelületnek és a menüpontnak van leírva a használata. A különböző

menüpontokat külön fülekbe helyeztem el, így könnyedén megtalálható bármilyen

információ. Itt le van írva, hogy mit, hogyan és hol talál meg a felhasználó, illetve az is,

hogy az adott művelet mire szolgál. (8.10. ábra)

8.10. ábra: Segítség

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

51

9. Összefoglalás

A szakdolgozatom során elkészített program, olyan kis cégek számára készült, akik

nem rendelkeznek vállalatirányítási rendszerrel. Természetesen nem valósítottam meg egy

teljes vállalatirányítási rendszert, hanem csak egy általam fontosnak tartott modult, vagyis

egy logisztikával kapcsolatos részt készítettem el. A modul lényege, hogy a beszerző

könnyedén és hatékonyan tudjon anyagot megrendelni, valamint egy alkatrészről vagy

beszállító cégről pillanatok alatt bármilyen információhoz hozzájuthasson. A rendszer

engedélyezi a hozzáférést a raktárkészlethez, illetve a készlet mozgatását is figyeli, ennek

alapján tudja a beszerző, hogy pontosan mely alkatrészhez kell rendelést készíteni.

A szakdolgozat írásakor mélyebb ismeretekre tettem szert, az általam már

alkalmazott PL-SQL és JDBC közös használatáról. Segítségükkel sikerült megvalósítanom

az elképzeld beszerzői rendszert.

A jövőben az elkészített modult ki lehetne terjeszteni több termék gyártására, melyek

előállításához a különböző alkatrészekből eltérő darabszám kellene. Ezen kívül, egy raktár

modullal való bővítés esetében, nem lenne szükség a gyártás szimulálására, hiszen a

készlet csökkenést a raktárban dolgozó munkások végeznék el.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

52

10. Summary

The program that I have made in my thesis is for those companies which do not have

any kind of leading system. Naturally, I did not make a complete corporate leading system,

only a module which was thought important, so I have made a part in connection with

logistics. The main thing in the module is that the supplier can order staff easily and

effectively. It was also important to get any kind of information about the parts and the

supply company. The system authorizes the access for the stockpile and pays attention to

the stock movements. In addition the supplier knows how to make orders for which stuff.

As I was making my thesis I was able to get know effectively the PL-SQL and

JDBC. I was able to make the supplier system that I have planned.

In the future the module could be useful to make more kinds of stuffs and for these

manufacturing there would be different number of pieces for the different stuffs. In

addition, in a case of increasing a stock module, there would no need to symulate the

manufacturing because the dicreasing of the stock would be done by the workers in the

stock.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

53

11. Irodalomjegyzék

[1] http://hu.wikipedia.org/wiki/Beszerz%C3%A9si_logisztika

[2] http://logisztika.com/logisztika-szotar/beszerzes-fogalma (dr. Majoros 1998)

[3] http://web.alt.uni-

miskolc.hu/anyagok/logrend2/A%20beszerz%C3%A9si%20logisztikai%20folyama

t%20tervez%C3%A9s%C3%A9nek%20%C3%A9s%20muk%C3%B6dtet%C3%A

9s%C3%A9nek%20strat%C3%A9gi%C3%A1i%20I.pdf

(Prof. Dr. Cselényi József és Dr. Illés Béla)

[4] http://web.alt.uni-

miskolc.hu/anyagok/logrend2/A%20beszerz%C3%A9si%20logisztikai%20folyama

t%20tervez%C3%A9s%C3%A9nek%20%C3%A9s%20muk%C3%B6dtet%C3%A

9s%C3%A9nek%20strat%C3%A9gi%C3%A1i%20II.pdf

(Prof. Dr. Cselényi József és Dr. Illés Béla)

[5] http://zeus.nyf.hu/~jmgt/letolt/log_rendsz/berszerzes_logikaja.pdf

[6] http://hu.wikipedia.org/wiki/INCOTERMS

[7] http://www.sprintcamion.hu/hasznos_kepek/12_20100204144445.pdf

[8] http://leea.site40.net/02szemantika.pdf

[9] http://hu.wikipedia.org/wiki/Rel%C3%A1ci%C3%B3s_adatmodell

[10] http://users.iit.uni-miskolc.hu/~kovacs/db2/ora4.html

[11] https://www.db.bme.hu/sites/default/files/szglab5_segedlet.pdf

Linkek utoljára ellenőrizve: 2013.11.22.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

54

12. CD melléklet tartalma

Dolgozat

o Bsc_Szakdolgozat_kiíras_Maklary_Brigitta.doc

o Osszefoglalas.docx

o Osszefoglalas.pdf

o Summary.docx

o Summary.pdf

o Szakdolgozat.docx

o Szakdolgozat.pdf

Forraskodok

o Rendelés_készítés (NetBeans Projekt)

o build mappa (az elkészített osztályokat tartalmazza)

o dist (a futtatható fájlt tartalmazza)

o nbproject (a felépítéshez szükséges fájlokat tartalmazza)

o src (az elkészített osztályok forráskódjait tartalmazza)

Elkészített osztályok listája

o Alkatresz

o Alkatresz_adatok

o Besz_alk

o Beszallito

o Beszallito_adatok

o Felulet

o Futtathato

o Hgtm

o Hgtm2

o Hgtm3

o Hgtm4

o Hgtm5

o Hgtm6

o Hgtm7

o Kalkulacio

o Kapcsolodas

o Ker_alk_adat

o Ker_besz_adat

o Kerdes

o Mod_ar

o Mod_ido_mod

o Mod_inc_kol

o Naplozas

o Raktar

o Raktar_lista

o Rendeles

o Rendeles_adatok

o Segitseg_keszites

o Uj_alkatresz

o Uj_besz_alk

o Uj_beszallito

o Uj_raktar

EREDETISÉGI NYILATKOZAT

Alulírott Makláry Brigitta; Neptun-kód: EQP49C; a Miskolci Egyetem Gépészmérnöki

és Informatikai Karának végzős Mérnök informatikus szakos hallgatója ezennel

büntetőjogi és fegyelmi felelősségem tudatában nyilatkozom és aláírásommal igazolom,

hogy Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén című

szakdolgozatom saját, önálló munkám; az abban hivatkozott szakirodalom felhasználása a

forráskezelés szabályai szerint történt.

Tudomásul veszem, hogy szakdolgozat esetén plágiumnak számít:

- szószerinti idézet közlése idézőjel és hivatkozás megjelölése nélkül;

- tartalmi idézet hivatkozás megjelölése nélkül;

- más publikált gondolatainak saját gondolatként való feltüntetése.

Alulírott kijelentem, hogy a plágium fogalmát megismertem, és tudomásul veszem, hogy

plágium esetén szakdolgozatom visszautasításra kerül.

Miskolc, 2013. november 22.

…….……………………………….…

Hallgató