Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
BEGIN
DECLARE ANZ_LOS,ANZ_HG,ANZ_G INT DEFAULT 1;
DECLARE L_COUNTER,HG_COUNTER,G_COUNTER INT DEFAULT 1;
DECLARE ANZ_ANLAGEN, ANZ_HERSTELLER,ANZ_TYP INT DEFAULT 1;
DECLARE ANL_IDENT INT DEFAULT 0;
DECLARE HG_WR_HERST,G_WR_T VARCHAR(255) DEFAULT NULL;
-- Anzahl der Anlage-Lose ermitteln
SELECT COUNT(a1.L_ANLAGE_IDENT) from s3_lv_100kw a1 where a1.P_Projekt = projekt INTO ANZ_LOS;
-- zurücksetzen
update s3_lv_100kw set LOS = 0 where P_Projekt = projekt ;
update s3_lv_100kw set HAUPTGEWERK = 0 where P_Projekt = projekt ;
update s3_lv_100kw set GEWERK = 0 where P_Projekt = projekt ;
-- Los
WHILE L_COUNTER <= ANZ_LOS DO
SELECT a1.L_ANLAGE_IDENT from s3_lv_100kw a1 where a1.P_Projekt = projekt AND LOS = 0 ORDER BY L_ANLAGE_IDENT LIMIT 1 INTO ANL_IDENT;
update s3_lv_100kw set LOS = L_COUNTER where P_Projekt = projekt and LOS = 0 AND L_ANLAGE_IDENT = ANL_IDENT ;
-- Hauptgewerk
SELECT DISTINCT COUNT(HG_WR_HERSTELLER) from s3_lv_100kw where L_ANLAGE_IDENT = ANL_IDENT INTO ANZ_HERSTELLER;
SET HG_COUNTER = 1;
WHILE HG_COUNTER <= ANZ_HERSTELLER DO
SELECT HG_WR_HERSTELLER from s3_lv_100kw where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = 0 ORDER BY LOS LIMIT 1 INTO HG_WR_HERST;
update s3_lv_100kw set HAUPTGEWERK = HG_COUNTER where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = 0 AND HG_WR_HERSTELLER = HG_WR_HERST ;
-- Gewerk
SELECT DISTINCT COUNT(G_WR_TYP) from s3_lv_100kw where L_ANLAGE_IDENT = ANL_IDENT AND LOS = L_COUNTER INTO ANZ_TYP;
SET G_COUNTER = 1;
WHILE G_COUNTER <= ANZ_TYP DO
SELECT G_WR_TYP from s3_lv_100kw where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = HG_COUNTER AND GEWERK = 0 ORDER BY HAUPTGEWERK LIMIT 1 INTO G_WR_T;
update s3_lv_100kw set GEWERK = G_COUNTER, POSITION = G_COUNTER where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = HG_COUNTER AND GEWERK = 0 AND G_WR_TYP = G_WR_T ;
-- Position
-- in log tabelle shcreiben?
update s3_lv_num_log set projekt = P_Projekt, POSITION = Ergebniss;
INSERT INTO s3_lv_num_log (id, Fkt_Name, ausgeführt_am, Ergebniss)
VALUES (funktion, projekt);
-- Positionen
SET G_COUNTER = G_COUNTER +1;
END WHILE; -- GEWERK
-- Gewerke
SET HG_COUNTER = HG_COUNTER +1;
END WHILE; -- HAUPTGEWERK
-- Hauptgewerke
SET L_COUNTER = L_COUNTER +1;
END WHILE;
-- LOSE
-- HAuptgewerke nummerieren
-- SELECT COUNT(a1.HG_WR_HERSTELLER) from s3_lv_100kw a1 where a1.P_Projekt = projekt INTO ANZ_HG;
END
hier der code von der prozedur
von dem formular wird nur die projektnummer übergeben
Code:BEGIN DECLARE ANZ_LOS,ANZ_HG,ANZ_G INT DEFAULT 1; DECLARE L_COUNTER,HG_COUNTER,G_COUNTER INT DEFAULT 1; DECLARE ANZ_ANLAGEN, ANZ_HERSTELLER,ANZ_TYP INT DEFAULT 1; DECLARE ANL_IDENT INT DEFAULT 0; DECLARE HG_WR_HERST,G_WR_T VARCHAR(255) DEFAULT NULL; -- Anzahl der Anlage-Lose ermitteln SELECT COUNT(a1.L_ANLAGE_IDENT) from s3_lv_100kw a1 where a1.P_Projekt = projekt INTO ANZ_LOS; -- zurücksetzen update s3_lv_100kw set LOS = 0 where P_Projekt = projekt ; update s3_lv_100kw set HAUPTGEWERK = 0 where P_Projekt = projekt ; update s3_lv_100kw set GEWERK = 0 where P_Projekt = projekt ; -- Los WHILE L_COUNTER <= ANZ_LOS DO SELECT a1.L_ANLAGE_IDENT from s3_lv_100kw a1 where a1.P_Projekt = projekt AND LOS = 0 ORDER BY L_ANLAGE_IDENT LIMIT 1 INTO ANL_IDENT; update s3_lv_100kw set LOS = L_COUNTER where P_Projekt = projekt and LOS = 0 AND L_ANLAGE_IDENT = ANL_IDENT ; -- Hauptgewerk SELECT DISTINCT COUNT(HG_WR_HERSTELLER) from s3_lv_100kw where L_ANLAGE_IDENT = ANL_IDENT INTO ANZ_HERSTELLER; SET HG_COUNTER = 1; WHILE HG_COUNTER <= ANZ_HERSTELLER DO SELECT HG_WR_HERSTELLER from s3_lv_100kw where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = 0 ORDER BY LOS LIMIT 1 INTO HG_WR_HERST; update s3_lv_100kw set HAUPTGEWERK = HG_COUNTER where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = 0 AND HG_WR_HERSTELLER = HG_WR_HERST ; -- Gewerk SELECT DISTINCT COUNT(G_WR_TYP) from s3_lv_100kw where L_ANLAGE_IDENT = ANL_IDENT AND LOS = L_COUNTER INTO ANZ_TYP; SET G_COUNTER = 1; WHILE G_COUNTER <= ANZ_TYP DO SELECT G_WR_TYP from s3_lv_100kw where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = HG_COUNTER AND GEWERK = 0 ORDER BY HAUPTGEWERK LIMIT 1 INTO G_WR_T; update s3_lv_100kw set GEWERK = G_COUNTER, POSITION = G_COUNTER where P_Projekt = projekt AND LOS = L_COUNTER AND HAUPTGEWERK = HG_COUNTER AND GEWERK = 0 AND G_WR_TYP = G_WR_T ; -- Position -- in log tabelle shcreiben? update s3_lv_num_log set projekt = P_Projekt, POSITION = Ergebniss; INSERT INTO s3_lv_num_log (id, Fkt_Name, ausgeführt_am, Ergebniss) VALUES (funktion, projekt); -- Positionen SET G_COUNTER = G_COUNTER +1; END WHILE; -- GEWERK -- Gewerke SET HG_COUNTER = HG_COUNTER +1; END WHILE; -- HAUPTGEWERK -- Hauptgewerke SET L_COUNTER = L_COUNTER +1; END WHILE; -- LOSE -- HAuptgewerke nummerieren -- SELECT COUNT(a1.HG_WR_HERSTELLER) from s3_lv_100kw a1 where a1.P_Projekt = projekt INTO ANZ_HG; END
updates3_lv_num_logsetprojekt=P_Projekt,POSITION=Ergebniss; INSERTINTOs3_lv_num_log(id,Fkt_Name,ausgeführt_am,Ergebniss) VALUES(id,funktion,TIMESTAP,projekt);
INSERT INTO s3_lv_num_log (spalte_id, spalte_funktion_name, spalte_ausgefuehrt_am, spalte_projekt)
VALUES (idfunktion,'wert_funktion_name',datumsfunktion, variable_projekt);