Ansicht
Dokumentation

CL_PI_DOCUMENT_POC - POC: PI-Dokument (Herstellanweisung/Cockpit)

CL_PI_DOCUMENT_POC - POC: PI-Dokument (Herstellanweisung/Cockpit)

BAL Application Log Documentation   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Diese Klasse dient als zentraler Einstieg zum Anzeigen und Bearbeiten von browser-basierten Herstellanweisungen bzw. ProcessManufacturingCockpits. Es ist die einzige Klasse, die ein externer Aufrufer kennen muß.

Die Laufzeitobjekte eines PI-Dokuments können hier generiert, gestartet, geschlossen und gelöscht werden. An dieser Klasse hängt einerseits die Business-Logik (das Domain Model), andererseits die Anzeige-Logik (der View/das BrowserFramework BFW).

Eine Instanz (ein PI-Dokument) bekommt man nur über die (Factory-)Klassenmethode GET_INSTANCE, wobei man den Dokumentnamen übergeben muß. Diese stellt sicher, daß ein konkretes Dokument nur genau 1 Mal instanziiert werden kann.

Zur Zeit gilt:

  • bei Herstellanweisungen ist der Dokumentname die Steuerrezeptnummer
  • bei ProcessManufacturingCockpits setzt sich der Dokumentname zusammen aus:
  • Werk

  • Applikationskey (bei ProcessManufacturingCockpits immer = PI)

  • Cockpitname

,,Beispiel: 0001PICOCKP1

Die Methode GENERATE erzeugt alle zur Ausführung eines Dokuments notwendigen Daten auf der Datenbank. Dazu muß ein gültiges Rezept übergeben werden. Ein Rezept besteht aus einer Menge von Merkmalen, die in Prozeßvorgaben gruppiert sind. Woher die Merkmale stammen, ist prinzipiell egal. Zur Zeit wird die Methode an folgenden Stellen aufgerufen:

  • Customizing ProcessManufacturingCockpits bei der Simulation (kein Speichern der erzeugten Daten) und beim Generieren (anschließendes Speichern)
  • Planungsrezept bei der Simulation der Herstellanweisung (kein Speichern der Daten)
  • Versenden von Steuerrezepten zur Generierung von Herstellanweisungen (Speichern der Daten)

ACHTUNG: Vor Aufruf der Methode muß eine OO-Transaktion geöffnet werden und danach wieder geschlossen werden!
,,,,CALL METHOD cl_transaction_poc=>o_instance->start( im_top_level = 'X' ).
,,,,.......

,,,,CALL METHOD cl_transaction_poc=>o_instance->end.

Der Parameter IM_TOP_LEVEL steuert, ob der COMMIT WORK vom aufrufenden Programm gemacht wird oder nicht.

Um dann ein Dokument anzuzeigen, ruft man die Instanzmethode STARTUP_RUNTIME_AND_SHOW auf. Diese Methode bringt ein Dynpro und zeigt das Dokument full-screen an. Ist das Dokument nicht vorhanden oder tritt ein Fehler auf, kommt es zu einer Ausnahme.

Die Methode STARTUP_RUNTIME macht das gleiche ohne allerdings ein Dynpro zu zeigen. Sie wird vor allem bei geschachtelten Dokumenten benutzt, wo das oberste Dokument über STARTUP_RUNTIME_AND_SHOW angezeigt wird (mit Dynpro), für alle weiteren (abhängigen) Dokumente muß nur STARTUP_RUNTIME gerufen werden.
Die Methode tut folgendes: um ein Dokument im Browser anzeigen zu können, müssen erst alle benötigten Files von der Datenbank ans Frontend geladen werden. Dies sind vor allem das XML-File des Dokuments, ein XSL-Layout-File, evtl. CSS-Files und weitere Files wie Icons, Bitmaps, HTML-Pages, usw. Einige wichtige System-Files werden dabei on the fly generiert.
Siehe dazu auch Klasse CL_BFW_WEBRES_PIDOC_POC. Diese Klasse ist eine Webressource, die ein PI-Dokument repräsentiert. Alle zu diesem Dokument gehörenden Files sind davon abhängige Webressourcen.

Nach Beendigung der Bearbeitung eines Dokuments muß die Instanzmethode CLOSE aufgerufen werden, um z.B. alle Sperren abzuräumen. CLOSE muß nicht explizit aufgerufen werden, wenn ein Dokument über STARTUP_RUNTIME_AND_SHOW gestartet wurde. Dies geschieht beim Verlassen des Dynpros automatisch (gilt auch für abhängige Dokumente). Danach ist die Instanz nicht mehr gültig und muß verworfen werden!!

Die Methode DELETE_RUNTIME_FROM_DB entfernt alle zum Dokument direkt gehörenden Daten. Dies sind:

  • die Laufzeitdaten des DomainModels (alle Datenbanktabellen POC_DB_*)
  • alle digitalen Signaturen
  • das XML- und das Layout-Definitions-File

Nicht gelöscht werden referenzierte Files wie XSL-Stylesheets, CSS-Stylesheets, Bilder, usw.
Die Methode wird zur Zeit benutzt, wenn ProcessManufacturingCockpits gelöscht werden (Customizing ProcessManufacturingCockpits) und wenn Herstellanweisungen entweder manuell oder nach Archivierung gelöscht werden.

Beziehungen

Die Klasse hat Beziehungen zu folgenden Klassen:

  • CL_BFW_WEBRES_PIDOC_POC
  • CL_APPLICATION_STEP_POC
  • CL_BFW_DOCUMENT_POC

Beispiel

Hinweise

Weiterführende Informationen






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5471 Date: 20240419 Time: 163700     sap01-206 ( 76 ms )