Ansicht
Dokumentation

RPY_DATA_MODEL_UPDATE - Datenmodell ändern

RPY_DATA_MODEL_UPDATE - Datenmodell ändern

BAL_S_LOG - Application Log: Log header data   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein RPY_DATA_MODEL_UPDATE ändert die Informationen zu EINEM Datenmodell des Data Modeler im Repository. Das Modell muß vorher mit dem Baustein RPY_DATA_MODEL_READ gelesen worden sein.

Geändert wird nur das Transport-Objekt (Datenmodell).

Wichtig ist, zu unterscheiden zwischen dem TRANSPORTOBJEKT Datenmodell und dem Datenmodell im UMGANGSSPRACHLICHEN Sinne.

  • Das Transportobjekt Datenmodell kennzeichnet GENAU EIN Objekt, nämlich die Wurzel einer Datenmodell-Hierarchie.

  • Der umgangssprachliche Begriff kennzeichnet in der Regel den ganzen BAUM, d.h., die Wurzel, alle Nachfolger (Entitätstypen und Datenmodelle), deren Nachfolger und so weiter.

Wenn Sie genau das Transport-Objekt (Datenmodell) einfügen oder verändern möchten, so belassen Sie alle Vorschlagswerte bei den Eingangs-Parametern. Wenn Sie weniger Informationen übergeben möchten, so ändern Sie die Eingangs-Parameter nach Bedarf ab.

Zum Transportobjekt Datenmodell gehören:

  • Grundinformationen zum Datenmodell

  • Stückliste (Verweise auf Nachfolger und Positionen)

  • SAPScript-Dokumentation

Über die Parameter WITH_* (z.B. WITH INGOING_RELATIONSHIPS) wird festgelegt, ob bestimmte Teilinformationen an das SAP-System übergeben werden sollen. Diese werden dann in den gleichnamigen Strukturen und Tabellen (z.B. Tabelle INGOING_RELATIONSHIPS) vom Funktionsbaustein erwartet.

Haben Sie einen WITH-Parameter (z.B. WITH INGOING_RELATIONSHIPS) und WITH_FORMATTED_DOCUMENTATION bzw. WITH_SAPSCRIPT_DOCUMENTATION angekreuzt ('X'), so ist neben der Dokumentation des Hauptobjektes zusätzlich die Dokumentation (z.B. zu den eingehenden Beziehungen) in den entsprechenden Tabellen FORMATTED_DOCUMENTATION bzw. SAPSCRIPT_DOCUMENTATION mit zu übergeben.

Bei allen Änderungs- und Einfügeoperationen wird eine dreistufige Überprüfung der Eingabeparameter durchgeführt.

  • Plausibilitätskontrolle der Eingabeparameter
    Hier wird allgemein das Vorhandensein der Parameter geprüft. Sind die WITH_*-Parameter nur mit 'X' oder ' ' belegt. Sind zu den WITH_*-Parametern auch die entsprechenden Tabellen angegebn.
  • Innere Konsistenzprüfung
    Hier wird geprüft, ob die übergebenen Informationen für Datenmodelle und Entitätstypen in sich konsistent sind. D.h. es werden die gleichen Prüfungen ausgeführt, die auch bei direkter Pflege mit dem Data Modeler ablaufen würden.
  • Äußere Konsistenzprüfung
    Hier wird das Umfeld geprüft. Zum Beispiel wird bei Einfügeoperationen geprüft, ob das Objekt schon vorhanden ist. Bei Existenz wird eine Fehlermeldung gesetzt.

Erst wenn alle 3 Prüfungsebenen erfolgreich verlaufen, wird das Objekt im Repository geändert bzw. eingefügt.

Der Funktionsbaustein löst keine Exception aus. Treten während der Abarbeitung Problemsituationen oder Fehler auf, so werden diese über die Tabelle ERRORS an den Aufrufer zurückgegeben.

Ist diese Tabelle leer, so trat kein Fehler auf. Ansonsten entspricht jede Zeile der Tabelle einem Fehler. Im Feld ERRORCLASS findet sich die Art des Fehlers (Objekt nicht gefunden, Berechtigungsfehler, Sperrfehler, ...). In den Feldern MSGID/MSGTYPE/MSGNUMBER/MSGVAR1/.../MSGVAR4 finden sich die Informationen, die einem MESSAGE-Befehl in ABAP entsprechen. Trat weder ein interner noch ein Parameter-Fehler auf, so läßt sich mit Hilfe der Felder OBJECTID/OBJECTTYPE das Objekt bestimmen, bei dem der Fehler auftrat.

Beispiel

Mit dem folgenden Beispiel können Sie alle Informationen zu einem Datenmodell, z.B. MY_MODEL im Repository ändern. Geändert wird genau das Transport-Objekt.

* Declaration of variables
data: c_data_model_id          like rpydmdm-model_id,
      c_cico_request_no        like rpydmgf-cicorequno,
      c_cico_dev_class         like rpydmgf-cico_dev_class,
      s_model_info             like rpydmdm,
      t_errors                 like rpygser occurs 10 with header line,
      t_parts_list              like rpydmhi occurs   25,
      t_formatted_documentation like rpydmfd occurs  100,
      t_sapscript_documentation like rpydmsd occurs  100.

* Determine data model to be write and fill tables with information
c_data_model_id   = 'MY_MODEL'.
c_cico_request_no = ....
c_cico_dev_class  = ....
s_model_info-Model_id =  'MY_MODEL'.
   ....
* write transport object data model
call function 'RPY_DATA_MODEL_UPDATE'
     exporting
          cico_request_no              = c_cico_request_no
          cico_dev_class               = c_cico_dev_class
          data_model_id                = c_data_model_id
          model_info                   = s_model_info
          language                     = sy-langu
          with_sapscript_documentation = 'X'
          with_parts_lists             = 'X'
     tables
          errors                       = t_errors
          sapscript_documentation      = t_sapscript_documentation
          parts_lists                  = t_parts_list.
* Error handling
loop at t_errors.
  if ...
    ...
  endif.
endloop.

Hinweise

Weiterführende Informationen

Weitergehende Informationen zu den Strukturen und Tabellen, die im Aufruf von RPY_DATA_MODEL_UPDATE vorkommen, finden Sie unter:

Folgende Funktionsbausteine gehören ebenfalls zur Repository-API des Data Modeler und können für Sie von Interesse sein:

Allgemeinere Informationen zum Data Modeler und zur Datenmodellierung finden sie

  • in der Online-Dokumentation zum Data Modeler

  • im Buch 'Data Modeler' aus der Buchreihe über die Abap Development Workbench

  • im Methoden-Handbuch 'SAP-Informationsmodell' (Produktnummer 50007795).





Parameter

CICO_DEV_CLASS
CICO_REQUEST_NO
DATA_MODEL_ID
ERRORS
FORMATTED_DOCUMENTATION
LANGUAGE
MODEL_INFO
PARTS_LISTS
SAPSCRIPT_DOCUMENTATION
WITH_FORMATTED_DOCUMENTATION
WITH_PARTS_LISTS
WITH_SAPSCRIPT_DOCUMENTATION

Ausnahmen

Funktionsgruppe

SIDM

BAL_S_LOG - Application Log: Log header data   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 11657 Date: 20240523 Time: 112031     sap01-206 ( 126 ms )