Report-Erweiterung (längeres Coding im Beitrag enthalten)

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

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

Report-Erweiterung (längeres Coding im Beitrag enthalten)

Beitrag von Alexi ( / / 0 / 3 ) »
Hallo,

ich bin gerade dabei den bestehenden Report eines Ex-Kollegen zu überarbeiten bzw. zu ergänzen und stoße dabei auf Probleme

Zum einen möchte ich eine bestehende ALV-Strukter erweitern (ums Lieferdatum). In der Tabelle i_bgmkobj stehen die Daten auch richtig drin, aber in der Ausgabeliste wird immer das Datum des letzten Eintrags angezeigt (bei allen Datensätzen)

Desweiteren wird mir der englische Materialkurztext nicht angezeigt bzw. wenn der bei einem Material nicht gepflegt ist, bleibt der Kurztext des vorherigen Materials stehen

Und zum dritten möchte ich mir die Reparaturdaten anzeigen lassen, wie sie unter IW69 zu finden sind. Kann man eine ALV-Strukter um eine dritte Zeile erweitern? Das wäre mir das liebste. Alternativ mit einem Doppelklick und POP-UP Fenster .. allerdings soll nicht direkt IW69 aufgerufen werden, da man hier wieder zu anderen Inhalten springen kann (mit Doppelklick), was nicht gewünscht ist

So, nun bin ich leider aboluter Anfänger was ABAP anbelangt und hab keinen großartigen Schimmer, wo meine Probleme herkommen bzw. wie ich die Sache mit den Reparaturdaten lösen kann/soll

Kann mir vielleicht jemand Tipps geben und sich mal den Report ansehen und schauen, ob er (sie) mir evtl. weiterhelfen kann?

Tausend Dank, Alexi

(Beitrag wurde auf Wunsch des Authors editiert)

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


Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hallo.

1) ich würde versuchen ohne Feldkatalog zu arbeiten
-> statt dessen mit I_STRUCTURE_NAME_HEADER = 'Z003'
I_STRUCTURE_NAME_ITEM = 'Z004'

2) hier fehlt bestimmt ein clear , deshalb bleibt der Text des letzt. Satzes stehen, vermutlich ist der Mat-text nicht immer gefüllt .


Gruß Andreas

Beitrag von Gast ( / / 0 / 3 ) »
hi,

danke für deine Antwort.

zu 1) .. welchen Vorteil würde das denn bringen bzw. welchen Nachteil bringt die jetzige Konstelation?

zu 2) .. der Mat-Text ist nicht immer gefüllt, richtig (zumindest nicht in allen sprachen). Aber egal wo ich ein entsprechendes clear setze, mein Problem bleibt :-(

Gruß, Alexi

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hi Alexi,

1) hat den Vorteil,daß du deinen Quelltext bei Erweiterung der DB-Tabellen nicht ändern mußt.
Der user kann in seinem layout selbst entscheiden, ob er neue Felder hinzufügt.
(-> alles was mit layout zu tun hat, würde ich an den user delegieren, dafür gibt es ja schließlich den alv, daß uns Entwicklern Auswahl,Sortierungen, etc. abgenommen werden .

2) versuchs mal so :

*ITABs lesen
LOOP AT i_equi.

Clear header.

READ TABLE i_makt WITH KEY matnr = i_equi-matnr
BINARY SEARCH.
if sy-subrc = 0.

MOVE: i_equi-matnr TO header-matnr,
i_equi-equnr TO header-equnr,
i_makt-maktx TO header-maktx,
i_bgmkobj-gwldt TO header-gwldt.
APPEND header.
else.
*error handling
endif.

ENDLOOP.


Andreas

Beitrag von Alexi ( / / 0 / 3 ) »
Hallo,
Asaph hat geschrieben:Hi Alexi,

1) hat den Vorteil,daß du deinen Quelltext bei Erweiterung der DB-Tabellen nicht ändern mußt.
Der user kann in seinem layout selbst entscheiden, ob er neue Felder hinzufügt.
(-> alles was mit layout zu tun hat, würde ich an den user delegieren, dafür gibt es ja schließlich den alv, daß uns Entwicklern Auswahl,Sortierungen, etc. abgenommen werden .
Prinzipiell ist das natürlich nicht schlecht. In diesem Fall sollen aber die User nichts ändern können. Aber ich werd das auf jeden Fall mal im Hinterkopf behalten, falls entsprechende Wünsche kommen, danke!
Asaph hat geschrieben: 2) versuchs mal so :

*ITABs lesen
LOOP AT i_equi.

Clear header.

READ TABLE i_makt WITH KEY matnr = i_equi-matnr
BINARY SEARCH.
if sy-subrc = 0.

MOVE: i_equi-matnr TO header-matnr,
i_equi-equnr TO header-equnr,
i_makt-maktx TO header-maktx,
i_bgmkobj-gwldt TO header-gwldt.
APPEND header.
else.
*error handling
endif.

ENDLOOP.
Ich bin mir nicht sicher, ob ich das schon probiert hatte, aber ich hab's grad nochmal getan .. prinzipiell gut, allerdings gibt es jetzt nur noch einen Datensatz, der mir angezeigt wird :-))

Die anderen sollen mir auch angezeigt werden, nur soll halt der Mat-Kurz-Text nicht gefüllt sein

Ein clear header-maktx bringt hier leider das selbe Ergebnis wie ein clear header

Gruß, Alexi

Beitrag von Desaster ( / / 0 / 3 ) »
Hi,
der Clear der i_makt muss hier erfolgen.
Gruss Desaster


Code: Alles auswählen.

*&---------------------------------------------------------------------* 
*&      Form  FILL_HEADER 
*&---------------------------------------------------------------------* 
FORM fill_header. 

  CHECK NOT i_equi[] IS INITIAL. 

* Initialisieren ----------------------------------------------------- * 
  CLEAR:   header. 

* Anzahl Sätze einfügen 
  header-matnr = 'Anzahl Sätze'. 
  header-equnr = g_count. 
  APPEND header. 

* HEADER-Tabelle füllen ---------------------------------------------- * 
  LOOP AT i_equi. 

* ITABs lesen 

    Clear i_makt.   

    READ TABLE i_makt WITH KEY matnr = i_equi-matnr 
                                BINARY SEARCH. 
    MOVE: i_equi-matnr      TO header-matnr, 
          i_equi-equnr      TO header-equnr, 
          i_makt-maktx      TO header-maktx, 
          i_bgmkobj-gwldt   TO header-gwldt. 
    APPEND header. 

  ENDLOOP. 

ENDFORM.                    " FILL_HEADER 

Beitrag von Alexi ( / / 0 / 3 ) »
hi,
Desaster hat geschrieben:Hi,
der Clear der i_makt muss hier erfolgen.
Gruss Desaster
*patsch*, stimmt .. jetzt wo ich das sehe, ergibt das auch einen Sinn

Kannst du mir vielleicht auch noch bei meinem Problem mit dem Lieferdatum helfen?

Tausend Dank, Alexi

Beitrag von Alexi ( / / 0 / 3 ) »
Hi nochmal,

ich hab mir eine kleine Änderung überlegt, krieg das aber auch nicht so recht hin (*seufz* :roll: )

Und zwar möchte ich hinter dem Lieferdatum einen Button bzw. eine kleine Grafik haben, mit der die Transaktion IW69 gestartet und die Equi-Nr mitgegeben wird

Kann mir hier vielleicht nochmal jemand helfend unter die Arme greifen?

Schmeiß auch 'ne Runde .. Bild

Gruß, Alexi

Beitrag von Alexi ( / / 0 / 3 ) »
nochmal hoch damit ..

danke!

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2487
Views
ABAP-Coding CO-Report
von sap-junior » 24.09.2015 10:01 • Verfasst in ABAP® Core
5
Antw.
3619
Views
Requests des Infocubes enthalten keine Selektionsbedingungen
von kaim77 » 04.06.2012 14:51 • Verfasst in Sonstige Module
2
Antw.
1448
Views
Alle Tabellensätze finden die Teil eines Feldes enthalten
von actihippo » 29.10.2007 14:37 • Verfasst in ABAP® für Anfänger
2
Antw.
2946
Views
SELECT-OPTION muss mindestens einen Wert enthalten
von thr74 » 11.01.2011 17:23 • Verfasst in ABAP® für Anfänger
6
Antw.
5833
Views
Web-Dynpro: längeres Dynpro nicht sichtbar
von erzoo24 » 08.03.2017 11:33 • Verfasst in Web-Dynpro, BSP + BHTML

Ü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

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.