Gyártástervezési adatsablon
Gyártástervezési adatsablon
- A gyártástervezési elemzéshez javasolt attribútumok
- Követendő gyártástervezési tevékenységek
- Részletes útmutató az adatok kinyeréséhez a SAP S/4HANA rendszerből
Gyártástervezési attribútumok
| Név | Leírás | ||
|---|---|---|---|
| Gyártási megrendelés ProductionOrder | A gyártási megrendelés egyedi azonosítója, amely a gyártástervezési folyamat elsődleges esetazonosítójaként szolgál. | ||
| Leírás A gyártási megrendelés száma az SAP S/4HANA által létrehozott egyedi kulcs, amely egy adott mennyiségű termék gyártásához kapcsolódó összes tevékenység kezelésére és nyomon követésére szolgál. Összekapcsolja a kapcsolódó eseményeket a tervezéstől és a felszabadítástól a végrehajtáson át a végső elszámolásig. A process mining során ez az attribútum teszi lehetővé, hogy az összetartozó eseményeket egyetlen, elejétől végéig tartó folyamatpéldányba rendezzük. A gyártási megrendelés szerinti elemzéssel mérhetők például a fő teljesítménymutatók, köztük az átfutási idő és az ütemterv betartása, valamint azonosíthatók az egyes gyártási sorozatokat érintő szűk keresztmetszetek. Miért fontos? Ez az alapvető attribútum kapcsolja össze a folyamat összes lépését, így a gyártás teljes életciklusa az elejétől a végéig, esetenként elemezhető. Hol szerezhető be? Ez a gyártási megrendelés száma, amely jellemzően az SAP AFKO (AUFNR mező) és AFPO tábláiban található. Példák 100056710008341001299 | |||
| Kezdés időpontja StartTime | Az időbélyeg, amely megmutatja, mikor kezdődött egy adott tevékenység vagy esemény. | ||
| Leírás Ez az attribútum minden rögzített gyártási esemény dátumát és időpontját tartalmazza. Minden időalapú folyamatelemzés erre épül. A kezdés időpontja alapján számítható ki a tevékenységek közötti idő, valamint a gyártási megrendelés teljes átfutási ideje. Az események időzítése is vizsgálható vele. Az attribútum segít feltárni a szűk keresztmetszeteket és a várakozási időket, továbbá megmutatja, mennyire tartják be az ütemtervet a tényleges időbélyegek és a tervezett dátumok összevetésével. Miért fontos? Időrendi kontextust ad az eseményekhez, így elemezhető a folyamat teljesítménye, időtartama és a szűk keresztmetszetek. Hol szerezhető be? Státuszváltozásoknál jellemzően a módosítási dokumentumok tábláiban (CDHDR/CDPOS), a végrehajtási lépéseknél a visszaigazolási táblákban (AFRU), a létrehozás dátumánál pedig a fejlécadatokat tartalmazó táblákban (AFKO) található. Példák 2023-10-26T09:00:00Z2023-10-26T14:30:00Z2023-10-27T08:15:00Z | |||
| Tevékenység Activity | A gyártástervezési folyamat egy adott időpontjában bekövetkezett esemény vagy végrehajtott feladat neve. | ||
| Leírás Ez az attribútum rögzíti a gyártási megrendelés életciklusának egyes lépéseit és mérföldköveit. Ilyen például a „Gyártási megrendelés létrehozva”, az „Anyag rendelkezésre állásának ellenőrzése”, a „Gyártás elindítva” és a „Megrendelés pénzügyileg lezárva”. Minden tevékenység egy, a rendszerben dokumentált műveletet vagy státuszváltozást jelöl. A process mining alapja ezeknek a tevékenységeknek a sorrendje és gyakorisága. Az elemzés megmutatja a folyamat menetét, feltárja a standard eljárástól való eltéréseket, és azonosítja a késedelmet okozó vagy gyakori újramunkát igénylő tevékenységeket, például a „Gyártási terv módosítva” eseményt. Miért fontos? Meghatározza a folyamat lépéseit, így feltárható és megjeleníthető a tényleges gyártási munkafolyamat és annak változatai. Hol szerezhető be? A JEST és JCDS táblák státuszváltozásaiból, a használt tranzakciókódokból (például létrehozáskor a CO01-ből), illetve az AFRU táblában rögzített visszaigazolásokból származtatható. Példák Gyártási rendelés létrehozvaGyártási rendelés felszabadítvaGyártás megkezdődöttVégső visszaigazolás rögzítveÁruátvétel könyvelve | |||
| Adatok utolsó frissítése LastDataUpdate | Az időbélyeg, amely megmutatja, mikor frissítették vagy nyerték ki utoljára az adatokat a forrásrendszerből. | ||
| Leírás Ez az attribútum rögzíti a legutóbbi adatlekérés dátumát és időpontját. Megmutatja, mennyire frissek az elemzett adatok. Az elemzés helyes értelmezéséhez tudni kell, mikor frissültek utoljára az adatok. Így megállapítható, hogy valós idejű információt vagy egy adott időpont állapotát látja-e. Ez befolyásolja az eredmények és az adatok alapján hozott döntések aktualitását. Miért fontos? Jelzi, mennyire frissek az adatok, ami elengedhetetlen a pontos és időszerű üzleti döntésekhez. Hol szerezhető be? Ezt az időbélyeget az adatkinyerési, -átalakítási és -betöltési (ETL) folyamat hozza létre és adja hozzá. Példák 2024-05-21T02:00:00Z2024-05-22T02:00:00Z2024-05-23T02:00:00Z | |||
| Forrásrendszer SourceSystem | Az a rendszer, amelyből a gyártástervezési adatokat kinyerték. | ||
| Leírás Ez az attribútum azonosítja az adatok forrását, ami több integrált rendszer használatakor különösen fontos. Ennél a folyamatnál ez jellemzően az adott SAP S/4HANA-példány. Az adatelemzés során a forrásrendszer ismerete segít az adatok sértetlenségének megőrzésében, és megfelelő kontextust ad a különböző forrásokból származó adatok összekapcsolásához. Az adatirányítás és a nyomon követhetőség alapvető metaadata. Miért fontos? Az adatirányításhoz szükséges metaadatot biztosítja, egyértelművé téve a folyamatadatok eredetét és kontextusát. Hol szerezhető be? Ez általában az adatkinyerés során hozzáadott statikus érték, amely az SAP S/4HANA-klienst és a rendszerazonosítót (SID) jelöli. Példák S4P_100S4H_PRD_200S4Q_300 | |||
| Anyagszám MaterialNumber | A gyártási megrendelésben készülő termék egyedi azonosítója. | ||
| Leírás Az anyagszám azonosítja a gyártási megrendelésben előállítandó terméket. Összekapcsolja a gyártási folyamatot az anyag törzsadataival, többek között az anyagjegyzékkel (BOM) és a művelettervvel. Az anyagszám szerinti elemzésből kiderülhet, hogy egyes termékeknél gyakoribb-e a késés, az újramunka vagy az anyaghiány. Ez lehetővé teszi a termékspecifikus folyamatfejlesztést, például a tervezési paraméterek módosítását vagy az adott alkatrészek ellátásának javítását. Miért fontos? Lehetővé teszi a gyártott termék szerinti szűrést és elemzést, így feltárhatók a termékspecifikus hatékonysági problémák és szűk keresztmetszetek. Hol szerezhető be? A gyártási megrendelés tételsorait tartalmazó AFPO táblában található (MATNR mező). Példák RM-1001FG-2050SA-3100-B | |||
| Gyár Plant | Az a gyártóüzem vagy telephely, ahol a gyártási megrendelést végrehajtják. | ||
| Leírás Az SAP-ban a gyár olyan szervezeti egység, amely egy gyártóhelyet vagy üzemet jelöl. Minden gyártási megrendelés ahhoz a gyárhoz tartozik, ahol a gyártás zajlik. Ez az attribútum elengedhetetlen a különböző gyártóhelyek összehasonlításához. A folyamatadatok gyár szerinti bontásával összevethető a teljesítmény, feltárhatók a helyi problémák és bevált gyakorlatok, valamint megérthetők a hatékonyság, a kapacitás és a szabványok betartása közötti regionális különbségek. Miért fontos? Lehetővé teszi a különböző gyártóhelyek teljesítményének összehasonlítását, így megoszthatók a bevált gyakorlatok és kezelhetők a helyi problémák. Hol szerezhető be? A gyártási megrendelés fejlécadatait tartalmazó AFKO táblában található (DWERK mező). Példák 100017102000 | |||
| Megrendelés státusza OrderStatus | A gyártási megrendelés aktuális feldolgozási státusza, például létrehozva, felszabadítva vagy műszakilag befejezve. | ||
| Leírás A megrendelés státusza jelzi, hol tart a gyártási megrendelés az életciklusában. Összefoglalja a megrendeléshez rendelt rendszer- és felhasználói státuszokat. Gyakori státuszok: CRTD (létrehozva), REL (felszabadítva), CNF (visszaigazolva), TECO (műszakilag befejezve) és CLSD (lezárva). Az aktuális státuszok elemzésével áttekinthető a folyamatban lévő munka. A process mining során a státuszok időbeli változásainak követése hozza létre a tevékenységnaplót, amely részletes képet ad a folyamat menetéről és az egyes szakaszok időtartamáról. Miért fontos? Áttekintést ad a megrendelés életciklusának aktuális szakaszáról, és alapul szolgál a process mining tevékenységsorrendjének meghatározásához. Hol szerezhető be? A JEST táblában tárolt rendszerstátuszból származik, amely az AFKO objektumszámán keresztül kapcsolódik (OBJNR mező). Példák CRTDRELTECOCLSD | |||
| Munkahely WorkCenter | Az adott műveletért felelős gép, gépcsoport vagy szerelési terület. | ||
| Leírás A munkahely a gyáron belüli olyan egység, ahol egy gyártási lépést végeznek. Lehet egyetlen gép, gyártósor vagy dolgozói csoport. A folyamatadatok munkahely szerinti elemzésével feltárhatók a kapacitás szűk keresztmetszetei, és optimalizálható az erőforrások elosztása. Megmutatja, mely munkahelyek túlterheltek vagy kihasználatlanok, és hol fordulnak elő leggyakrabban késések a gyártás végrehajtása során. Ez a Kapacitásszűk keresztmetszetek azonosítása dashboard alapja. Miért fontos? Segít azonosítani a szűk keresztmetszetet jelentő gépeket és gyártósorokat, így célzottan javítható a kapacitás és az erőforrások kihasználtsága. Hol szerezhető be? A gyártási megrendelés műveleti adataiban, az AFVC táblában található (ARBPL mező). Példák WC-ASSEMBLY-01WC-MILLING-05WC-PACKING | |||
| Tervezett befejezési dátum PlannedEndDate | A gyártási megrendelés eredeti terv szerinti befejezési dátuma. | ||
| Leírás A tervezett befejezési dátum az a határidő, ameddig a megrendeléshez tartozó összes gyártási tevékenységnek be kell fejeződnie. Ezt a dátumot a gyártástervezés ütemezési szakaszában határozzák meg. Ez az attribútum szükséges az ütemterv betartásának méréséhez. A tervezett befejezési dátum és a tényleges befejezési időbélyeg összevetésével kiszámítható az ütemterv-betartási KPI, és azonosíthatók a késő megrendelések. Az elemzés javítja a tervezés pontosságát és az ügyfelek elégedettségét. Miért fontos? Az ütemterv betartásának mérési alapja, amely segít értékelni a tervezés pontosságát és a végrehajtás hatékonyságát. Hol szerezhető be? A gyártási megrendelés fejlécadatait tartalmazó AFKO táblában található (GLTRP mező). Példák 2023-11-152023-12-012024-01-20 | |||
| Anyag rendelkezésre állási státusza MaterialAvailabilityStatus | Jelzi, hogy rendelkezésre áll-e a gyártási megrendeléshez szükséges összes anyag. | ||
| Leírás Ez a státusz a gyártási megrendeléshez végzett anyag-ellátottsági ellenőrzés eredményét mutatja. Jelezheti, hogy minden anyag rendelkezésre áll, egyes anyagok hiányoznak, vagy az ellenőrzés még nem történt meg. Az „hiány” státusz késésre utalhat. Ez az attribútum a Anyaghiány hatásának elemzése dashboard alapja. Az anyaghiány státuszát a megrendelés felszabadítása és a gyártás kezdete közötti idővel összevetve számszerűsíthető az anyaghiány okozta késés. Ennek javítása gördülékenyebbé teszi a gyártást. Miért fontos? Közvetlen magyarázatot ad a megrendelés felszabadítása és a gyártás kezdete közötti késésekre, és segít számszerűsíteni az ellátási problémák gyártásra gyakorolt hatását. Hol szerezhető be? Ez egy státusz, amelyet gyakran az anyagkomponensek összesített státusza alapján határoznak meg. A JEST rendszerstátuszai között található, például az „MSPT” (anyaghiány) kóddal. Példák Rendelkezésre állHiányNincs ellenőrizve | |||
| Befejezés időpontja EndTime | Az időbélyeg, amely megmutatja, mikor fejeződött be egy adott tevékenység vagy esemény. | ||
| Leírás Ez az attribútum minden rögzített esemény befejezésének dátumát és időpontját tartalmazza. A kezdés időpontjával együtt meghatározza a tevékenység időtartamát. A befejezés időpontja alapján pontosan kiszámítható az egyes tevékenységek feldolgozási ideje. Ez fontos adat a kapacitás és az erőforrások kihasználtságának elemzéséhez. Segít elkülöníteni az aktív munkavégzést a tétlen vagy várakozással töltött időtől, így pontosabban azonosíthatók a szűk keresztmetszetek. Miért fontos? Lehetővé teszi a tevékenységek pontos időtartamának kiszámítását, ami szükséges az erőforrás-hatékonyság elemzéséhez és a folyamat szűk keresztmetszeteinek feltárásához. Hol szerezhető be? A végrehajtási lépésekhez az AFRU visszaigazolási tábláiban található. Más eseményeknél megegyezhet a kezdés időpontjával, ha az esemény azonnal lezajlik. Példák 2023-10-26T09:45:00Z2023-10-26T15:00:00Z2023-10-27T10:30:00Z | |||
| Felhasználó User | Annak a felhasználónak a rendszerazonosítója, aki létrehozta, módosította vagy visszaigazolta a gyártási megrendeléshez tartozó eseményt. | ||
| Leírás Ez az attribútum rögzíti az adott tranzakcióhoz vagy státuszváltozáshoz, például egy megrendelés felszabadításához vagy visszaigazolásához kapcsolódó SAP-felhasználói azonosítót. Nyomon követhetővé teszi a rendszerben végrehajtott műveleteket. A tevékenységek felhasználó szerinti elemzése segít megérteni a munkaterhelés eloszlását, feltárni a képzési igényeket és ellenőrizni az eljárások betartását. Például megmutathatja, ha egyes felhasználók gyakran módosítják a terveket, vagy ha bizonyos csapatokhoz köthetők a késések. Miért fontos? Felelősségi köröket tesz nyomon követhetővé, és lehetővé teszi a munkaterhelés, a felhasználói minták és a lehetséges képzési igények elemzését. Hol szerezhető be? Jellemzően a módosítási dokumentumok fejlécében (CDHDR, UNAME mező) vagy a visszaigazolási rekordokban (AFRU, PERNR mező, személyzeti szám) található. Példák CB9980000021JSMITHPLANNER01 | |||
| Gyártási prioritás ProductionPriority | A gyártási megrendeléshez rendelt kód vagy érték, amely a sürgősségét vagy fontosságát jelzi. | ||
| Leírás A tervezők és ütemezők a gyártási prioritás alapján állítják sorrendbe a megrendeléseket, különösen akkor, ha korlátozottak az erőforrások. A magasabb prioritású megrendelést ideális esetben az alacsonyabb prioritású előtt kell feldolgozni. Az attribútum elemzésével ellenőrizhető, hogy a gyártásban valóban betartják-e a megadott prioritásokat. A Gyártási prioritások következetessége dashboard összeveti a feldolgozás sorrendjét a hozzárendelt prioritással, és feltárja az eltéréseket. Ez fegyelmezettebb ütemezést és a tervezés, illetve a végrehajtás jobb összehangolását teszi lehetővé. Miért fontos? Segít ellenőrizni, hogy a gyártás ütemezése követi-e az üzleti prioritásokat, és a sürgős megrendelések valóban előnyt élveznek-e. Hol szerezhető be? Ez gyakran egy egyéni mező, vagy más megrendelési paraméterekből származik. A pontos helye a konfigurációtól függ. Példák MagasKözepesAlacsony15 | |||
| Határidőre elkészült IsOnTime | Jelző, amely megmutatja, hogy a gyártási megrendelés a tervezett befejezési dátumon vagy az előtt készült-e el. | ||
| Leírás Ez a számított logikai attribútum a tényleges befejezési dátum és a tervezett befejezési dátum összevetésével méri az ütemterv betartását. Egyértelmű, igen-nem eredményt ad arról, hogy az egyes gyártási megrendelések határidőre készültek-e el. Ez az attribútum az ütemterv-betartási KPI alapja. Egyszerűen szétválaszthatók vele a határidőre elkészült és a késő megrendelések, így feltárhatók a késésekhez kapcsolódó jellemzők és folyamatútvonalak. Miért fontos? Egyértelműen és egyszerűen méri az egyes megrendeléseknél az ütemterv betartását, és segít feltárni a késések kiváltó okait. Hol szerezhető be? Számított mező. Értéke igaz, ha a „Megrendelés műszakilag befejezve” tevékenység időbélyege korábbi vagy azonos a „Tervezett befejezési dátum” attribútum értékével. Példák truefalse | |||
| Megrendeléstípus OrderType | A gyártási megrendelés célját meghatározó és feldolgozását szabályozó besorolás. | ||
| Leírás A megrendeléstípus az SAP PP egyik fontos konfigurációs eleme, amely meghatározza, hogyan kezeli a rendszer a gyártási megrendelést. Szabályozza a számtartományokat, a törzsadatok kiválasztását, a költségszámítási paramétereket és az elszámolási szabályokat. Ilyen típus például a normál gyártási, az újramunkálási vagy a prototípus-megrendelés. A megrendeléstípus szerinti elemzéssel összehasonlítható a különböző gyártási folyamatok teljesítménye és menete. Kiderülhet például, hogy az újramunkálási megrendelések lényegesen tovább tartanak-e, vagy bizonyos típusoknál gyakrabban módosul-e a terv. Ezek az eredmények célzott folyamatfejlesztést tesznek lehetővé. Miért fontos? Lehetővé teszi az elemzés üzleti cél szerinti bontását, így összehasonlítható a normál gyártás, az újramunka és más folyamatok. Hol szerezhető be? A gyártási megrendelés fejlécadatait tartalmazó AFKO táblában található (AUART mező). Példák PP01PP03ZP01 | |||
| Tervezett kezdési dátum PlannedStartDate | A gyártási megrendelés eredeti terv szerinti kezdési dátuma. | ||
| Leírás A tervezett kezdési dátum az a nap, amikor a megrendeléshez tartozó gyártási tevékenységeknek el kell kezdődniük. Ez az ütemezési folyamat egyik fontos eredménye. Ez az attribútum adja az ütemterv betartásának elemzéséhez szükséges kiindulási alapot. A tervezett kezdési dátum és a tényleges kezdési idő összevetésével feltárhatók a kezdeti késések, például az anyagok előkészítésének vagy a megrendelés felszabadításának csúszásai. Ezek a teljes gyártási ütemtervre is kihatással lehetnek. Miért fontos? Kiindulási alapot ad a kezdési idő betartásának méréséhez, így feltárhatók az olyan gyártás előtti késések, mint a megrendelés felszabadításának vagy az anyagok rendelkezésre állásának csúszása. Hol szerezhető be? A gyártási megrendelés fejlécadatait tartalmazó AFKO táblában található (GSTRP mező). Példák 2023-11-102023-11-252024-01-15 | |||
| Történt újramunka IsRework | Jelző, amely megmutatja, hogy a gyártási megrendeléshez tartozott-e újramunka vagy jelentős tervmódosítás a gyártás megkezdése után. | ||
| Leírás Ez a logikai attribútum azokat a gyártási megrendeléseket jelöli, amelyeknél a gyártás megkezdése után korrekcióra vagy tervmódosításra volt szükség. Ezt jelezheti egy kifejezett újramunkálási tevékenység, vagy a „Gyártási terv módosítva” esemény, ha az a „Gyártás elindítva” esemény után történt. Ez a jelző szükséges az újramunkálási arány KPI kiszámításához és az Újramunka és tervmódosítások dashboard használatához. Segítségével könnyen szűrhetők és elemezhetők a problémás esetek, így feltárhatók a költséges újramunkához vezető minőségi problémák és folyamattól való eltérések kiváltó okai. Miért fontos? Különválasztja az újramunkát igénylő eseteket, így célzottan elemezhetők és csökkenthetők a minőségi problémák, a folyamattól való eltérések és az ezekkel járó költségek. Hol szerezhető be? Számított mező. Értéke igaz, ha ugyanabban az esetben a „Gyártási terv módosítva” tevékenység a „Gyártás elindítva” után következik, vagy ha egy adott újramunkálási megrendeléstípust használnak. Példák truefalse | |||
| Visszaigazolt mennyiség TotalConfirmedQuantity | A megrendeléshez gyártottként visszaigazolt anyag teljes mennyisége. | ||
| Leírás Ez az attribútum a gyártási visszaigazolásokban jelentett kész- vagy félkésztermékek összesített mennyiségét mutatja. Nyomon követi, hogyan halad a megrendelés a tervezett mennyiség elérése felé. A visszaigazolt és a tervezett mennyiség összevetésével nyomon követhető a gyártás előrehaladása, és feltárhatók a hozamproblémák vagy eltérések. Ez az egyik alapvető kibocsátási mutató, amelyet többek között a selejtarány és a hatékonyság számításához is használnak. Miért fontos? Nyomon követi a gyártási megrendelés tényleges kibocsátását, ami szükséges az előrehaladás követéséhez, a hozam kiszámításához és az eltérések feltárásához. Hol szerezhető be? Az AFRU visszaigazolási rekordjaiból összesítve (a hozammennyiséghez az LMNGA mezőből). Példák 9801000501200 | |||
Gyártástervezési tevékenységek
| Tevékenység | Leírás | ||
|---|---|---|---|
| Áruátvétel könyvelve | Ez az esemény rögzíti, hogy a késztermék a gyártósorról a készletbe került. Ezzel hivatalosan nő a legyártott anyag készletszintje. | ||
| Miért fontos? Ez fontos mérföldkő, amely a gyártási eredmény elkészültét jelzi. A határidőre történő szállítás és a teljes átfutási idő mérésénél gyakran ezt tekintik a gyártási ciklus végének. Hol szerezhető be? Ez egy konkrét pénzügyi könyvelés, amely az anyagbizonylat-táblákban szerepel: a tételszintű MSEG és a fejlécszintű MKPF táblában. A könyvelés általában 101-es mozgásnemmel történik, és a bizonylatok a gyártási rendeléshez kapcsolódnak. Rögzítés Keresse meg az MSEG táblában a rendeléshez kapcsolódó, 101-es mozgásnemű anyagbizonylatot. Eseménytípus explicit | |||
| Gyártás megkezdődött | A rendeléshez tartozó fizikai gyártási tevékenységek kezdetét jelzi. Ez általában az első gyártóterületi visszaigazolásból vagy a rendeléshez kapcsolódó első anyagkiadásból következtethető ki. | ||
| Miért fontos? Ez a tevékenység jelöli az átmenetet a tervezésből a végrehajtásba. Az ütemterv betartásának méréséhez össze kell vetni a tényleges kezdési dátumot a tervezettel. Hol szerezhető be? Ez egy kikövetkeztetett esemény. Általában a rendeléshez kapcsolódó első anyagmozgás-könyvelés (MSEG tábla, 261-es mozgásnem) vagy idő-visszaigazolás (AFRU tábla) időbélyegéből állapítható meg. Rögzítés A rendeléshez tartozó AFRU (visszaigazolások) vagy MSEG (anyagmozgások) tábla legkorábbi időbélyege. Eseménytípus inferred | |||
| Gyártási rendelés felszabadítva | Ez fontos mérföldkő: a gyártási rendelést jóváhagyják, és végrehajthatóvá válik a gyártóterületen. A felszabadítás után megkezdődhet az anyagkiadás, a visszaigazolás és a végrehajtás egyéb lépései. | ||
| Miért fontos? Ez az esemény jelöli a végrehajtható gyártási folyamat hivatalos kezdetét, ezért fontos az átfutási idő méréséhez. A létrehozás és a felszabadítás közötti idő a gyártás előkészítésének egyik fontos KPI-ja. Hol szerezhető be? A felszabadítást felhasználó vagy rendszerfeladat indítja el, amelynek eredményeként a rendelés REL állapotba kerül. Az állapotváltozás időbélyeggel szerepel a JCDS táblában. A felszabadítás dátumát gyakran az AFKO-FTRMI mező is tartalmazza. Rögzítés A JCDS táblában a „REL” állapotváltozás időbélyege. Eseménytípus inferred | |||
| Gyártási rendelés létrehozva | A rendszerben ekkor hozzák létre a gyártási rendelést, amely hivatalosan előírja egy termék meghatározott mennyiségének előállítását. Az esemény akkor kerül rögzítésre, amikor a felhasználó elmenti az új rendelést, amelynek kezdeti állapota CRTD (létrehozva). | ||
| Miért fontos? Ez jelöli a gyártási rendelés életciklusának kezdetét. A létrehozás és a felszabadítás közötti idő elemzésével feltárhatók a gyártás hivatalos ütemezése előtti adminisztratív vagy tervezési késések. Hol szerezhető be? Az esemény az AUFK táblában (rendelés törzsadatai) szerepel a létrehozás dátumával (ERDAT). A létrehozási állapotot (CRTD) a JEST és a JCDS tábla rögzíti, a rendelés objektumszámához (OBJNR) kapcsolva. Rögzítés Időbélyeg az AUFK-ERDAT mezőből vagy a JCDS táblában a „CRTD” állapotváltozásból. Eseménytípus explicit | |||
| Gyártási terv módosítva | A gyártási rendelés felszabadítása után végrehajtott jelentős módosítás, például a mennyiség, a dátumok vagy az anyagjegyzék megváltoztatása. A módosítás a változásdokumentumok elemzésével azonosítható. | ||
| Miért fontos? A gyakori módosítások instabil tervezésre vagy ingadozó keresletre utalhatnak. Ez a tevékenység szolgáltatja az adatokat a gyártásiterv-módosítási arány KPI-hoz, és segít feltárni a folyamat változékonyságának okait. Hol szerezhető be? A gyártási rendelés objektumához (AUFK vagy AFPO) tartozó CDHDR (változásdokumentum-fejléc) és CDPOS (változásdokumentum-tételek) táblák változásnaplóiból következtethető ki. A felszabadítás után végrehajtott módosítások tervmódosításnak számítanak. Rögzítés Keresse meg a CDHDR/CDPOS táblákban a felszabadítás után módosított fontos mezőket, például a mennyiséget és a dátumokat. Eseménytípus inferred | |||
| Rendelés műszakilag lezárva | Ez az adminisztratív lezárási lépés megakadályozza a rendelés további logisztikai módosításait, például az anyagmozgásokat és a visszaigazolásokat. Logisztikai szempontból a rendelés befejezettnek számít. | ||
| Miért fontos? A TECO a gyártási folyamat végleges lezárását jelzi, ezért fontos a gyártási rendelés teljes ciklusidejének kiszámításához. Azt mutatja, hogy minden logisztikai tevékenység befejeződött, és a rendelés készen áll a pénzügyi elszámolásra. Hol szerezhető be? A felhasználó TECO (műszakilag lezárva) állapotra állítja a rendelést. Az esemény időbélyeggel ellátott állapotváltozásként szerepel a JCDS táblában. Rögzítés A JCDS táblában a „TECO” állapotváltozás időbélyege. Eseménytípus inferred | |||
| Végső visszaigazolás rögzítve | Ez a tevékenység jelöli a gyártási rendelés útvonalának utolsó műveletéhez tartozó visszaigazolást. Azt jelenti, hogy a gyártóterületen minden tervezett gyártási lépés befejeződött. | ||
| Miért fontos? A végső visszaigazolás fontos mérföldkő, amely a fizikai gyártási munka végét jelzi. Gyakran ezt használják a gyártóterületi ciklusidő pontosabb végpontjaként, még a késztermék bevételezése előtt. Hol szerezhető be? Az AFRU tábla visszaigazolási adataiból következtethető ki. Az utolsó műveletsorhoz (AFVC-VPLNR) tartozó visszaigazolási rekordként azonosítható, ha be van állítva a végső visszaigazolás jelzője (AFRUD-AUERU). Rögzítés Keresse meg az AFRU táblában az utolsó művelet visszaigazolását, amelynél be van állítva a végső visszaigazolás jelzője. Eseménytípus inferred | |||
| Anyag rendelkezésre állásának ellenőrzése | A rendszer vagy a felhasználó ellenőrzi, hogy a gyártási rendeléshez szükséges összes alkatrész megfelelő mennyiségben és időben rendelkezésre áll-e. Ez általában automatikus ellenőrzés a rendelés létrehozásakor vagy felszabadításakor, de kézzel is elvégezhető. Az ellenőrzés frissíti a rendelés állapotát. | ||
| Miért fontos? Az anyaghiány korai felismerése elengedhetetlen a proaktív tervezéshez. Ennek a tevékenységnek a nyomon követésével megérthető, hogyan befolyásolja az anyagok rendelkezésre állása a rendelések felszabadítását és a gyártás időben történő megkezdését. Hol szerezhető be? A rendelés állapotából következtethető ki. A MACM (anyag lefoglalva) állapot vagy az anyag rendelkezésre állásának dátumában bekövetkező változás (AFKO-MSERF) jelzi, hogy az ellenőrzés megtörtént. Az anyaghiányt jelző MSPT állapot hiánya szintén arra utalhat, hogy az anyag rendelkezésre áll. Rögzítés Az anyag lefoglalásához kapcsolódó állapotváltozásokból vagy a COMAC tranzakció végrehajtásából következtethető ki. Eseménytípus inferred | |||
| Anyaghiány lépett fel | Ez az esemény azt jelzi, hogy egy vagy több szükséges alkatrész hiánya miatt a gyártás akadályba ütközött vagy leállt. A rendszer ezt külön állapottal jelzi a rendelésen. | ||
| Miért fontos? Az anyaghiány nyomon követése elengedhetetlen az anyaghiány hatásának elemzéséhez. Segít számszerűsíteni az ellátási problémák okozta késéseket, és javítani az anyagtervezést. Hol szerezhető be? A gyártási rendelés MSPT (anyaghiány) állapotának aktiválásából következtethető ki. Az állapotváltozás időbélyege a JCDS táblában található. Rögzítés A JCDS táblában az „MSPT” állapotváltozás időbélyege. Eseménytípus inferred | |||
| Gyártási rendelés törölve | A gyártási rendelés befejezés előtti törlését jelenti. Ez a folyamat egyik sikertelen, alternatív végállapota. | ||
| Miért fontos? A törölt rendelések elemzése feltárhatja a kereslettervezés, a törzsadatok vagy az értékesítési folyamat problémáit. A magas törlési arány olyan rendszerszintű gondokra utalhat, amelyeket kezelni kell. Hol szerezhető be? A JCDS táblában beállított CACL (törlés) rendszerállapotból következtethető ki. A törlési jelző (AUFK-LOEKZ) szintén jelezheti a rendelés törlését. Rögzítés A JCDS táblában a „CACL” állapotváltozás időbélyege vagy az AUFK táblában a törlési jelző beállításának időpontja. Eseménytípus inferred | |||
| Gyártási visszaigazolás rögzítve | A gyártási rendelés egy adott műveleténél elért előrehaladás rögzítése. Ide tartozik a legyártott mennyiség, a selejt és a munkahelyen eltöltött idő megadása. | ||
| Miért fontos? A visszaigazolások valós idejű képet adnak a gyártóterületi előrehaladásról, és elengedhetetlenek a gyártási állapot nyomon követéséhez. Gyakoriságuk és időzítésük elemzésével követhető a folyamat menete, és feltárhatók a műveletek közötti késések. Hol szerezhető be? Minden visszaigazolás külön bejegyzésként szerepel az AFRU táblában (rendelés-visszaigazolások), időbélyeggel (BUDAT, UZEIT) és a művelet adataival. Rögzítés Dokumentumként rögzítve az AFRU táblában. Eseménytípus explicit | |||
| Kapacitásigények megtervezve | A tevékenység során ütemezik a gyártási rendelés műveleteit, és ellenőrzik, hogy a szükséges munkahelyeken rendelkezésre áll-e a kapacitás. A rendszer felméri a munkahelyek kapacitásterhelését, és ha így van beállítva, kiegyenlíti azt. Ez alapján határozza meg a gyártás dátumait. | ||
| Miért fontos? Ez a lépés elengedhetetlen a megvalósítható gyártási ütemtervhez. Időtartamának és eredményének elemzésével feltárhatók a kapacitás szűk keresztmetszetei, és pontosabbá tehető az erőforrás-tervezés. Hol szerezhető be? Általában abból a rendszerállapotból következtethető ki, amely jelzi, hogy a rendelést ütemezték, például a SETC (ütemezés végrehajtva) állapotból. A tervezett kezdési és befejezési dátumok (AUFK-GSTRP, AUFK-GLTRP) kitöltése szintén jelzi a tevékenység befejezését. Rögzítés Az AUFK/AFKO táblában szereplő tervezett dátumok kitöltéséből vagy a JEST táblában rögzített, ütemezéshez kapcsolódó állapotból következtethető ki. Eseménytípus inferred | |||
| Nem tervezett leállás történt | Ez a számított esemény a gyártás végrehajtási szakaszában fellépő jelentős állásidőt jelzi. Nem külön rendszereseményként rögzül, hanem az egymást követő gyártási visszaigazolások közötti hosszú időszakok alapján állapítható meg. | ||
| Miért fontos? Segít nyomon követni a nem tervezett fennakadásokat, például a géphibákat és a minőségi problémákat. A gyakori vagy hosszú leállások felismerése javítja a gyártóterület stabilitását és áteresztőképességét. Hol szerezhető be? Az AFRU táblában szereplő, egymást követő „Gyártási visszaigazolás rögzítve” tevékenységek időbélyegeinek elemzésével számítható ki. Ha a két időpont közötti különbség meghalad egy előre meghatározott küszöbértéket, az rendszer nem tervezett leállásként jelöli. Rögzítés Számítsa ki az egymást követő visszaigazolások időbélyegei (AFRU-BUDAT/UZEIT) közötti különbséget. Eseménytípus calculated | |||
| Rendelés pénzügyileg lezárva | Az utolsó lezárási lépés során elszámolják a rendelést, és további pénzügyi könyvelés már nem végezhető. Ez jelzi a rendelés életciklusának végét a kontrolling és a könyvelés szempontjából. | ||
| Miért fontos? Bár ez a tevékenység gyakran kívül esik a szűken vett gyártáselemzés körén, teljes, végponttól végpontig tartó képet ad. Segítségével elemezhető a logisztikai lezárás (TECO) és a pénzügyi lezárás közötti idő. Hol szerezhető be? A felhasználó CLSD (lezárva) állapotra állítja a rendelést. Az esemény időbélyeggel ellátott állapotváltozásként szerepel a JCDS táblában. Rögzítés A JCDS táblában a „CLSD” állapotváltozás időbélyege. Eseménytípus inferred | |||
Útmutatók az adatok kinyeréséhez
Lépések
- Előfeltételek ellenőrzése: Ellenőrizze, hogy rendelkezik-e megfelelő jogosultságú SAP S/4HANA-felhasználóval a szükséges Core Data Services (CDS) nézetek eléréséhez. A szükséges nézetek:
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatusésI_ChangeDocument. Emellett szüksége lesz az SAP HANA-adatbázishoz kapcsolódó SQL-végrehajtási környezetre, például SAP HANA Studio, DBeaver vagy külső ETL-eszköz használatával. - A rendszer adatainak azonosítása: Jegyezze fel a
SourceSystemattribútumhoz használni kívánt forrásrendszer-azonosítót. Ez egy Ön által megadott logikai név, amely azonosítja az adatok eredetét, példáulS4H_PROD. - A kinyerési paraméterek megadása: A lekérdezés futtatása előtt adja meg a fő paramétereket. Ezek közé tartozik a kinyerési időszak kezdő és záró dátuma, valamint az adatkört szűkítő feltételek, például a
Plantvagy aProductionOrderType. - Az SQL-lekérdezés előkészítése: Másolja a
queryrészben megadott teljes SQL-lekérdezést a kiválasztott SQL-kliensbe vagy adatkinyerő eszközbe. - A helyőrzők beállítása: Cserélje le a lekérdezés helyőrző értékeit a saját paramétereire. Ide tartozik a
_StartDate, az_EndDateés a forrásrendszer-azonosító. AzUnplanned Halt Occurredesemény küszöbértékét, például'24:00:00'értéket, igazítsa az üzleti környezetéhez. - A kinyerő lekérdezés futtatása: Futtassa a beállított SQL-szkriptet az SAP S/4HANA-rendszer adatbázisán. Hosszú időszakot lefedő, nagy adathalmaz esetén a teljesítményproblémák elkerülése érdekében kisebb részekben, például havonta futtassa a kinyerést.
- Az adatok első ellenőrzése: A lekérdezés lefutása után gyorsan ellenőrizze az eredményt. Nézze meg a sorok számát, ellenőrizze, hogy minden oszlop szerepel-e, és győződjön meg arról, hogy az
Activityoszlopban többféle várt esemény található. - Adatellenőrzés: A részletesebb ellenőrzéshez kövesse a
validationStepsrészben leírtakat. Válasszon ki néhány gyártási rendelést, és aCO03tranzakcióban ellenőrizze az adataikat az SAP-rendszerben. Így meggyőződhet arról, hogy a kinyert eseménynapló pontos. - Exportálás CSV-fájlba: Exportálja a végleges eredményhalmazt CSV-fájlba. A karakterkódolási problémák elkerülése érdekében UTF-8 kódolást használjon.
- Feltöltés előkészítése: Ellenőrizze, hogy a CSV oszlopfejlécei megfelelnek-e a szükséges attribútumneveknek:
ProductionOrder,Activity,StartTime,SourceSystemésLastDataUpdate. Feltöltés előtt állítsa aStartTimeoszlopot szabványos időbélyeg-formátumra, például ISO 8601-re (YYYY-MM-DDTHH:MM:SS).
Konfiguráció
- Alapvető CDS-nézetek: A kinyerés elsősorban szabványos CDS-nézetekre támaszkodik, amelyek az alapul szolgáló SAP-táblákat strukturált, üzleti szempontú formában jelenítik meg. A legfontosabb nézetek:
I_ProductionOrder: Fejléctípusú adatokhoz és a létrehozási eseményekhez.I_ProdOrdConfirmation: Minden művelet-visszaigazoláshoz.I_MaterialDocumentItem: Anyagmozgásokhoz, például kiadásokhoz és bevételekhez.I_ObjectStatus: A gyártási rendelések státuszváltozásainak lekérdezéséhez.I_ChangeDocumentés a kapcsolódó nézetek: A fontos rendelési mezők módosításainak rögzítéséhez.
- Dátumtartomány szerinti szűrés: Az adatmennyiség kezelése érdekében elengedhetetlen a dátumtartomány szerinti szűrés. A megadott lekérdezés a gyártási rendelés
CreationDatemezőjét használja. Első elemzéshez általában 3–6 hónapnyi adat megfelelő. - Fontos üzleti szűrők: Az adathalmaz további szűkítéséhez használjon fontos szervezeti vagy törzsadat-attribútumokat. Gyakori szűrők:
Plant: Egy adott gyártóüzem elemzéséhez.ProductionOrderType: A normál gyártásra, utómunkára vagy más rendeléstípusokra való szűkítéshez.CompanyCode: Az adatok egy adott jogi személyre korlátozásához.
- Nem tervezett leállás küszöbértéke: A lekérdezés logikája előállítja az
Unplanned Halt Occurredeseményeket. Ehhez időbeli küszöbértéket kell megadni, amely meghatározza, mekkora műveletek közötti szünet számít jelentősnek. Az értéket a jellemző gyártási ciklusidők és az üzleti szabályok alapján állítsa be. - Jogosultsági előfeltételek: A lekérdezést futtató SAP-felhasználónak megtekintési jogosultsággal kell rendelkeznie az összes CDS-nézethez és az alapul szolgáló táblákhoz. Hiányzó jogosultság esetén az eredmény üres vagy hiányos lehet.
Példa-lekérdezés sql
WITH BaseOrders AS (
SELECT
ProductionOrder,
Material AS MaterialNumber,
ProductionPlant AS Plant,
CreationDate,
CreationTime,
BasicEndDate AS PlannedEndDate,
TechnicalCompletionDate,
LastChangeDateTime
FROM I_ProductionOrder
-- P_CreationDateFrom and P_CreationDateTo are placeholders for your date range
WHERE CreationDate BETWEEN '[_StartDate]' AND '[_EndDate]'
-- Add other filters as needed, for example:
-- AND ProductionPlant IN ('[Your_Plant_1]', '[Your_Plant_2]')
-- AND ProductionOrderType = '[Your_Order_Type]'
)
SELECT
bo.ProductionOrder,
'Production Order Created' AS Activity,
TO_TIMESTAMP(bo.CreationDate || ' ' || LPAD(bo.CreationTime, 6, '0'), 'YYYYMMDD HH24MISS') AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
'CRTD' AS OrderStatus
FROM BaseOrders bo
UNION ALL
-- System status changes like Released, Technically Completed, Closed, Cancelled, Material Shortage
SELECT
os.ObjectInternalID AS ProductionOrder,
CASE os.SystemStatus
WHEN 'I0002' THEN 'Production Order Released'
WHEN 'I0043' THEN 'Material Availability Checked' -- Status: MACM (Material committed)
WHEN 'I0045' THEN 'Order Technically Completed'
WHEN 'I0046' THEN 'Order Financially Closed'
WHEN 'I0047' THEN 'Production Order Cancelled'
WHEN 'I0010' THEN 'Material Shortage Occurred' -- Status: MSPT (Material shortage)
END AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus IN ('I0002', 'I0043', 'I0045', 'I0046', 'I0047', 'I0010') AND os.StatusIsInactive = ''
UNION ALL
-- Production Started, inferred from the first goods issue or first confirmation
SELECT
s.ProductionOrder,
'Production Started' AS Activity,
s.StartEventTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
s.MaterialNumber,
s.Plant,
NULL AS WorkCenter,
s.PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
bo.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime)) AS StartEventTime,
ROW_NUMBER() OVER(PARTITION BY bo.ProductionOrder ORDER BY MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime))) as rn
FROM BaseOrders bo
LEFT JOIN I_MaterialDocumentItem gm ON bo.ProductionOrder = gm.ProductionOrder AND gm.GoodsMovementType IN ('261', '262') -- Goods Issue
LEFT JOIN I_ProdOrdConfirmation cf ON bo.ProductionOrder = cf.ProductionOrder
WHERE gm.ProductionOrder IS NOT NULL OR cf.ProductionOrder IS NOT NULL
GROUP BY bo.ProductionOrder, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate
) s
WHERE s.rn = 1
UNION ALL
-- Production Confirmation Entered (for each confirmation)
SELECT
cf.ProductionOrder,
'Production Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
UNION ALL
-- Final Confirmation Entered
SELECT
cf.ProductionOrder,
'Final Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
WHERE cf.IsFinalConfirmation = 'X'
UNION ALL
-- Unplanned Halt Occurred (derived from gaps between confirmations)
SELECT
ProductionOrder,
'Unplanned Halt Occurred' AS Activity,
PreviousConfirmationTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
MaterialNumber,
Plant,
WorkCenter,
PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
cf.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
cf.WorkCenter,
cf.ConfirmationDateTime,
LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime) AS PreviousConfirmationTime,
(SECONDS_BETWEEN(LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime), cf.ConfirmationDateTime) / 3600.0) as HoursDiff
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
) AS gaps
WHERE gaps.HoursDiff > 24 -- Configurable threshold in hours, e.g. 24 hours
UNION ALL
-- Goods Receipt Posted
SELECT
gm.ProductionOrder,
'Goods Receipt Posted' AS Activity,
gm.PostingTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_MaterialDocumentItem gm
JOIN BaseOrders bo ON gm.ProductionOrder = bo.ProductionOrder
WHERE gm.GoodsMovementType = '101'
UNION ALL
-- Capacity Requirements Planned (using Release event as a proxy)
SELECT
os.ObjectInternalID AS ProductionOrder,
'Capacity Requirements Planned' AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus = 'I0002' AND os.StatusIsInactive = '' -- Status 'REL' (Released)
UNION ALL
-- Production Plan Adjusted
SELECT
ch.ObjectValue AS ProductionOrder,
'Production Plan Adjusted' AS Activity,
ch.CreationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL as WorkCenter,
bo.PlannedEndDate,
NULL as OrderStatus
FROM I_ChangeDocument AS ch
JOIN BaseOrders bo ON ch.ObjectValue = bo.ProductionOrder
WHERE ch.ChangeDocumentObject = 'PRODORDER'
-- Monitoring changes in key fields like Total Quantity (GAMNG) or Basic Finish Date (GLTRP)
AND ch.FieldName IN ('GAMNG', 'GLTRP')
GROUP BY ch.ObjectValue, ch.CreationDateTime, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate Lépések
- Ellenőrizze, hogy közvetlen olvasási hozzáférése van-e a gyártási rendelési adatokat tartalmazó SAP HANA-sémához. Azonosítsa a séma tulajdonosát, az ügyfél kezelését, az időbélyegek formátumát és a jogosultsági modellt. Használja az SAP HANA Database Explorert vagy egy jóváhagyott SQL-klienst. A lekérdezés véglegesítése előtt ellenőrizze az SAP S/4HANA megfelelő kiadását és az aktivált gyártástervezési hatókört.
- Állítsa be a kapcsolati karakterláncot, a hitelesítő adatokat, a séma nevét, az ügyfél értékét, a kinyerés kezdő és záró dátumát, valamint a vállalatspecifikus szűrőket. Az alábbi lekérdezés az AUFK, AFPO, JEST és JCDS táblát használja, továbbá az AFKO, AFVC, AFRU, RESB, MSEG, CDHDR és CDPOS táblára is hivatkozik. Futtatás előtt ellenőrizze, hogy ezek az objektumok elérhetők-e a rendszerében, és milyen mezőket tartalmaznak. A bővítések, kompatibilitási nézetek és a kiadások közötti eltérések befolyásolhatják az elérhetőségüket.
- Futtassa a lekérdezést az SAP HANA Database Explorerben vagy a jóváhagyott SQL-végrehajtó eszközben. A lekérdezés minden kinyert tevékenységhez külön sort hoz létre, majd a tevékenységsorokat UNION ALL használatával egyesíti. Nem a ProcessMind következtet ki eseményeket.
- Tekintse át a forrásadatokat, és szükség esetén módosítsa a megjelölt, rendszerspecifikus kifejezéseket. Különösen ellenőrizze az anyagelérhetőséghez, a kapacitástervezéshez, a műszaki befejezéshez, a pénzügyi lezáráshoz és a törléshez használt állapotkódokat. Ellenőrizze azt is, hogy a gyártási terv módosításainak azonosításához mely változásdokumentum-objektumot és mezőneveket kell használni.
- Ellenőrizze az időbélyegek átalakítását és az ügyfélszűrést. Az SAP-rendszerek külön mezőkben tárolhatják a dátumot és az időt. Egyes telepítések UTC-t, mások a gyár vagy a rendszer helyi idejét használják. Gondoskodjon arról, hogy a kapott StartTime értékek egységes időzónát használjanak, és a hibás vagy kezdeti SAP-dátumok ne kerüljenek be.
- Exportálja az eredményt a ProcessMind által támogatott, egyszerű fájlformátumban, lehetőleg CSV-ként vagy UTF-8 kódolású, elválasztójelekkel tagolt szövegként. Őrizze meg pontosan a következő oszlopneveket: ProductionOrder, Activity, StartTime, SourceSystem, LastDataUpdate, MaterialNumber, Plant, WorkCenter, PlannedEndDate és OrderStatus.
- Rendezze az exportált sorokat ProductionOrder, majd StartTime szerint. Az azonos időbélyegű sorokhoz használjon egyértelmű másodlagos rendezést, ha a feltöltési folyamat ezt támogatja. Minden eseményhez tartson meg egy sort, beleértve az ismétlődő visszaigazolásokat és állapotváltozásokat is, ha azok külön forrásrekordnak felelnek meg.
- Töltse fel a fájlt a ProcessMindba, és rendelje a ProductionOrder oszlopot az esetazonosítóhoz, az Activity oszlopot a tevékenységhez, a StartTime oszlopot pedig az esemény időbélyegéhez. A többi oszlopot a ProcessMind importbeállításainak megfelelően esemény- vagy esetattribútumként rendelje hozzá. Ellenőrizze, hogy mind a 14 tevékenységcímke pontosan úgy maradt-e meg, ahogyan a lekérdezés előállította.
Konfiguráció
- Dátumtartomány: Kezdje egy gördülő, három-hat hónapos időszakkal. Az első teszthez rövidebb időszakot válasszon, és csak a sorszám és a lekérdezés teljesítményének ellenőrzése után bővítse.
- Kinyerési paraméterek: Cserélje le a [Your schema name], [Your client], [Extraction start date], [Extraction end date] és [Your source system name] értékeket a saját környezetének megfelelőkre. Vállalatspecifikus szűrőt csak a megfelelő szervezeti mezők és értékek ellenőrzése után alkalmazzon.
- Állapotbeállítások: Ellenőrizze, hogy a rendszerében pontosan mely SAP-állapotkódok és állapotobjektum-azonosítók jelölik a CRTD, a felszabadítás, az anyagelérhetőség, a kapacitástervezés, a műszaki befejezés, a pénzügyi lezárás és a törlés állapotát. Az állapotprofilok és az egyéni bővítések módosíthatják az elérhető kódokat.
- Változásdokumentumok: Ellenőrizze, hogy a gyártási rendelés módosításainak rögzítéséhez mely változásdokumentum-objektumot, táblaneveket, mezőneveket és értékformátumokat kell használni a mennyiség, a dátumok, az anyagjegyzék és az útvonal módosításainál. A lekérdezés a megfelelő CDHDR- és CDPOS-rekordokat a terv módosításának bizonyítékaként kezeli.
- Időbélyegek kezelése: Egységesítse az összes forrás időbélyegét egy időzónára. Ellenőrizze, hogy a dátum- és időmezők külön vannak-e tárolva, az időbélyegek helyi időt vagy UTC-t használnak-e, és hogyan jelennek meg a kezdeti dátumok.
- Teljesítmény: Szűrje a kinyerést a rendelés létrehozásának dátuma vagy egy másik indexelt gyártásirendelés-dátum alapján, szűrjön ügyfél szerint, csak a szükséges oszlopokat kérje le, és megfelelő jelentéskészítési időszakban futtassa a lekérdezést. Nagy adathalmaz esetén havonta vagy gyártásirendelés-tartományonként nyerje ki az adatokat, és mentse az eredményeket fokozatosan.
- Adatbázis-objektumok: Ellenőrizze, hogy a kiválasztott sémában elérhető és olvasható-e az AUFK, AFPO, JEST, JCDS, AFKO, AFVC, AFRU, RESB, MSEG, CDHDR és CDPOS. Ha az Ön kiadásában valamelyik nézet vagy mező eltér, cserélje le a megfelelő kiadott vagy jóváhagyott objektumra.
- Jogosultságok: Olvasási jogosultság szükséges a kiválasztott SAP HANA-sémához és objektumokhoz, valamint SQL-futtatási engedély. Az irányítási folyamat előírásai alapján SAP-alkalmazásjogosultságokra is szükség lehet.
- Funkcionális hatókör: A kiválasztott időszak gyártástervezési és -végrehajtási adatait, készletmozgási adatait, állapotelőzményeit és változásdokumentumait meg kell őrizni. Az archivált vagy törölt rekordok nem jelennek meg az eredményben.
- ProcessMind-hozzárendelés: A ProductionOrder oszlopot rendelje az esetazonosítóhoz, az Activity oszlopot a tevékenységhez, a StartTime oszlopot pedig az esemény időbélyegéhez. Ne számítson arra, hogy a ProcessMind az attribútumokból hiányzó tevékenységeket állít elő.
Példa-lekérdezés sql
WITH
params AS (
SELECT
'[Your client]' AS mandt,
TO_DATE('[Extraction start date]', 'YYYY-MM-DD') AS date_from,
TO_DATE('[Extraction end date]', 'YYYY-MM-DD') AS date_to,
'[Your source system name]' AS source_system,
CURRENT_UTCTIMESTAMP AS last_data_update
FROM DUMMY
),
orders AS (
SELECT
a.mandt,
LTRIM(a.aufnr, '0') AS production_order,
a.aufnr AS production_order_raw,
a.erdat AS order_created_date,
a.erfzeit AS order_created_time,
a.auart AS order_type,
a.werks AS plant,
a.objnr AS object_number,
a.ktext AS order_text,
p.matnr AS material_number,
p.psmng AS planned_quantity,
p.wemng AS delivered_quantity,
k.gstrp AS planned_start_date,
k.gltrp AS planned_end_date,
k.ftrmi AS release_date,
k.ftrmp AS release_time,
k.gamng AS total_order_quantity,
k.plnbez AS header_material_number,
k.plnty AS task_list_type,
k.plnnr AS task_list_group,
k.plnal AS task_list_group_counter
FROM [Your schema name].AUFK a
LEFT JOIN [Your schema name].AFPO p
ON p.mandt = a.mandt
AND p.aufnr = a.aufnr
LEFT JOIN [Your schema name].AFKO k
ON k.mandt = a.mandt
AND k.aufnr = a.aufnr
CROSS JOIN params x
WHERE a.mandt = x.mandt
AND a.erdat >= x.date_from
AND a.erdat < ADD_DAYS(x.date_to, 1)
),
status_history AS (
SELECT
o.*,
j.stat,
j.inact,
j.chgnr,
j.udate AS status_date,
j.utime AS status_time,
c.usnam AS status_user,
c.chind AS status_change_indicator
FROM orders o
INNER JOIN [Your schema name].JEST j
ON j.mandt = o.mandt
AND j.objnr = o.object_number
LEFT JOIN [Your schema name].JCDS c
ON c.mandt = j.mandt
AND c.objnr = j.objnr
AND c.stat = j.stat
AND c.chgnr = j.chgnr
WHERE COALESCE(j.inact, '') <> 'X'
),
operations AS (
SELECT
o.production_order,
o.mandt,
v.vornr,
v.arbid,
v.steus,
v.ltxa1,
v.aufpl,
v.aplzl,
cr.name1 AS work_center
FROM orders o
LEFT JOIN [Your schema name].AFVC v
ON v.mandt = o.mandt
AND v.aufpl = (SELECT MAX(k2.aufpl) FROM [Your schema name].AFKO k2 WHERE k2.mandt = o.mandt AND k2.aufnr = o.production_order_raw)
LEFT JOIN [Your schema name].CRHD cr
ON cr.mandt = v.mandt
AND cr.objty = 'A'
AND cr.objid = v.arbid
),
confirmations AS (
SELECT
o.production_order,
o.mandt,
r.rmzhl,
r.vornr,
r.budat AS confirmation_date,
r.ersda AS entry_date,
r.erzet AS entry_time,
r.ism01,
r.ism02,
r.ism03,
r.ism04,
r.ism05,
r.ism06,
r.xmnga,
r.stzhl,
r.stzhl AS reversal_counter,
r.lmnga AS confirmed_quantity,
r.xmnge AS scrap_quantity,
r.aufpl,
r.aplzl,
op.work_center
FROM orders o
INNER JOIN [Your schema name].AFRU r
ON r.mandt = o.mandt
AND r.aufnr = o.production_order_raw
LEFT JOIN operations op
ON op.production_order = o.production_order
AND op.mandt = r.mandt
AND op.vornr = r.vornr
),
first_confirmation AS (
SELECT production_order, MIN(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time
FROM confirmations
GROUP BY production_order
),
last_confirmation AS (
SELECT production_order, MAX(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS final_time
FROM confirmations
GROUP BY production_order
),
first_goods_issue AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(m.budat_mkpf, 'YYYYMMDD') || LPAD(TO_VARCHAR(m.cputm_mkpf), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time
FROM orders o
INNER JOIN [Your schema name].MSEG m
ON m.mandt = o.mandt
AND m.aufnr = o.production_order_raw
AND m.bwart IN ('261', '262')
GROUP BY o.production_order
),
first_receipt AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(m.budat_mkpf, 'YYYYMMDD') || LPAD(TO_VARCHAR(m.cputm_mkpf), 6, '0'), 'YYYYMMDDHH24MISS')) AS receipt_time
FROM orders o
INNER JOIN [Your schema name].MSEG m
ON m.mandt = o.mandt
AND m.aufnr = o.production_order_raw
AND m.bwart IN ('101', '102')
GROUP BY o.production_order
),
plan_changes AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(h.udate, 'YYYYMMDD') || LPAD(TO_VARCHAR(h.utime), 6, '0'), 'YYYYMMDDHH24MISS')) AS adjustment_time
FROM orders o
INNER JOIN [Your schema name].CDHDR h
ON h.mandant = o.mandt
AND h.objectid = o.production_order_raw
INNER JOIN [Your schema name].CDPOS p
ON p.mandant = h.mandant
AND p.objectclas = h.objectclas
AND p.objectid = h.objectid
AND p.changenr = h.changenr
WHERE h.objectclas IN ('ORDER', 'PP_ORDER')
AND p.tabname IN ('AFKO', 'AFPO', 'AFVC', 'RESB')
AND p.fname IN ('GAMNG', 'PSMNG', 'GSTRP', 'GLTRP', 'MATNR', 'BDMNG', 'VORNR')
GROUP BY o.production_order
),
status_times AS (
SELECT
production_order,
MIN(CASE WHEN stat IN ('I0001', 'CRTD') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS created_status_time,
MIN(CASE WHEN stat IN ('I0002', 'REL') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS released_time,
MIN(CASE WHEN stat IN ('I0003', 'MATC', 'MANC') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS material_available_time,
MIN(CASE WHEN stat IN ('I0004', 'CAPC', 'CAPA') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS capacity_planned_time,
MIN(CASE WHEN stat IN ('I0045', 'TECO') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS technically_completed_time,
MIN(CASE WHEN stat IN ('I0046', 'CLSD') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS financially_closed_time,
MIN(CASE WHEN stat IN ('I0076', 'DLFL', 'CANC') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS cancelled_time
FROM status_history
GROUP BY production_order
),
material_shortages AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(j.status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(j.status_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS shortage_time
FROM status_history j
INNER JOIN orders o
ON o.production_order = j.production_order
WHERE j.stat IN ('I0042', 'MANC', 'MSHT')
GROUP BY o.production_order
),
capacity_times AS (
SELECT
production_order,
MIN(COALESCE(released_time, created_status_time)) AS capacity_time
FROM status_times
GROUP BY production_order
),
base_attributes AS (
SELECT
o.production_order,
o.material_number,
o.plant,
COALESCE(op.work_center, '') AS work_center,
o.planned_end_date,
COALESCE(st.stat, '') AS current_status
FROM orders o
LEFT JOIN status_history st
ON st.production_order = o.production_order
AND st.inact = ''
LEFT JOIN operations op
ON op.production_order = o.production_order
AND op.vornr = (SELECT MIN(op2.vornr) FROM operations op2 WHERE op2.production_order = o.production_order)
),
events AS (
SELECT o.production_order, 'Production Order Created' AS activity, COALESCE(st.created_status_time, TO_TIMESTAMP(TO_VARCHAR(o.order_created_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(o.order_created_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time FROM orders o LEFT JOIN status_times st ON st.production_order = o.production_order
UNION ALL
SELECT production_order, 'Material Availability Checked', material_available_time FROM status_times WHERE material_available_time IS NOT NULL
UNION ALL
SELECT production_order, 'Capacity Requirements Planned', capacity_time FROM capacity_times WHERE capacity_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Order Released', released_time FROM status_times WHERE released_time IS NOT NULL
UNION ALL
SELECT o.production_order, 'Production Started', LEAST(COALESCE(fc.start_time, TO_TIMESTAMP('99991231235959', 'YYYYMMDDHH24MISS')), COALESCE(fg.start_time, TO_TIMESTAMP('99991231235959', 'YYYYMMDDHH24MISS'))) FROM orders o LEFT JOIN first_confirmation fc ON fc.production_order = o.production_order LEFT JOIN first_goods_issue fg ON fg.production_order = o.production_order WHERE fc.start_time IS NOT NULL OR fg.start_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Confirmation Entered', TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS') FROM confirmations
UNION ALL
SELECT production_order, 'Material Shortage Occurred', shortage_time FROM material_shortages WHERE shortage_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Plan Adjusted', adjustment_time FROM plan_changes WHERE adjustment_time IS NOT NULL
UNION ALL
SELECT c.production_order, 'Unplanned Halt Occurred', ADD_SECONDS(c.confirmation_time, 1) FROM (SELECT production_order, TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS') AS confirmation_time, LEAD(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) OVER (PARTITION BY production_order ORDER BY entry_date, entry_time, rmzhl) AS next_confirmation_time FROM confirmations) c WHERE c.next_confirmation_time IS NOT NULL AND SECONDS_BETWEEN(c.confirmation_time, c.next_confirmation_time) >= 86400
UNION ALL
SELECT production_order, 'Final Confirmation Entered', final_time FROM last_confirmation WHERE final_time IS NOT NULL
UNION ALL
SELECT production_order, 'Goods Receipt Posted', receipt_time FROM first_receipt WHERE receipt_time IS NOT NULL
UNION ALL
SELECT production_order, 'Order Technically Completed', technically_completed_time FROM status_times WHERE technically_completed_time IS NOT NULL
UNION ALL
SELECT production_order, 'Order Financially Closed', financially_closed_time FROM status_times WHERE financially_closed_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Order Cancelled', cancelled_time FROM status_times WHERE cancelled_time IS NOT NULL
)
SELECT
e.production_order AS "ProductionOrder",
e.activity AS "Activity",
e.start_time AS "StartTime",
p.source_system AS "SourceSystem",
p.last_data_update AS "LastDataUpdate",
b.material_number AS "MaterialNumber",
b.plant AS "Plant",
NULLIF(b.work_center, '') AS "WorkCenter",
b.planned_end_date AS "PlannedEndDate",
b.current_status AS "OrderStatus"
FROM events e
INNER JOIN base_attributes b
ON b.production_order = e.production_order
CROSS JOIN params p
WHERE e.start_time IS NOT NULL
ORDER BY e.production_order, e.start_time, e.activity; Készen áll a kezdésre?
Tegye meg az első lépést a hatékonyabb gyártástervezés felé. Készítse elő adatait ezzel a sablonnal, és tárja fel az optimalizáláshoz szükséges összefüggéseket.
Kezdje el még ma gyártástervezése fejlesztését
Tárja fel és szüntesse meg a szűk keresztmetszeteket, és csökkentse 30%-kal a gyártási ciklusidőt.
Nincs szükség bankkártyára