Disclaimer Impressum Nutzungsbedingungen Firmenportal Expertenportal Jobportal
Suchhilfe Leerausgabe unterdrücken
Gehe zu Seite 1, 2  Weiter
Vorheriges Thema anzeigen | Nächstes Thema anzeigen
Mo 24 Aug 09 16:42 Titel: Suchhilfe Leerausgabe unterdrücken
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Hallo,


Wie kann man in der Einzelsuchhilfe leere Ausgaben unterdrücken.

Danke für alle Antworten!!!
Di 25 Aug 09 09:54 Titel:
Anmeldedatum: 26.06.2008 Beiträge: 131
Autor: Matthias.Selle Specialist
Du mußt einen Suchhilfe-Exit schreiben,
der etwa so aussieht:

Code:
  IF callcontrol-step <> 'DISP'.
    EXIT.
  ENDIF.
  LOOP AT record_tab.
    ls_v1 = record_tab.
    IF  ls_v1-XXX  IS INITIAL.
      DELETE record_tab.
      CONTINUE.
    ENDIF.
  ENDLOOP.


Viel Erfolg
Matthias Selle
Mi 26 Aug 09 15:08 Titel:
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Hallo,

die Daten sind im Zeitpunkt 'DISP' in record_tab drin.

Die Komponente von record_tab ist STRING.

Mit ls_v1-xxx meinst du wohl ls_v1-STRING.

Jedoch: die Suchhilfe ist ja zu Informationszwecken da, also werden in der Trefferliste neben dem Exparameter noch weitere Imparameter angegeben, die dort auch angezeigt werden.

Im record_tab stehen die Werte für alle Parameter der Ergebnisliste nebeneinander drin.

Ich will jedoch nur für die Exparameter, für die auch die Suchhilfe da ist, die Leerwerte nicht ausgeben. record_tab-STRING kann aber in einer Zeile den Exparameter leer haben, die anderen angezeigten Werte müssen jedoch nicht leer sein, womit die Abfrage gegen INITIAL fehlschlagen würde.

Gibt es keine andere Stelle, wo die Ergebnisliste gespeichert wird?
Mi 26 Aug 09 16:26 Titel:
Anmeldedatum: 26.06.2008 Beiträge: 131
Autor: Matthias.Selle Specialist
Nee nicht ganz.
ls_vl ist idealerweise entsprechend dem Struktur, den die Suchhilfe verwendet.
Beispielsweise hat die Suchhilfe DEBIE die Selektionsmethode M_DEBIE. Dahinter verbirgt sich der View M_DEBIS.
Dementsprechend ist
Code:
DATA: ls_vl TYPE m_debis.

Demnach kannst du mit ls_vl-xxx jedes Feld abfragen.

Gruß
Matthias Selle
Mi 26 Aug 09 19:26 Titel:
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Ich habe eine Suchhilfe ABCD, ohne Selektionsmethode.
Die Tabelle (n) bestimme ich im Exit ABCD_X.

Worauf muss ich nun ls_lv typisieren?

Ich kenne den view-namen nicht.
Do 27 Aug 09 10:04 Titel:
Anmeldedatum: 26.06.2008 Beiträge: 131
Autor: Matthias.Selle Specialist
Auf den Tabellennamen.

Gruß
Matthias Selle
Do 27 Aug 09 11:34 Titel:
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Die Tabelle im Suchhilfeexit wird jedoch dynamisch ermittelt. Es steht in einem Stringdatenobjekt lv_tabelle.

Wie kann ich dynamisch auf diese dynamisch erzeugte Tabelle typisieren?
Do 27 Aug 09 12:15 Titel:
Anmeldedatum: 26.06.2008 Beiträge: 131
Autor: Matthias.Selle Specialist
Ich unterstelle mal, dass die Zahl der möglichen Tabellen überschaubar ist.
Kannst du nicht erst einmal alle definieren, also ls_vl1, ls_vl2 ...
und später per case entscheiden, welche Du nimmst?
Do 27 Aug 09 12:56 Titel:
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Also jetzt darf ich mit den Zeitpunkten nicht durcheinander kommen, tue mir ja schon schwer dabei...

Code:
DATA:
lv_tab1 TYPE ztab1,
lv_tab2 TYPE ztab2,
lv_tab3 TYPE ztab3.
...



Code:

 IF CALLCONTROL-STEP = 'SELECT'.

    CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
      EXPORTING
        parameter               = 'YABC'
...

* ja nach yabc wird ztab1 oder ztab2 oder ztab3 in lv_tabelle gepackt.

    shlp-INTDESCR-SELMETHOD = lv_tabelle. * nun habe ich hier dynamisch die Selektionsmethode
    shlp-INTDESCR-SELMTYPE = 'T'.

...
ENDIF.

jetzt soll ich unterscheiden:

Code:

 IF CALLCONTROL-STEP = 'DISP'.

  if lv_tabname = 'ztab1''.
    LOOP AT record_tab.
      lv_tab1 = record_tab.
      IF  lv_tab1-xxx IS INITIAL.
        DELETE record_tab.
        CONTINUE.
      ENDIF.
    ENDLOOP.
  endif.
...

ENDIF.


Also entweder wird lv_tab1 nach record_tab typisiert, dann aber wird die Komponente lv-tab1-xxx die ich brauche nicht erkannt, oder lv_tab1 nach dem Tabellennamen typisiert, dann funktioniert die Geschichte sowieso nicht.

Wie soll ich das mit der Ergebnisliste ( record_tab ) nun verknüpfen?
Do 27 Aug 09 14:14 Titel:
Anmeldedatum: 26.06.2008 Beiträge: 131
Autor: Matthias.Selle Specialist
Geht es nicht so?

Code:
LOOP AT record_tab.
   case Parameter.
   when A
      lv_tab1 = record_tab.
      IF  lv_tab1-xxx IS INITIAL.
        DELETE record_tab.
        CONTINUE.
      ENDIF.
  when B.
      lv_tab2 = record_tab.
      IF  lv_tab2-xxx IS INITIAL.
        DELETE record_tab.
        CONTINUE.
      ENDIF.
  when ...

  endcase

ENDLOOP.


Parameter bestimmst du wie vor dem Select.
Do 27 Aug 09 14:20 Titel:
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Also so geht das sicherlich nicht. Smile

bei deinem code muss ja lv_tab1 auf record_tab typisiert sein.
Damit ist aber lv_tab1-xxx niemals ein Feld von der dynamisch ermittelten Tabelle lv_tabelle.
Do 27 Aug 09 14:38 Titel:
Anmeldedatum: 26.06.2008 Beiträge: 131
Autor: Matthias.Selle Specialist
Bei allen Such-Hilfe-Exits die ich kenne ist
Code:
 RECORD_TAB STRUCTURE  SEAHLPRES.
und damit ein String der Länge 1000.
Den weise ich meiner Struktur zu.

Mein ursprüngliches Coding (geänderte Variablennamen) funktioniert bei mir in der Praxis.

Zuletzt bearbeitet von Matthias.Selle am Fr 28 Aug 09 11:10, insgesamt einmal bearbeitet
Do 27 Aug 09 15:33 Titel:
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Also damit wir nicht aneinander vorbeireden:

Worauf muss lv_tab1..lv_tab3 typisiert werden?

lv_tabelle ist ein string. Dieser wird dynamisch gesetzt und shlp-INTDESCR-SELMETHOD übergeben, damit der Exit eine Selektionsmethode hat.
Do 27 Aug 09 16:36 Titel:
Anmeldedatum: 26.06.2008 Beiträge: 131
Autor: Matthias.Selle Specialist
Auf den Tabellentyp der Tabelle aus der Du liest.

Wenn Du aus einem View selektierst, den Viewnamen, wenn du aus einer Tabelle liest, den Tabellennamen.

Hier das komplette Coding eines Exits zu einer Kopie (sonst identisch, nur gibt es einen zusätzlichen Suchhilfe-Exit) zur Suchhilfe Debis:

Code:
 DATA: ls_line TYPE m_debis,
        ls_knvp type knvp.
  IF callcontrol-step <> 'DISP'.
    EXIT.
  ENDIF.
  LOOP AT record_tab.
     ls_line = record_tab.
      SELECT SINGLE * FROM knvp INTO ls_knvp
        WHERE kunnr = ls_line-kunnr
          AND vkorg = ls_line-vkorg
          AND vtweg = ls_line-vtweg
          AND spart = ls_line-spart
          AND parvw = 'AG'.
      IF sy-subrc > 0.
      DELETE record_tab.
      CONTINUE.
    ENDIF.
  ENDLOOP.

Der tut.
Die Suchhilfe hat intern den view M_DEBIS gelesen. Ist aber im Prinzip durch jede Tabelle ersetzbar.
Do 27 Aug 09 17:58 Titel:
Anmeldedatum: 26.08.2008 Beiträge: 59
Autor: abapurator ForumUser
Ja ok,
ich glaube ja dass es in allen anderen Fällen klappt.

In meinem Fall jedoch, wenn ich mache:
Code:
DATA: ls_line TYPE ztab1.

und dann
Code:
ls_line = record_tab.

kriege ich wie erwartet an dieser Stelle einen Fehler auf aufeinander nicht konvertierbar etc.

Was nun?
Beiträge der letzten Zeit anzeigen:   
Vorheriges Thema anzeigen | Nächstes Thema anzeigen
Neues Thema eröffnen   Neue Antwort erstellen Foren-Übersicht > ABAP® für Anfänger
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2. Alle Zeiten sind GMT + 2 Stunden

 
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht teilnehmen.
Sie können Dateien in diesem Forum nicht posten
Sie können Dateien in diesem Forum herunterladen
Stellenangebote
05.08. SAP Inhouse Logistik Berater (m/w) 04.08. SAP Consultant SRM (m/w) 04.08. SAP-Berater (w/m) strategisches IT-Management 04.08. SAP Berater für CRM im Bankenumfeld (m/w) 04.08. SAP Berater Beschaffung & Logistik (w/m) 04.08. SAP Berater MM (w/m) für Münchener Beratungshaus 04.08. SAP SRM Berater (m/w) für kleines, aber feines Beratungshaus 04.08. Consultant EC-CS /SAP SEM BCS (w/m) 04.08. Consultants, Senior Consultants/Projektleiter für SAP BW-BPS (SEM-BPS) (w/m) 04.08. ABAP- / Java-Entwickler (w/m) im SAP BI-Umfeld 04.08. (Junior) Consultants (w/m) für SAP Basis-Technologie-Beratung 04.08. Mitarbeiter für BI Application-Support (w/m) 04.08. (Senior-)Consultant (w/m) Business Objects / Cartesis 04.08. Inhouse Consultant SAP BI (w/m) für Traditionsunternehmen (Fertigung) am Standort München 04.08. Senior SAP PP Inhouse Consultant (m/w) 04.08. Dynamisches Unternehmen sucht Consultant SAP FI (CO) (m/w) inhouse 04.08. SAP CRM Professional Consultant (m/w) ab 1 Jahr Erfahrung 04.08. Consultant SAP SD/SCM (m/w) für Beratung in München 04.08. SAP-Entwickler (w/m) 04.08. SAP Logistik-Profi (w/m) 04.08. CRM-Entwickler (w/m) für etabliertes SAP-Lösungs- und Produkthaus 04.08. Senior Entwickler im SAP Logistik Umfeld (m/w) 04.08. SAP Anwendungsentwickler (m/w) Logistik gesucht 04.08. (Senior) Consultant (w/m) für SAP BI/BW mit wenig Reisen 04.08. SAP Berater BW (m/w) mit geringem Reiseaufkommen gesucht 04.08. SAP Applikationsentwickler (m/w) mit geringem Reiseaufkommen gesucht 04.08. Consultant (w/m) SAP R/3 Schwerpunkt FI/CO 04.08. SAP (Senior) Berater CS (m/w) 04.08. SAP NetWeaver Entwickler Java (m/w) 04.08. Senior Basis Administrator (m/w) für süddeutsche Barockstadt gesucht 04.08. SAP Consultant (m/w) - im Bereich Retail 27.07. SAP Entwickler Inhouse - Schwerpunkte FI/CO und RE-FX (m/w) 13.07. Inhouse SAP Logistik Berater (m/w) im Handelsumfeld 12.07. Senior Consultant SD/CS (w/m) für abwechslungsreiche Projekte mit Möglichkeit zur fachlichen Weiterentwicklung 12.07. Projekte mit Anspruch und Niveau - Genau Ihr Business als Senior Consultant SAP SRM (m/w) 12.07. Lassen Sie uns erfolgreich sein - Ihre Energie, unser Teamgeist - SAP Beratung im Mittelstand: SAP MM/WM Senior Professional (w/m) 30.06. SAP Berater/in Sales und Logistik 28.06. Senior Consultant SAP Logistik 23.06. Endlich daheim und mittendrin - ABAP-Anwendungsentwickler/in 22.06. Visionäre gesucht! SAP Berater/in (inhouse) MM, PP, QM für Innovationsführer 22.06. Inhouse Berater SAP Basis 22.06. SAP Entwickler - Schwerpunkt Logistik (m/w) 22.06. SAP Berater/in (intern) MM, Enterprise Buyer 22.06. Experte im Bereich CO gesucht! 22.06. ambitionierter SAP FI / CO Senior Consultant (m/w) 22.06. Manager/Teamleiter (m/w) FI/CO inhouse im Ruhrgebiet 21.06. SAP MM Inhouse Consultant 17.06. Lust auf mehr? TOP CRM/SD Inhouse-Berater/in 17.06. Licht am Ende des Tunnels - SAP CO (Inhouse-)Berater/in gesucht! 14.06. International tätiges SAP Beratungshaus sucht HCM Berater (m/w)
Statistik
Die Benutzer haben insgesamt 62541 Beiträge geschrieben.
Das Board hat 7207 registrierte Benutzer.
Der neueste Benutzer ist Firon.
Die 10 aktuellsten Beiträge

Powered by phpBB © 2001, 2005 phpBB Group