Ansicht
Dokumentation
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.
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_CLASSCICO_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
SIDMBAL_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 )