Verwendungsnachweis von Tabellen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Verwendungsnachweis von Tabellen

Beitrag von il.ost (ForumUser / 49 / 28 / 0 ) »
Hallo zusammen. Ich habe jetzt eine Aufgabe, wo ich FuBa: RS_EU_CROSSREF (Verwendungsnachweis) benutzen muss. Ich bin auf folgende Problem/Aufgabe gestoßen:
Wenn ich das Verwendungsnachweis für die Tabelle mache, dann bekomme ich die Includes, in denen die Tabelle benutzt wird, ich will aber wissen in welchem Funktionsbaustein es nutzt wird. (Fuba befindet sich in diesem Iclude)
Weißt jmd die Lösung dafür?
Zuletzt geändert von il.ost am 29.04.2019 13:38, insgesamt 1-mal geändert.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Verwendungsnachweis von Tabellen

Beitrag von ewx (Top Expert / 4884 / 318 / 644 ) »
Das ist leider ein blöder Bug in dem Verwendungsnachweis... nervt mich auch immer.
Folgendes Coding zeigt den Fuba mit an:

Code: Alles auswählen.

  DATA ls_rsfind   TYPE rsfind.
  DATA lt_rsfind   TYPE STANDARD TABLE OF rsfind.
  DATA l_euobj     TYPE euobj.
  DATA l_fullname  TYPE string.
  DATA lt_findlist TYPE sci_findlst.


  l_euobj-id       = 'TABL'.
  ls_rsfind-object = 'TFDIR'.
  APPEND ls_rsfind TO lt_rsfind.

  DATA(lt_scope_devclass) = VALUE scit_devc( ( sign = 'I' option = 'CP' low = 'Z*' ) ).
  DATA lt_scope_obj_cls TYPE STANDARD TABLE OF seu_obj.
  DATA lt_scope_objects TYPE STANDARD TABLE OF rsfind.
  DATA lv_number_of_hits TYPE i.

  lt_scope_obj_cls = VALUE #(
                      ( 'P' )  "program
                      ( 'OM' ) "class method
                     ).

  CALL FUNCTION 'RS_EU_CROSSREF'
    EXPORTING
      i_find_obj_cls               = l_euobj-id
      no_dialog                    = 'X'
      expand_source_in_batch_mode  = ' '
      expand_source_in_online_mode = ' '
      without_text                 = 'X'
      i_full_name                  = space
    IMPORTING
      o_hits                       = lv_number_of_hits
    TABLES
      i_findstrings                = lt_rsfind
      o_founds                     = lt_findlist
      i_scope_objects              = lt_scope_objects
      i_scope_object_cls           = lt_scope_obj_cls
      i_scope_devclass             = lt_scope_devclass
    EXCEPTIONS
      not_executed                 = 1
      not_found                    = 2
      illegal_object               = 3
      no_cross_for_this_object     = 4
      batch                        = 5
      batchjob_error               = 6
      wrong_type                   = 7
      object_not_exist             = 8
      OTHERS                       = 9.



  DATA lv_funcname TYPE rs38l_fnam.
  DATA lv_include  TYPE progname.

  LOOP AT lt_findlist INTO DATA(ls_findlist).
    lv_include = ls_findlist-program.
    CLEAR lv_funcname.
    CALL FUNCTION 'FUNCTION_INCLUDE_INFO'
      CHANGING
        funcname = lv_funcname
        include  = lv_include
      EXCEPTIONS
        OTHERS   = 6.
    IF sy-subrc = 0.
      WRITE: / lv_funcname, ls_findlist-program.
    ELSEIF ls_findlist-encl_objec IS INITIAL.
      WRITE: / ls_findlist-object.
    ELSE.
      WRITE: / ls_findlist-encl_objec, ls_findlist-program.
    ENDIF.
    WRITE: ls_findlist-source,
           ls_findlist-object_row.
  ENDLOOP.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
il.ost


Re: Verwendungsnachweis von Tabellen

Beitrag von il.ost (ForumUser / 49 / 28 / 0 ) »
ewx hat geschrieben:
29.04.2019 12:53
Das ist leider ein blöder Bug in dem Verwendungsnachweis... nervt mich auch immer.
Folgendes Coding zeigt den Fuba mit an:

Code: Alles auswählen.

  DATA ls_rsfind   TYPE rsfind.
  DATA lt_rsfind   TYPE STANDARD TABLE OF rsfind.
  DATA l_euobj     TYPE euobj.
  DATA l_fullname  TYPE string.
  DATA lt_findlist TYPE sci_findlst.


  l_euobj-id       = 'TABL'.
  ls_rsfind-object = 'TFDIR'.
  APPEND ls_rsfind TO lt_rsfind.

  DATA(lt_scope_devclass) = VALUE scit_devc( ( sign = 'I' option = 'CP' low = 'Z*' ) ).
  DATA lt_scope_obj_cls TYPE STANDARD TABLE OF seu_obj.
  DATA lt_scope_objects TYPE STANDARD TABLE OF rsfind.
  DATA lv_number_of_hits TYPE i.

  lt_scope_obj_cls = VALUE #(
                      ( 'P' )  "program
                      ( 'OM' ) "class method
                     ).

  CALL FUNCTION 'RS_EU_CROSSREF'
    EXPORTING
      i_find_obj_cls               = l_euobj-id
      no_dialog                    = 'X'
      expand_source_in_batch_mode  = ' '
      expand_source_in_online_mode = ' '
      without_text                 = 'X'
      i_full_name                  = space
    IMPORTING
      o_hits                       = lv_number_of_hits
    TABLES
      i_findstrings                = lt_rsfind
      o_founds                     = lt_findlist
      i_scope_objects              = lt_scope_objects
      i_scope_object_cls           = lt_scope_obj_cls
      i_scope_devclass             = lt_scope_devclass
    EXCEPTIONS
      not_executed                 = 1
      not_found                    = 2
      illegal_object               = 3
      no_cross_for_this_object     = 4
      batch                        = 5
      batchjob_error               = 6
      wrong_type                   = 7
      object_not_exist             = 8
      OTHERS                       = 9.



  DATA lv_funcname TYPE rs38l_fnam.
  DATA lv_include  TYPE progname.

  LOOP AT lt_findlist INTO DATA(ls_findlist).
    lv_include = ls_findlist-program.
    CLEAR lv_funcname.
    CALL FUNCTION 'FUNCTION_INCLUDE_INFO'
      CHANGING
        funcname = lv_funcname
        include  = lv_include
      EXCEPTIONS
        OTHERS   = 6.
    IF sy-subrc = 0.
      WRITE: / lv_funcname, ls_findlist-program.
    ELSEIF ls_findlist-encl_objec IS INITIAL.
      WRITE: / ls_findlist-object.
    ELSE.
      WRITE: / ls_findlist-encl_objec, ls_findlist-program.
    ENDIF.
    WRITE: ls_findlist-source,
           ls_findlist-object_row.
  ENDLOOP.
Vielen Dank, Enno!
Das war genau das, was ich gebraucht habe!

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4783
Views
Verwendungsnachweis
von dkast » 15.05.2017 16:53 • Verfasst in ABAP® Core
7
Antw.
2157
Views
Verwendungsnachweis in Smartforms
von whaslbeck » 08.03.2022 09:12 • Verfasst in ABAP® Core
0
Antw.
2330
Views
Verwendungsnachweis Kostenstellen
von -hawkeye- » 18.04.2008 08:44 • Verfasst in Financials
4
Antw.
19517
Views
Verwendungsnachweis unvollständig
von black_adept » 14.03.2012 16:22 • Verfasst in ABAP® Core
2
Antw.
2154
Views
Mehrstufiger Verwendungsnachweis mit ...
von HH_ABAP » 04.06.2018 10:46 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Netzplan drucken
vor 8 Stunden von ELLIS 1 / 35
FOR mit CORRESPONDING
vor 2 Tagen von black_adept 9 / 1317
SALV: Titel zu lang
vor 2 Tagen von ralf.wenzel 3 / 236
Web Feature Services (WFS) im SAP
vor 5 Tagen von msfox 1 / 774
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 2592

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Netzplan drucken
vor 8 Stunden von ELLIS 1 / 35
FOR mit CORRESPONDING
vor 2 Tagen von black_adept 9 / 1317
SALV: Titel zu lang
vor 2 Tagen von ralf.wenzel 3 / 236
Web Feature Services (WFS) im SAP
vor 5 Tagen von msfox 1 / 774
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 2592

Unbeantwortete Forenbeiträge

Netzplan drucken
vor 8 Stunden von ELLIS 1 / 35
Web Feature Services (WFS) im SAP
vor 5 Tagen von msfox 1 / 774
Erweiterung in ME51N/ME52N:
vor 3 Wochen von ABAPlerv 1 / 3085
Erweiterung in ME51N/ME52N:
vor 3 Wochen von ABAPlerv 1 / 2924