[ABAP] Geschäftspartner (Business Partner) in der Transaktion BP anzeigen

Variante 1: Anzeige über Partnernummer


PARAMETERS: p_bp TYPE bapibus1006_head-bpartner.

START-OF-SELECTION.

  IF NOT p_bp IS INITIAL.

* SAP-GP Dialog: Navigationscommando
    DATA(o_req) = NEW cl_bupa_navigation_request( ).
* Partnernummer setzen, analog zu set_partner_guid( )
    o_req->set_partner_number( p_bp ).
* Setzt die aktive Pflege (Einstieg, Partnerdaten, Beziegungen)
    o_req->set_maintenance_id( iv_value = cl_bupa_navigation_request=>gc_maintenance_id_partner ).
* Aktivität zur Anzeige / Pflege der Geschäftspartnerdaten
    o_req->set_bupa_activity( iv_value = cl_bupa_navigation_request=>gc_activity_display ).
* Setzt den aktiven Tabreiter der Geschäftspartnerpflege
*    o_req->set_bupa_sub_header_tab( 'CVIC01' ). " Tabelle TBZ3A, Objekt BUPA
* Setzt die Geschäftspartnerrolle für die Geschäftspartnerpflege
*    o_req->set_bupa_partner_role( VALUE #( role = 'FS0000' ) ). " Tabelle TB003

* SAP-GP Dialog: Startoptionen für die Pflegeoberfläche
    DATA(o_options) = NEW cl_bupa_dialog_joel_options( ).
* Setzt die Sichtbarkeit des Locators
    o_options->set_locator_visible( space ).

* Macht das Navigieren zu anderen Partnern unmöglich
*    o_options->set_navigation_disabled( abap_true ).
* Setzt das Kennzeichen für 'Anlegen von Beziehungen' erlaubt
*    o_options->set_bupr_create_not_allowed( abap_true ).
* Macht das Navigieren zu anderen Rollen unmöglich
*    o_options->set_role_switching_disabled( abap_true ).
* Maintenance
*    o_options->set_bupr_maintenance( VALUE #( create_allowed = abap_true
*                                              change_allowed = abap_true
*                                              delete_allowed = abap_true ) ).
* Macht das Navigieren zu einer anderen Aktivität unmöglich
*    o_options->set_activity_switching_off( space ).

* Startmethode für Aufrufe aus anderen Anwendungen
    cl_bupa_dialog_joel=>start_with_navigation( iv_request              = o_req
                                                iv_options              = o_options
                                                iv_in_new_internal_mode = abap_true ).
  ENDIF.

Variante 2: Anzeige über GUID des Business-Partners

PARAMETERS: p_bp TYPE bapibus1006_head-bpartner.

START-OF-SELECTION.

  IF NOT p_bp IS INITIAL.

* GP: Allgemeine Daten I
* BP-GUID zur Partnernummer holen
    SELECT SINGLE FROM but000
      FIELDS partner_guid
      WHERE partner = @p_bp
      INTO @DATA(lv_bp_guid).

    IF lv_bp_guid IS NOT INITIAL.
* SAP-GP Dialog: Navigationscommando
      DATA(o_req) = NEW cl_bupa_navigation_request( ).
      o_req->set_partner_guid( lv_bp_guid ).
      o_req->set_maintenance_id( iv_value = cl_bupa_navigation_request=>gc_maintenance_id_partner ).
      o_req->set_bupa_activity( iv_value = cl_bupa_navigation_request=>gc_activity_display ).

* SAP-GP Dialog: Startoptionen für die Pflegeoberfläche
      DATA(o_options) = NEW cl_bupa_dialog_joel_options( ).
      o_options->set_locator_visible( space ).

* Startmethode für Aufrufe aus anderen Anwendungen
      cl_bupa_dialog_joel=>start_with_navigation( iv_request              = o_req
                                                  iv_options              = o_options
                                                  iv_in_new_internal_mode = abap_true ).
    ENDIF.
  ENDIF.

Links