SE16N mit Variante nutzen für einen eingeschränkten Zugriff?

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
13 Beiträge • Seite 1 von 1
13 Beiträge Seite 1 von 1

SE16N mit Variante nutzen für einen eingeschränkten Zugriff?

Beitrag von swonny (Specialist / 102 / 10 / 2 ) »
Hallo liebe Mitglieder,

wisst Ihr vielleicht ob es die Möglichkeit besteht die Transaktion SE16N eingeschränkt zu nutzen?

Ich möchte das der Anwender nur über Varianten die Tabellen aufrufen kann.

Ist das möglich?

Das Feld "Tabelle" in der SE16N lässt sich nicht ausgrauen.


Viele Grüße
swonny

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


Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Du könntest eine "eigene" Eingabemaske schaffen und den Funktionsbaustein SE16N_INTERFACE aufrufen.
gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
swonny

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von swonny (Specialist / 102 / 10 / 2 ) »
Du könntest eine "eigene" Eingabemaske schaffen und den Funktionsbaustein SE16N_INTERFACE
kling nicht schlecht, aber dafür müsste ich jetzt die die komplette Selektionsbildschirm
mit allen Selektionskriterien aufbauen und in den Parameter

Code: Alles auswählen.

IT_SELFIELDS LIKE SE16N_SELTAB        "Tabellenanzeige: Selektionskriterien
übertragen.

Gibt es für den ganzen Prozess der Datenbeschaffung vielleicht eine Doku, oder ein Beispielcoding?
Kann man sich vielleicht die Standard-Selektionskriterien wie z.b. bei der SE16 oder SE16N für die Tabellen holen?
z. B. bei der Tabelle MARA
MATNR
ERSDA
LVORM
......

Viele Dank schon mal für die schnelle Hilfe.
Viele Grüße
swonny

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von black_adept (Top Expert / 4093 / 127 / 940 ) »
Benutze den FuBa SE16N_START und setze dort die Tabelle und den Parameter I_SINGLE_TABLE = 'X' , dann hast du das was du benötigst.
Unbenannt.png

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
swonny

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von swonny (Specialist / 102 / 10 / 2 ) »
black_adept hat geschrieben:I_SINGLE_TABLE = 'X' ,
mhh, anscheinend hat die SAP diesen Import-Parameter entfernt. Schade,
das hätte genau gepasst. :roll:

Code: Alles auswählen.

FUNCTION SE16N_START.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(I_TAB) TYPE  SE16N_TAB OPTIONAL
*"     VALUE(I_DISPLAY) TYPE  CHAR1 DEFAULT SPACE
*"     VALUE(I_EXIT_SELFIELD_FB) TYPE  FUNCNAME DEFAULT SPACE
*"     VALUE(I_HANA) TYPE  CHAR1 DEFAULT SPACE
*"----------------------------------------------------------------------

Viele Grüße
swonny

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Falls Du vor hast den Usern die SE16N zu geben, würde ich statt dessen lieber den Quickview (SQVI) oder Query (SQ01) vorschlagen.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von swonny (Specialist / 102 / 10 / 2 ) »
Tron hat geschrieben:Moin.
Falls Du vor hast den Usern die SE16N zu geben, würde ich statt dessen lieber den Quickview (SQVI) oder Query (SQ01) vorschlagen.
gruß Jens
das habe ich ausprobiert,

Wenn man den Quickview (SQVI) oder Query (SQ01) benutzt kommt es bei großen Tabellen zu einem kurzdump. leider :roll:

Laufzeitfehler GEN_SAPSQL_TOO_MANY_ITABS
Datum und Zeit 01.06.2017 10:39:30

Kurztext
WHERE-Klausel enthält zu viele IN-itab-Bedingungen.


Ich habe zu viele Seleketionsparameter in der Where-Query
aber die brauche ich alle, muss leider auf alle Spalten Auswerten können,
bzw. der User bräuchte die Freiheit die Selektionsparameter selbst zu bestimmen.


Viele Grüße
swonny

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
..hmm ich hätte mit "time out" gerechnet. Schon mal den Quickview im Hintergrund augeführt ?
Möglicherweise zu viele SELECT-Options - werte. Da gibt es Limits !
gruß jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
swonny hat geschrieben:
black_adept hat geschrieben:I_SINGLE_TABLE = 'X' ,
mhh, anscheinend hat die SAP diesen Import-Parameter entfernt. Schade,
das hätte genau gepasst. :roll:
Oder er ist noch nicht drin... Welches Release hast du denn?

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
swonny hat geschrieben:aber die brauche ich alle, muss leider auf alle Spalten Auswerten können,
bzw. der User bräuchte die Freiheit die Selektionsparameter selbst zu bestimmen.
Freie Selektion kann man "schnell" selber programmieren, dann damit die SE16N aufrufen ist auch kein Hexenwerk.

Hier ein Beispiel:

Code: Alles auswählen.

REPORT ZTEST_SE16N.

DATA: gt_selfields TYPE TABLE OF se16n_seltab.

PARAMETERS: p_tab LIKE dd02l-tabname.
PARAMETERS: p_max TYPE sytabix DEFAULT '500'.

START-OF-SELECTION.

    PERFORM create_sel_screen.

    CALL FUNCTION 'SE16N_INTERFACE'
      EXPORTING
        i_tab                     = p_tab
        i_edit                    = ' '
        i_sapedit                 = ' '
        i_max_lines               = p_max
      TABLES
        it_selfields              = gt_selfields
     EXCEPTIONS
       no_values                 = 1
       OTHERS                    = 2.

    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

*&---------------------------------------------------------------------*
*&      Form  create_sel_screen
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM create_sel_screen .
*** Daten für die Freiabgrenzung
  DATA:
*** Selection-ID zur Unterscheidung mehrerer Sets
   lv_selection_id      LIKE rsdynsel-selid,
*** Anzahl der Felder
   lv_number_of_fields  TYPE i,
*** Init: Tabellen
   lt_tables            TYPE STANDARD TABLE OF rsdstabs,
*** Init: Felder
   ls_fields            TYPE                   rsdsfields,
   lt_fields            TYPE STANDARD TABLE OF rsdsfields,
*** Daten für Where-Tabelle
   lt_where_clauses     TYPE rsds_twhere,
   ls_where_clause      TYPE rsds_where,
*** Ranges
   lt_field_ranges      TYPE rsds_trange,
   ls_field_ranges      TYPE rsds_range,
*** Ranges eines Feldes
   ls_frange            TYPE rsds_frange,
*** einzelner RangeSatz
   ls_selopt            TYPE rsdsselopt,
*** Expressions
   lt_expressions       TYPE rsds_texpr,
   ls_expression        TYPE rsds_expr,
*** Fehlertext
  l_fehler               TYPE c LENGTH 50,
*** SE16N Selopt
  ls_selfields           TYPE se16n_seltab.

*** Tabellenname vorgeben
  APPEND p_tab TO lt_tables.

  CALL FUNCTION 'FREE_SELECTIONS_INIT'
    EXPORTING
      kind                     = 'T'
    IMPORTING
      selection_id             = lv_selection_id
      field_ranges             = lt_field_ranges
    TABLES
      tables_tab               = lt_tables
    EXCEPTIONS
      fields_incomplete        = 1
      fields_no_join           = 2
      field_not_found          = 3
      no_tables                = 4
      table_not_found          = 5
      expression_not_supported = 6
      incorrect_expression     = 7
      illegal_kind             = 8
      area_not_found           = 9
      inconsistent_area        = 10
      kind_f_no_fields_left    = 11
      kind_f_no_fields         = 12
      too_many_fields          = 13
      dup_field                = 14
      field_no_type            = 15
      field_ill_type           = 16
      dup_event_field          = 17
      node_not_in_ldb          = 18
      area_no_field            = 19
      OTHERS                   = 20.

  CASE sy-subrc.
    WHEN 1.  l_fehler = 'FIELDS_INCOMPLETE'.
    WHEN 2.  l_fehler = 'FIELDS_NO_JOIN'.
    WHEN 3.  l_fehler = 'FIELD_NOT_FOUND'.
    WHEN 4.  l_fehler = 'NO_TABLES'.
    WHEN 5.  l_fehler = 'TABLE_NOT_FOUND'.
    WHEN 6.  l_fehler = 'EXPRESSION_NOT_SUPPORTED'.
    WHEN 7.  l_fehler = 'INCORRECT_EXPRESSION'.
    WHEN 8.  l_fehler = 'ILLEGAL_KIND'.
    WHEN 9.  l_fehler = 'AREA_NOT_FOUND'.
    WHEN 10. l_fehler = 'INCONSISTENT_AREA'.
    WHEN 11. l_fehler = 'KIND_F_NO_FIELDS_LEFT'.
    WHEN 12. l_fehler = 'KIND_F_NO_FIELDS'.
    WHEN 13. l_fehler = 'TOO_MANY_FIELDS'.
    WHEN 14. l_fehler = 'DUP_FIELD'.
    WHEN 15. l_fehler = 'FIELD_NO_TYPE'.
    WHEN 16. l_fehler = 'FIELD_ILL_TYPE'.
    WHEN 17. l_fehler = 'DUP_EVENT_FIELD'.
    WHEN 18. l_fehler = 'NODE_NOT_IN_LDB'.
    WHEN 19. l_fehler = 'AREA_NO_FIELD'.
    WHEN 20. l_fehler = 'OTHERS'.
  ENDCASE. "sy-subrc

  IF NOT l_fehler IS INITIAL.
    MESSAGE e398(00)  WITH 'Fehler bei Initialisierung der Freienabgrenzung.'
                           'Fehler: '
                           l_fehler.
    STOP.
  ENDIF. " NOT l_fehler is initial.

*** Dialog mit "freien Abgrenzungen" aufrufen
  CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
    EXPORTING
      selection_id            = lv_selection_id
      title                   = 'Freie Abgrenzung'
      frame_text              = 'Bitte Selektion eingeben'
      status                  = '1'
      as_window               = ' '
      start_row               = 3
      start_col               = 3
      tree_visible            = space
      no_frame                = 'X'
    IMPORTING
      where_clauses           = lt_where_clauses
      expressions             = lt_expressions
      field_ranges            = lt_field_ranges
      number_of_active_fields = lv_number_of_fields
    TABLES
      fields_tab              = lt_fields
    EXCEPTIONS
      internal_error          = 1
      no_action               = 2
      selid_not_found         = 3
      illegal_status          = 4
      OTHERS                  = 5.
  IF sy-subrc > 0.
    IF sy-subrc = 2.
*** Meldung "Auswahl wurde abgebrochen"
      MESSAGE s000(oo) WITH 'Auswahl wurde abgebrochen'.
    ELSE.
*** Meldung "Fehler bei Funktionsbausteinaufruf"
      MESSAGE i000(oo) DISPLAY LIKE 'E'
         WITH 'Fehler bei FREE_SELECTIONS_DIALOG' sy-subrc.
    ENDIF.
    STOP.
  ELSE.
*** vom Baustein generierte SelOpts aufbereiten
    LOOP AT lt_field_ranges INTO ls_field_ranges.
      LOOP AT ls_field_ranges-frange_t INTO ls_frange.
*        Feldname übernehmen
        ls_selfields-field = ls_frange-fieldname.
        LOOP AT ls_frange-selopt_t INTO ls_selopt.
*          SelOpt-Sätze übernehmen
          ls_selfields-sign   = ls_selopt-sign.
          ls_selfields-option = ls_selopt-option.
          ls_selfields-low    = ls_selopt-low.
          ls_selfields-high   = ls_selopt-high.
          APPEND ls_selfields TO gt_selfields.
        ENDLOOP.
      ENDLOOP.
    ENDLOOP.
  ENDIF.
ENDFORM.                    " create_where

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
swonny

Gruß Hendrik

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
ewx hat geschrieben:Oder er ist noch nicht drin... Welches Release hast du denn?
Und spätestens beim Releasewechsel steht er (oder sein Nachfolger) vor dem gleichen Dilemma.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von swonny (Specialist / 102 / 10 / 2 ) »
a-dead-trousers hat geschrieben:
ewx hat geschrieben:Oder er ist noch nicht drin... Welches Release hast du denn?
Und spätestens beim Releasewechsel steht er (oder sein Nachfolger) vor dem gleichen Dilemma.

Wie schon black_adapt und die anderen Forumsmitglieder richtig erkannt haben benutzen wir hier ein älteres Release.
Werde jetzt dank der guten Codebeispiel ein kleines Programm schreiben und dann nach dem Rleasewechsel wieder auf dem FuBa 'SE16N_START'
zurückgreifen.

Viele Grüße & vielen Dank für die schnelle Hilfe !
swonny

Re: SE16N mit Variante nutzen für einen eingeschränkten Zugr

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
a-dead-trousers hat geschrieben:
ewx hat geschrieben:Oder er ist noch nicht drin... Welches Release hast du denn?
Und spätestens beim Releasewechsel steht er (oder sein Nachfolger) vor dem gleichen Dilemma.
Normalerweise löscht SAP keine Parameter. Evtl. haben sie dann keine Funktion mehr, aber in der Regel bleiben alle Parameter vorhanden. Sollte sich die Funktionalität grundlegend ändern, werden (in der Regel) neue Bausteine zur Verfügung gestellt.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
9789
Views
SE16N Variante mit ODER Verknüpfung speichern
von darmon » 12.04.2017 08:58 • Verfasst in Enterprise Portal
5
Antw.
3434
Views
SE16n Kaputt?
von SaskuAc » 07.02.2017 13:26 • Verfasst in Basis
1
Antw.
2170
Views
Feldbezeichner in SE16n
von Dimonic » 23.07.2009 10:31 • Verfasst in ABAP® für Anfänger
4
Antw.
4762
Views
SE16n und Protokollierung
von ewx » 13.02.2007 11:40 • Verfasst in ABAP® Core
9
Antw.
8821
Views
Tabellenänderung über SE16N
von Matze72 » 05.05.2007 22:50 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 5 Stunden von msfox 18 / 10927
Dialog-Container mit Toolbar/Status
vor 8 Stunden von black_adept gelöst 27 / 4026
IT0024 Qualifikationen CP-ID
vor 9 Stunden von ArjenR 1 / 72

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

Trennen Strasse und Hausnummer
vor 5 Stunden von msfox 18 / 10927
Dialog-Container mit Toolbar/Status
vor 8 Stunden von black_adept gelöst 27 / 4026
IT0024 Qualifikationen CP-ID
vor 9 Stunden von ArjenR 1 / 72

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 9 Stunden von ArjenR 1 / 72
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3007
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9598