Ansicht
Dokumentation

RBAM_ACL_SET_ENTRY_NODE_ID - Erzeugen von ACL-Entry Daten

RBAM_ACL_SET_ENTRY_NODE_ID - Erzeugen von ACL-Entry Daten

ROGBILLS - Synchronize billing plans   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die API dient der Vorbereitung eines Upgrade einer ACL-Entry-Tabelle.

Es wird vorausgesetzt, dass die korrespondierende ACL-Root-Tabelle vorhanden und mit korrekten UUIDs für die existierende ACL gepflegt ist.

Aufgabe der API ist, die Einträge der ACL-Entry Tabelle zu ergänzen um die Node Id und den Verweis zum Element in der ACL-Root-Tabelle (Parent Node Id). Das Ergebnis wird in Form der ACL-Entry-Tabelle (CT_ENTRY_DATA) bereitgestellt. Es werden keine weiteren Daten verändert.

Die Tabelle wird so erzeugt, dass sie per Massen-Insert in die entsprechende Datenbanktabelle eingefügt werden kann, z. B. für XPRA -Anwendungen.

Beispiel

DATA:
  gf_root_table_name   TYPE rbam_acl_root_table_name,
  gf_entry_table_name  TYPE rbam_acl_entry_table_name.

DATA:
  gt_root_data         TYPE rbam_acl_root_t,
  gt_entry_data        TYPE rbam_acl_entry_t,
  gs_entry_data        TYPE rbam_acl_entry_s.

  gf_root_table_name  = 'RBAMTST_ACLROOT'.
  gf_entry_table_name = 'RBAMTST_ACLENTRY'.

* Assume gt_root_data is filled with all data already!

* Fill table Entry Nodes
gs_entry_data-mandt = '700'.
gs_entry_data-context = 'XYZZ'.
gs_entry_data-...
gs_entry_data-parent_node_id = 'HOST_NODE_ID_001'.
APPEND gs_entry_data TO gt_entry_data.
gs_entry_data-mandt = '700'.
gs_entry_data-context = 'XYZZ'.
gs_entry_data-...
gs_entry_data-parent_node_id = 'HOST_NODE_ID_001'.
APPEND gs_entry_data TO gt_entry_data.

gs_entry_data-mandt = '700'.
gs_entry_data-context = 'ABCD'.
gs_entry_data-...
gs_entry_data-parent_node_id = 'HOST_NODE_ID_002'.
APPEND gs_entry_data TO gt_entry_data.

TRY.
      CALL FUNCTION 'RBAM_ACL_SET_ENTRY_NODE_ID'
        EXPORTING
          if_root_table_name  = gf_root_table_name
          if_entry_table_name = gf_root_table_name
          it_root_data        = gt_root_data
        CHANGING
          ct_entry_data       = gt_entry_data.
    CATCH cx_uuid_error.
ENDTRY.

Hinweise

Die ACL-Entry Tabelle (CT_ENTRY_DATA) darf in der Spalte PARENT_NODE_ID nur Werte aus der Spalte PARENT_NODE_ID der Tabelle IT_ROOT_DATA enthalten und auf gar keinen Fall "echte" generierte Node Id, wie sie später als Ergebnis der API in der ACL-Entry Tabelle enthalten sind!

Beim Update der ACL-Entry Tabelle (CT_ENTRY_DATA) wird geprüft, ob die PARENT_NODE_ID in der Root-Tabelle (ET_ROOT_DATA) enthalten ist. Ist das nicht der Fall, wird das Feld PARENT_NODE_ID in der ACL-Entry Tabelle (CT_ENTRY_DATA) initial gesetzt.

Daher muss nach Ausführung des Bausteins immer geprüft werden, ob es evtl. Zeilen mit leerem Feld PARENT_NODE_ID gibt!

Weiterführende Informationen





Parameter

CT_ENTRY_DATA
IF_ENTRY_TABLE_NAME
IF_ROOT_TABLE_NAME
IT_ROOT_DATA

Ausnahmen

CX_UUID_ERROR

Funktionsgruppe

RBAMACLAPI

ABAP Short Reference   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4517 Date: 20240604 Time: 025717     sap01-206 ( 47 ms )