TBeCbPCData
TBeCbPCData
Die Klasse TBeCbPCData stellt Daten zur Verfügung, die üblicherweise für eine Ressourcen-Planung / Planungs-Simulation o.ä. benötigt werden.
In der aktuellen Ausbaustufe werden Ressourcen-Daten und darüber ressourcenspezifische Anwesenheiten zur Verfügung gestellt.
Funktionen und Methoden:
| Funktion | Beschreibung | 
|---|---|
| ReInit() | Datenhaltung (re-)initialisieren. | 
| LoadTestData() | Testdaten laden. (steht nicht im beas zur verfügung) | 
| LoadDataBaseData() | Daten aus der Datenbank in den Speicher von TBeCbPCData laden. | 
| GetAddingErrors() | Alle protokollierten Fehler in der Bearbeitung auslesen | 
TBeCbPCParams
TBeCbPCResourceList
TBeCbPCResource
Übersicht:

Beispiel
| m_oCbPcData, m_oResourceList, m_dPlanningStart:DT |
//******************************************************************************
function ResourceTypToString(nResourceTyp)
  case nResourceTyp
    of cbrtPerson   :: Result := 'Person',
    of cbrtMaschine :: Result := 'Maschine',
  endcase,
end,
//******************************************************************************
// Infos über alle Ressourcen in der Liste ausgeben
//******************************************************************************
function PrintResourceList(oResourceList) // Klasse = TBeCbPCResourceList
| i, m_oCurResource, m_oCurTimeLine, m_dtStartAvail:DT, m_dtEndAvail:DT,
  m_drCompOperationTime:DR, cResDesc, cAvailText  |
   for i := 0 to oResourceList.Count - 1 do
      m_oCurResource := oResourceList.GetResourceByIndex(i), // Klasse = TBeCbPCResource
      // TimeLine der Ressourcen holen
      m_oCurTimeLine := m_oCurResource.OperationTimeLine,
      cResDesc := Str(i) + '. Ressource ' + crlf + crlf +
                  '   Bezeichnung   : ' + m_oCurResource.Description  + crlf +
                  '   Res.Typ       : ' + ResourceTypToString(m_oCurResource.ResType) + crlf +
                  '   Res.Id        : ' + Str(m_oCurResource.ResID ),
      // Information über die Anwesenheit der Ressource zusammenstellen
      if m_oCurTimeLine.HasAvailabilityData then
         m_dtStartAvail        := m_oCurTimeLine.BeginOfFirstAvailability,
         m_dtEndAvail          := m_oCurTimeLine.EndOfLastAvailability,
         m_drCompOperationTime := m_oCurTimeLine.OperationDurationBetween(m_dtStartAvail, m_dtEndAvail),
         cAvailText := '   Verfügbarkeit : ' + m_dtStartAvail.AsString + ' bis ' + m_dtEndAvail.AsString + crlf +
                       '   Operationszeit: Insgesamt ' + m_drCompOperationTime.AsString,
      else
         cAvailText := crlf + '   Keine Verfügbarkeitsdaten vorhanden !',
      endif,
      Writeln( cResDesc + crlf + cAvailText + crlf ),
   next,
end,
// Datenhaltung erzeugen
m_oCbPcData := CreateObject('TBeCbPCData'),
startseq,
   m_oCbPcData.ReInit(),
   // Planungs-Start = Monats-Beginn, 14 Tage Dauer
   // => die Angaben sind relevant für das Laden der Planungs-Daten
   m_dPlanningStart.Precision       := precMinutes,
   m_dPlanningStart.DateTime        := BoM(Date()),
   m_oCbPcData.Params.PlanningStart := m_dPlanningStart,
   m_oCbPcData.Params.PlanningDays  := 2,
   // Alternative 1: Test-Daten laden
   m_oCbPcData.LoadTestData(),
   // Alternative 2: DB-Daten laden
   // m_oCbPcData.LoadDataBaseData(),
   // Infos über Ressourcen ausgeben
   PrintResourceList(m_oCbPcData.ResourceList),
always,
   DestroyObject(m_oCbPcData),
stopseq,
