Fehlersuche (PP Verfügbarkeiten)

Aus PPwiki
Wechseln zu: Navigation, Suche


1 PP_VERFUEGBARKEITEN_KALK

1.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;
              /

2 Sonstiges

Skript, damit nicht alle D-Einträge berücksichtigt werden:

INSERT INTO b_avail_constraints
  (key,
    typ,
    calc_or_exp,
    in_or_out,
    value,
   timest)
  SELECT 
    key,
    'STOK_FIRMA',
    calc_or_exp,
    in_or_out,
    value,
    pat_time.fgettimest  
  FROM b_avail_constraints
  WHERE key = 'AV'
    AND typ = 'FIRMA';