Da definiere ich nur ein weiteres o_col Objekt. Du könntest auch statt o_col-> gleich -r_column-> schreiben. In dem Loop setzt du dann die einzelnen Attribute zum Spalten Object. 🤗
Ich bin froh, dass es dir gefallen hat. Und danke für's Zusehen! 🤗 Bei der Übergabe muss es eine interne Tabelle sein, d.h. du musst die CDS View einfach in eine interne Tabelle lesen und diese übergeben. 🤗
Im Grunde gibt es ja davor Selektionsfelder und da schränkt man die Suche eigentlich schon ein. Das Ergebnis ist also das nachdem du suchst bzw nachdem du einschränkst. 🤗
Kann man die CL_SALV_TABLE einfach in einem Screen anzeigen lassen? Also nicht nur in einem Extra-Programm, sondern laufend in einem Programm mit Interface?
Hallo, vielen Dank für diese Beispiel und den strukturierten Aufbau. Besonders schön ist, dass du das Programm Stück für Stück erweiterst und genau zeigst, wo im Endergebnis (ALV) der Unterschied liegt. Aber..... ...es wird sehr anstrengend, wenn du einfach etwas hinschreibst, ohne zu erklären, wie man dort hinkommt. Es wäre besser, wenn du parallel mit SE24 zeigen würdest, warum du welche Parameter aufrufst oder auch nicht aufrufst. Beispiel: Ich habe schon ein Problem mit: o_salv->get_functions( )->SET_ALL( 'X' ). 1. Frage: Warum heißt es "Get functions" und nicht "Set functions"? Ich will doch Funktionen einsetzen und nicht nur wissen (lesen), welche Funktionen drin sind. 2. Frage: Wenn mir jemand sagt, ich müsste mit der Methode get_functions und SET_ALL etwas tun, würde ich das hier probieren: data: go_funclist1 TYPE ref to CL_SALV_FUNCTIONS_LIST. CALL METHOD o_salv->get_functions RECEIVING value = go_funclist1. go_funclist1->SET_ALL( 'X' ). und nicht o_salv->get_functions( )->SET_ALL( 'X' ). Gut, beides funktioniert. Aber warum kann ich die Methode SET_ALL mit "salv->get_functions( )->SET_ALL( 'X' )." aufrufen, obwohl das Objekt (TYPE ref to CL_SALV_FUNCTIONS_LIST) noch gar nicht vorhanden ist? Oder wird es automatisch irgendwie erzeugt? Wenn ja, könnte man das nicht erklären oder zumindest in einem Nebensatz erwähnen? Oder hast du das vielleicht schon in einem anderem Video gezeigt? Viele Grüße Thomas
Hi, vielen Dank für dein umfangreiches Feedback 🤗 Der Code in meinen Videos ist der, den ich auch selbst in der Praxis schreibe. Das ist jetzt auch kein Lehrbuchcode und ich vermische vielleicht auch noch "alte" Schreibweise mit "neuer" Schreibweise. Ich versuche kleine Codestücke in Videos zu packen die eine gewisse Funktionalität beinhalten die man 1:1 in ein anderes System übertragen und wiederverwenden kann. Bzgl. der Erklärung versuche ich immer ein Mittelmaß zu finden, nicht zu oberflächlich und nicht zu sehr in die Tiefe gehend. Zu Frage 1: Die Methode ist so definiert, ich finde sie aber schlüssig. Ich hole mir alle möglichen Fiunktionen und blende alle ein. Um eine Funktion zu setzen muss ich ja vorab wissen welche mir zur Verfügung stehen. Hier kann ich auch Funktionen ausblenden und nicht anzeigen. Zu Frage 2: Das nennt man "Method Chaining" ist eine neue Variante Code zu schreiben. Kürzer, aber oft auch schwieriger zu lesen oder zu debuggen. Ich verwende das z.B. auch nicht überall. Das hab ich bestimmt schon in früheren Videos erwähnt 😉 viele Spaß beim weiteren Testen und Probieren! und ich freue mich immer gerne auf Feedback! 😀🤗
@@CustAndCode Oh, vielen Dank für diese superschnelle Antwort. Auch Danke für die Begrifflichkeit "Method Chaining". Damit kann ich ja weitergoogeln. (Dass diese Schreibweise viel einfacher ist, ist klar, ich wäre nur niemals auf die Idee gekommen, dass das geht. Ich werde es jetzt auch so verwenden) Klar, man muss nicht immer vorne anfangen (wir hier nicht im Fernsehen) Viele Grüße Thomas
Du machst richtig gute Videos, Danke!
So ein Feedback freut mich! vielen Dank dafür! 🤗
SUPER VIELEN DANK
Sehr gerne! 😀🤗
hallo, was genau macht denn das r_column hinter dem field sympol in der Zeile 39? Mit der Loop hole ich mir doch schon jeweils die column?
Da definiere ich nur ein weiteres o_col Objekt. Du könntest auch statt o_col-> gleich -r_column-> schreiben. In dem Loop setzt du dann die einzelnen Attribute zum Spalten Object. 🤗
Du machst so tolle Videos, das hilft sehr weiter 👍👍 eine Frage hierzu. Funktioniert die Übergabe an den changing auch mit einem cds View?
Ich bin froh, dass es dir gefallen hat. Und danke für's Zusehen! 🤗 Bei der Übergabe muss es eine interne Tabelle sein, d.h. du musst die CDS View einfach in eine interne Tabelle lesen und diese übergeben. 🤗
Hi, gibt es einen weg eine suchfunktion ins alv einzubauen, damit man Einträge suchen kann und die auch automatisch markiert werden?
Im Grunde gibt es ja davor Selektionsfelder und da schränkt man die Suche eigentlich schon ein. Das Ergebnis ist also das nachdem du suchst bzw nachdem du einschränkst. 🤗
@@CustAndCode
vielen dank, und kann man auch Langtexte von der Tabelle STXH in einem ALV anzeigen lassen?
@@lars.k3353 So weit mir bekannt gibt es hier eine Limitierung von 255 Zeichen. 🤔
Kann man die CL_SALV_TABLE einfach in einem Screen anzeigen lassen? Also nicht nur in einem Extra-Programm, sondern laufend in einem Programm mit Interface?
Ich bin mir nicht ganz sicher ob ich die Anforderung verstehe. Was wäre so ein Anwendungsfall? 🤔
@@CustAndCode Hi, ich habe mittlerweile GRID / GRIDVIEWER gelernt und das als meine Lösung gefunden...
@@konigra6074 vielen Dank für die Info. Werde ich mir beizeiten mal ansehen! 🤗
Hallo,
vielen Dank für diese Beispiel und den strukturierten Aufbau. Besonders schön ist, dass du das Programm Stück für Stück erweiterst und genau zeigst, wo im Endergebnis (ALV) der Unterschied liegt. Aber.....
...es wird sehr anstrengend, wenn du einfach etwas hinschreibst, ohne zu erklären, wie man dort hinkommt. Es wäre besser, wenn du parallel mit SE24 zeigen würdest, warum du welche Parameter aufrufst oder auch nicht aufrufst.
Beispiel:
Ich habe schon ein Problem mit: o_salv->get_functions( )->SET_ALL( 'X' ).
1. Frage: Warum heißt es "Get functions" und nicht "Set functions"?
Ich will doch Funktionen einsetzen und nicht nur wissen (lesen), welche Funktionen drin sind.
2. Frage: Wenn mir jemand sagt, ich müsste mit der Methode get_functions und SET_ALL etwas tun, würde ich das hier probieren:
data: go_funclist1 TYPE ref to CL_SALV_FUNCTIONS_LIST.
CALL METHOD o_salv->get_functions
RECEIVING
value = go_funclist1.
go_funclist1->SET_ALL( 'X' ).
und nicht
o_salv->get_functions( )->SET_ALL( 'X' ).
Gut, beides funktioniert. Aber warum kann ich die Methode SET_ALL mit
"salv->get_functions( )->SET_ALL( 'X' )." aufrufen, obwohl das Objekt (TYPE ref to CL_SALV_FUNCTIONS_LIST) noch gar nicht vorhanden ist?
Oder wird es automatisch irgendwie erzeugt?
Wenn ja, könnte man das nicht erklären oder zumindest in einem Nebensatz erwähnen?
Oder hast du das vielleicht schon in einem anderem Video gezeigt?
Viele Grüße
Thomas
Hi,
vielen Dank für dein umfangreiches Feedback 🤗
Der Code in meinen Videos ist der, den ich auch selbst in der Praxis schreibe. Das ist jetzt auch kein Lehrbuchcode und ich vermische vielleicht auch noch "alte" Schreibweise mit "neuer" Schreibweise. Ich versuche kleine Codestücke in Videos zu packen die eine gewisse Funktionalität beinhalten die man 1:1 in ein anderes System übertragen und wiederverwenden kann. Bzgl. der Erklärung versuche ich immer ein Mittelmaß zu finden, nicht zu oberflächlich und nicht zu sehr in die Tiefe gehend.
Zu Frage 1: Die Methode ist so definiert, ich finde sie aber schlüssig. Ich hole mir alle möglichen Fiunktionen und blende alle ein. Um eine Funktion zu setzen muss ich ja vorab wissen welche mir zur Verfügung stehen. Hier kann ich auch Funktionen ausblenden und nicht anzeigen.
Zu Frage 2: Das nennt man "Method Chaining" ist eine neue Variante Code zu schreiben. Kürzer, aber oft auch schwieriger zu lesen oder zu debuggen. Ich verwende das z.B. auch nicht überall.
Das hab ich bestimmt schon in früheren Videos erwähnt 😉
viele Spaß beim weiteren Testen und Probieren! und ich freue mich immer gerne auf Feedback! 😀🤗
@@CustAndCode Oh, vielen Dank für diese superschnelle Antwort.
Auch Danke für die Begrifflichkeit "Method Chaining". Damit kann ich ja weitergoogeln. (Dass diese Schreibweise viel einfacher ist, ist klar, ich wäre nur niemals auf die Idee gekommen, dass das geht. Ich werde es jetzt auch so verwenden)
Klar, man muss nicht immer vorne anfangen (wir hier nicht im Fernsehen)
Viele Grüße
Thomas
@@thomasmairowski9101 sehr gerne! und viel Erfolg mit ABAP 😀🤗