ALV und Protokoll

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
16 Beiträge • Seite 1 von 2 (current) Nächste
16 Beiträge Seite 1 von 2 (current) Nächste

ALV und Protokoll

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Hallo,

Ich bin Anfänger bei [b][i]ALV[/i][/b]. Ich mochte eine Paar Sachen in meinem Programm als normale Listausgabe mit 'Write' ausgeben und ein Paar andere Sachen in ein ALV Liste. Das klappt alles, aber ich bekomme zu Erst die ALV Liste angezeigt dann bei drucken von 'BACK' die normale Ausgabe. Wenn ich das ganze im Hintergrund laufen lassen, bekomme ich nur den Inhalt von mein ALv angezeigt. Kann mir einer an dieser Stelle weiterhelfen.
vielen Dank.
Sorry für die Schreibfehler ich bin Fanzösin.
Gruß.
Anita.
:?:
Anita
ABAP-entwicklerin

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
HI anita!
Sorry für die Schreibfehler ich bin Fanzösin.
Bis auf ein Schreibfehler war es doch perfekt!
Hab den Fehler mal markiert
angezeigt dann bei drücken von 'BACK' die normale Ausgabe
Jetzt aber zu deinem Problem.
Wenn du den ALV ausgibst, wird dieser Automatisch auf ein sozusagen neues Blatt geschrieben und ist deshalb nicht auf dem Selben zu sehen wie das mit "Write".
Und wenn es im Hintergrund läuft wirkt das wie eine Überschreibung.

Schau dir mal aber die Doku zum ALV an, da wirst dann was finden wie TOP-OF-LIST oder so ähnlich, mit dem du dem ALV mitgeben kannst, was über ihm stehen soll.


Sorry für die Schreibfehler ich bin Schwabe und kann kein Hochdeutsch. ;)

Beitrag von black_adept (Top Expert / 4066 / 120 / 934 ) »
Hi Anita,

wie DeathGuadian schon erwähnt hat ist "TOP_OF_LIST" das Stichwort. Und das ist in der Doku zum Übergabeparameter "IT_EVENTS" zu finden.

Da ein paar Zeilen Code manchmal mehr sagen als 136 Worte, kommte hier ein Minimalprogramm, welches sowas macht, was du möchtest.
Du müsstest allerdings deine "normale" Ausgabe in eine Routine kapseln und in die "ALV_TOP_OF_LIST"-Routine verlagern.

Code: Alles auswählen.

REPORT.
TYPE-POOLS: SLIS.
DATA: IT_EVENTS TYPE SLIS_T_EVENT,
      WA_EVENT  LIKE LINE OF IT_EVENTS,
      REPID     TYPE SYREPID.

DATA: GT_DATEN TYPE STANDARD TABLE OF D010SINF.


END-OF-SELECTION.
  SELECT * UP TO 100 ROWS
      INTO TABLE GT_DATEN
      FROM D010SINF
      WHERE PROG LIKE 'Z%'.


* Eventtabelle für TOP-OF-LIST füllen
  REPID = SY-REPID.
  WA_EVENT-NAME = 'TOP_OF_LIST'.
  WA_EVENT-FORM = 'ALV_TOP_OF_LIST'.
  APPEND WA_EVENT TO IT_EVENTS.

  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
            I_CALLBACK_PROGRAM = REPID
            I_STRUCTURE_NAME   = 'D010SINF'
            IT_EVENTS          = IT_EVENTS
       TABLES
            T_OUTTAB           = GT_DATEN
       EXCEPTIONS
            PROGRAM_ERROR      = 1
            OTHERS             = 2.



*---------------------------------------------------------------------*
*       FORM ALV_TOP_OF_LIST                                          *
*---------------------------------------------------------------------*
*    Zeilen oberhalb der ALV-Liste
*---------------------------------------------------------------------*
FORM ALV_TOP_OF_LIST.
* Hier die Ausgabe der Zeilen über der "normalen" ALV-Ausgabe
  DO 10 TIMES.
    WRITE:/ 'Hallo',SY-INDEX.
  ENDDO.
ENDFORM.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

ALV und Protokoll

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Hallo Ihr beiden,

vielen Dank für den TIP. Ich wurde es im Laufe des Tages ausprobieren. 8)

Gruß.
Anita.
Anita
ABAP-entwicklerin

ALv und Protokoll

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Hallo,

ich habe eine eingene Interne Tabelle definiert die ich zu dem FB 'REUSE_ALV_GRID_DISPLAY' mitgeben.
Ich denke wenn ich die IT_events Tabelle an dieser Stelle mitgeben sollte es auch funktionieren.
Ein Problem besteht aber noch :
kannst du mir mehr Infos über diesen Select * up ... geben.

Wenn du Lust und Laune hast, kannst du dir mal das beigefügte Coding anschauen.

Danke.

gruß.
Anita
Anita
ABAP-entwicklerin

Re: ALv und Protokoll

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
anita hat geschrieben: kannst du mir mehr Infos über diesen Select * up ... geben.
HI Anita,

Das "UP TO xyz ROWS" sagt nur, das der Select maximal xyz Zeilen selektieren soll.
d.h. wenn du eigentlich 300 Datensätze hättest, die zum Selektionskriterium passen würde, selektiert er durch UP TO 100 ROWS aber nur die ersten 100 die er findet.

ALV_REUSE_GRID_DISPLAY and EVENTS

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Hallo,

:cry: eS FUNKTIONIERT IMMER NOCH NICHT !!!



Eventtabelle für TOP-OF-LIST füllen
REPID = SY-REPID.
clear wa_event.
WA_EVENT-NAME = 'TOP_OF_LIST'.
WA_EVENT-FORM = 'ALV_TOP_OF_LIST'.
APPEND WA_EVENT TO IT_EVENTS.


alv_layout-colwidth_optimize = 'X'.




* ALV Aufrufen
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
i_callback_program = 'ZHR_SE51_PH3_NETTO'
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
i_structure_name = 'GT_OUTTAB'
* I_BACKGROUND_ID = ' '
i_grid_title = sy-title
* I_GRID_SETTINGS =
is_layout = alv_layout
it_fieldcat = alv_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'A'
* IS_VARIANT =
IT_EVENTS = it_events
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IT_ALV_GRAPHICS =
* IT_ADD_FIELDCAT =
* IT_HYPERLINK =
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IT_EXCEPT_QINFO =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_outtab
EXCEPTIONS
program_error = 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.

ENDFORM. " ALV_Ausgabe
*---------------------------------------------------------------------*
* FORM ALV_TOP_OF_LIST *
*---------------------------------------------------------------------*
* Zeilen oberhalb der ALV-Liste
*---------------------------------------------------------------------*
FORM ALV_TOP_OF_LIST.
* Hier die Ausgabe der Zeilen über der "normalen" ALV-Ausgabe
DO 10 TIMES.
WRITE:/ 'Hallo',SY-INDEX.
ENDDO.
ENDFORM.
Anita
ABAP-entwicklerin

ALV und TOP_OF_LISTE

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Hallo,

Wenn ich die Form Rourtine beim EVENT 'EN_OF_LIST' mitgeben. Wird die Form Routine aufgerufen. Unter mein ALV erscheint ein Fenster aber es ist leer. :o WEnn ich das ganze bei 'TOP_OF_LIST' mitgeben passiert überhaupt nichts.
Wie bekomme ich das ganze hin damit ich ein Text bei TOP_OF_LIST oder auch END_OF_LIST angezeigt bekomme ?

Kann mir an dieser Stelle einer weiterhelfen :?:

vielen Dank !!!
Anita
ABAP-entwicklerin

Beitrag von black_adept (Top Expert / 4066 / 120 / 934 ) »
Hallo Anita,

poste doch mal die Stellen wo du
a) die Eventtabelle füllst
und
b) die Deklaration und Coding der Routinen, die für die Ausgabe am Anfang und/oder Ende zuständig sein sollen.

Ohne das wirds schwer was zu deinem Problem zu sagem.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

ALv und TOP_OF_LISTE

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Hi Stefan,

Ihr das Coding. Danke für deine Interesse an meinem Problem. Schau dir mal die beigefügte Dateien an.

Gruß Anita. :D
Anita
ABAP-entwicklerin

ALV und TOP_OF_LISTE

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Sorry habe die zweite Datei vergessen !!

gruß Anita
Anita
ABAP-entwicklerin

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
hallo anita,

könnte daran liegen:

Code: Alles auswählen.

* ALV Aufrufen
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*       I_INTERFACE_CHECK                 = ' '
*       I_BYPASSING_BUFFER                =
*       I_BUFFER_ACTIVE                   = ' '
      i_callback_program                = 'ZHR_SE51_PH3_NETTO'
dein report heißt aber: zhr_se51_ph3_brutto

am besten, du schreibst dort gar keinen namen rein, sondern du übergibst die sy-repid mittels einer hilfsvariable (die du ohnehin schon in deinem report befüllst)

Code: Alles auswählen.

* Eventtabelle für TOP-OF-LIST füllen
  REPID = SY-REPID.
  clear wa_event.
als gleich repid verwenden

Code: Alles auswählen.

* ALV Aufrufen
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*       I_INTERFACE_CHECK                 = ' '
*       I_BYPASSING_BUFFER                =
*       I_BUFFER_ACTIVE                   = ' '
      i_callback_program                = repid

mfg
richard

ALV und TOP_OF_LISTE

Beitrag von anita (ForumUser / 16 / 0 / 0 ) »
Hi,

Nein es liegt nicht daran ich habe in meine Aktuelle Coding schon den richtige Name mitgegeben. Aber trozdem danke.

gruß Anita.
Anita
ABAP-entwicklerin

Beitrag von black_adept (Top Expert / 4066 / 120 / 934 ) »
Hallo Anita,

nachdem mich RiffRaff überholt hatte ( ich wollte eigentlich genau dasselbe schreiben ) aber es das ja nicht sein kann habe ich jetzt den Fehler gefunden.

Und ich muss sagen - du hast uns ganz schön aufs Glatteis geführt.


Der Grund ist der folgende.
In deinem 1. Posting verwendest du den Baustein "REUSE_ALV_LIST_DISPLAY" - für diesen war auch mein Beispielcoding gedacht.

Aber inzwischen bist du auf den Baustein "REUSE_ALV_GRID_DISPLAY" umgestiegen - für diesen hingegen ist eine völlig andere Vorgehensweise vonnöten. Wenn du wieder den "...LIST..." verwendest, müsste alles klappen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
hallo,

wollte eben das selbe wie black_adept schreiben.
alv_list und alv_grid ???

so auf die schnelle, würd ich mal behaupten, daß der alv_grid das ereignis TOP_OF_LIST gar nicht verarbeitet ?!?!?!?

der grid kennt aber sicher TOP_OF_PAGE, da bekommt mann aber mit write nichts hinein. Da gibt's nen eigenen FuBau zum befüllen

mfg
richard

Vergleichbare Themen

0
Antw.
826
Views
API Protokoll
von tech » 02.07.2007 09:23 • Verfasst in ABAP® für Anfänger
0
Antw.
1061
Views
Protokoll des ALV-Grids
von MNordlicht » 13.02.2006 12:17 • Verfasst in ABAP® Core
0
Antw.
1310
Views
LSMW Protokoll
von herr mb » 18.01.2011 11:45 • Verfasst in ABAP® für Anfänger
3
Antw.
1737
Views
Protokoll zu Reportausgabe hinzufügen
von Dyrdek » 20.12.2016 09:27 • Verfasst in ABAP® Core
2
Antw.
1243
Views
RPCEDTx0 Unterdrückung Protokoll
von selina27 » 05.08.2011 08:50 • Verfasst in Human Resources

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.