Fehlersuche (PP Verfügbarkeiten)

Aus PPwiki
Version vom 30. September 2021, 17:03 Uhr von Schild (Diskussion | Beiträge) (PP_VERFUEGBARKEITEN_KALK)
Wechseln zu: Navigation, Suche


1 Artikel werden nicht in der Verfügbarkeit bzw. im Webportal angezeigt

  • Die Artikel werden gar nicht erst kalkuliert, weil die [Voraussetzungen fehlen].
  • Die Verfügbarkeit ist negativ, weil die Artikel zu weit in die Zukunft kalkuliert werden. Weil z.B. die Anbauzeiten nicht stimmen oder es andere Fehler im Anbauplan gibt. Dort gibt es dann u.U. Aufträge aber noch keine Produktion.

2 PP_VERFUEGBARKEITEN_KALK

2.1 Debug Modus

  • Wenn die Variable b_debug (des Pakets) auf True steht, wird die Anzahl der in pp_tmp_verfuegbar eingefügten Zeilen zusammen mit der SQL Anweisung und der Parameter des Inserts in pp_log gespeichert.
  • Varchar Variablen werden als Parameter beim Ausführen des SQL Codes ohne Hochkomma eingegeben.
  •  :b2 ist zur Zeit das aktuelle Jahr, also jetzt 2020.
  • Vorher tbl_tmp_wochen füllen (Stand 2021-04-08):
INSERT INTO tbl_tmp_wochen
	SELECT 
		level,
		level * 7,
		trunc(sysdate -14 + level*7 -7,'IW') AS datum,
		to_number      -- bra utan distinct
		(to_char
		  (sysdate -14 + level*7 -7,'IYYYIW')
		) AS week_num
  FROM dual
  CONNECT BY LEVEL <= 106 + ceil((sysdate - (sysdate -14)) / 7) ;
  • Zeiten für einzelnen Schritte mitschreiben (PP_VERFUEGBARKEITEN 4.9 schreibt auch dort in VERFUEGBARKEIT_FIRMA mit)
             DECLARE 
                SKEY_I VARCHAR2(50); 
                SRESULT_O VARCHAR2(2000);
                    ctxLogLevel         PLOGPARAM.LOG_CTX         := PLOG.init(pSECTION => 'job_av',  pLEVEL => PLOG.LDEBUG);

              BEGIN
                PLOG.DEBUG(ctxLogLevel,'AV_KI: Beginn PP spezial');
                
                -- Plug-Plant Spezial:
                PP_VERFUEGBARKEITEN.VERFUEGBARKEIT_FIRMA
                 (v_firma_orig                          => '01',
                  v_hilfsfirma                            => 'AV',
                  b_prodeintraege_klonen              => FALSE,   -- Prozedur P_EINTRAEGE_KLONEN aufrufen oder nicht
                  b_v2p                               => FALSE,   -- für PRODPLAN_FIRMA_KOPIEREN: V- in P-Einträge umwandeln
                  c_prdhlfnr_ignorieren               => 'N',   -- für PASSENDE_AUFTRAGSZEILEN
--                  v_backupfirma               => 'AX',
                  b_art_firma_orig            => TRUE
                  ); 
                PLOG.DEBUG(ctxLogLevel,'AV_KI: Ende PP spezial');
                
                PLOG.DEBUG(ctxLogLevel,'AV_KI: Beginn PAT avail');
--                SKEY_I := 'RC'; 
                SKEY_I := 'KIENTZLER'; 
                PAT_AVAIL.RUN( SKEY_I => SKEY_I, SRESULT_O => SRESULT_O );
                DBMS_OUTPUT.PUT_LINE('SRESULT_O = ' || SRESULT_O);
                PLOG.DEBUG(ctxLogLevel,'AV_KI: Ende PAT avail');
                
                -- Plug-Plant Spezial
--                PLOG.DEBUG(ctxLogLevel,'AV_KI: Beginn PP_AVAIL_KEYS');
--                PP_AVAIL_KEYS.VERFUEGBARKEITEN_AKTUALISIEREN();
--                PLOG.DEBUG(ctxLogLevel,'AV_KI: Beginn PP_AVAIL_KEYS');
              END;
              /
  1. Fehlmengen / Überschussliste
  2. Anbauplan, Ausgangsvarinaten zu Prod Eonträgen
  3. pp_tmp max....