This is a test message to test the length of the message box.
Login
ABAP BOPF Hilfsmethoden
Erstellt von Software-Heroes

ABAP - BOPF Hilfsmethoden

201

Das Framework stellt dir verschiedene Methoden und Objekte zur Verfügung, die die Benutzung vereinfachen sollen.

Werbung


Im heutigen Artikel wollen wir dir kurz zeigen, was es so für Methoden und Hilfen von BOPF gibt, die dich bei der Entwicklung unterstützen und dir Zeit ersparen, wenn du sie wiederverwendest. An einigen Stellen sollte man diese auch verwenden, da es sonst zu Problemen oder Fehlern kommen kann.

 

Framework Factory

Über die Factory Klasse /BOBF/CL_FRW_FACTORY des Frameworks bekommst du einige Hilfemethoden zur Verfügung gestellt. Hierbei handelt es sich um allgemeine Methoden zum Handling mit den Daten.

 

GET_MESSAGE

Rückgabe eines neuen Nachrichten-Objekts zur Übergabe von Fehlernachrichten bei Problemen mit der Datenermittlung oder Verarbeitung. Über das Objekt lässt sich auch der aktuelle Fehlerstatus ermitteln.

 

GET_NEW_KEY

Erzeugung eines neuen eindeutigen Schlüssels zur Sicherung der Daten auf der Datenbank. Im Normalfall wird ein Schlüssel generiert, wenn keiner übergeben wird. Möchtest du allerdings Daten mit Assoziationen anlegen, benötigst du für die Assoziation bereits den Schlüssel des vorhergehenden Eintrags.

 

GET_NEW_TRANSIENT_KEY

Erstellt einen neuen transienten Schlüssel und gibt ihn zurück. Diese Schlüssel können für Wegwerfdatensätze erstellt werden, wenn zum Beispiel ganze Knoten im Modell transient sind, diese aber einen Schlüssel zwecks Identifizierung benötigen.

 

GET_CONFIGURATION

Einlesen der Konfiguration zu einem übergebenen Objekt (Schlüssel des Datenmodells aus dem Konstanten Interface) und Rückgabe eines Objekts vom Typ /BOBF/CL_CONFRT_COMPLETE.

 

DATA(lo_config) = /bobf/cl_frw_factory=>get_configuration( zif_tst_bopf_c=>sc_bo_key ).

lo_config->get_node(
  EXPORTING
    iv_node_key = zif_tst_bopf_c=>sc_node-conditions
  IMPORTING
    es_node     = DATA(ls_node)
).

 

Die Struktur von LS_NODE enthält dann Informationen zu dem gewählten Knoten im Beispiel oben. So findet man leicht die Datentypen oder Tabellen zu dem entsprechend gewählten Knoten.

 

Konstanten Interface

Das generierte Konstanten Interface ist ein wichtiger Zugriffspunkt auf die generierten Schlüssel und Knoten und verbindet diese mit sprechenden Namen. Wie du bereits im Beispiel oben gesehen hast, kannst du damit in lesbarer Form die Konfiguration zum Datenmodell lesen, ohne dir den technischen Schlüssel merken zu müssen.

Hinweis: Bei neuen Knoten oder Änderungen im Modell wird das Konstanteninterface neu generiert, deshalb am Besten immer nur über die Konstanten zugreifen, da sich diese nicht ändern, solange sich die Knotennamen nicht ändern.

 

Als Beispiel einmal ein Auszug aus dem Interface für unser Datenmodell:

INTERFACE zif_tst_bopf_c
  PUBLIC .


  INTERFACES /bobf/if_lib_constants .

  CONSTANTS:
    BEGIN OF sc_action,
      BEGIN OF conditions,
        create_conditions   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0558383898007',
        delete_conditions   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA055838416C007',
        save_conditions     TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA055838493C007',
        update_conditions   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0558383D70007',
        validate_conditions TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0558384568007',
      END OF conditions,
      BEGIN OF contract,
        create_contract   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0525CBC3E8006',
        delete_contract   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0525CBF46C006',
        lock_contract     TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0525B61750006',
        partner_sign      TYPE /bobf/act_key VALUE '42D85ED56C0A1EEA82BB08B1DA099376',
        save_contract     TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0525CBFCF0006',
        unlock_contract   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0525B89214006',
        update_contract   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0525CBC8C0006',
        validate_contract TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0525CBF8E0006',
      END OF contract,
      BEGIN OF notes,
        create_notes   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA058A5C783400A',
        delete_notes   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA058A5C85CC00A',
        save_notes     TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA058A5C8DD800A',
        update_notes   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA058A5C81BC00A',
        validate_notes TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA058A5C89F000A',
      END OF notes,
      BEGIN OF partners,
        create_partners   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0576054AC800A',
        delete_partners   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057605583800A',
        save_partners     TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057605638C00A',
        update_partners   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057605527000A',
        validate_partners TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA0576055DD800A',
      END OF partners,
      BEGIN OF price_scale,
        create_price_scale   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA05A0EE35D800A',
        delete_price_scale   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA05A0EE453C00A',
        save_price_scale     TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA05A0EE511C00A',
        update_price_scale   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA05A0EE3F6000A',
        validate_price_scale TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA05A0EE4B6800A',
      END OF price_scale,
      BEGIN OF rules,
        create_rules   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057BD6EDBC00A',
        delete_rules   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057BD6F94C00A',
        save_rules     TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057BD7014400A',
        update_rules   TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057BD6F2E400A',
        validate_rules TYPE /bobf/act_key VALUE '42D85ED56C0A1ED9AEA057BD6FD5C00A',
      END OF rules,
    END OF sc_action .

 

Fazit

Das Framework stellt dir bereits viele Methoden und Klassen zur Verfügung, die dir beim Zugriff auf die Daten, die Konfiguration und die Inhalte helfen. Mit den bereitgestellten Objekten solltest du eigentlich alles haben, was du für die Arbeit mit BOPF benötigst.


Enthaltene Themen:
BOPFHilfsmethoden
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


ABAP - BOPF Quick Guide (Update)

Kategorie - ABAP

Ein kleiner Update zu unserem Buch das wir veröffentlicht haben. Für alle Menschen, die das papierlose Büro langweilig finden.

23.10.2020

ABAP - BOPF Quick Guide

Kategorie - ABAP

Du benötigst einen Schnelleinstieg in das Business Object Processing Framework (BOPF) der SAP, wir haben hier den richtigen Guide für dich.

11.09.2020

ABAP - BOPF Eclipse

Kategorie - ABAP

Kann man BOPF auch in Eclipse entwickeln? Hier zeigen wir dir, wie gut die Suche und Navigation im System läuft.

20.03.2020

ABAP - BOPF Performance

Kategorie - ABAP

Wie sieht es eigentlich mit der Performance bei Zugriffen auf BOPF aus? Dieser Frage wollen wir heute nachgehen.

13.03.2020

ABAP - BOPF Eigene Abfrage

Kategorie - ABAP

Du benötigst eine eigene möglichst performante Selektion auf deine BOPF Daten? Dann schreib dir heute deine eigene Abfrage dafür.

07.02.2020