Algorithmus

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

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

Algorithmus

Beitrag von Studi (ForumUser / 24 / 4 / 0 ) »
Halli hallo,

ich habe ein Problem:
Und zwar brauch ich einen Algorithmus, der aufgrund der Uhrzeit entscheidet in welchem Zeitraum die jeweilige Uhrzeit liegt. Das heißt ich habe z.V. die Uhrzeit 07:56:32 dies liegt zwischen 7 und 8. So läuft das von 0-23 Uhr. Der zeitraum wird nämlich dann im Feldkatalog des ALV in einer Tabellenspalte angezeigt und später aufsummiert so das man ein balkendiagramm ermitteln kann.
Mein bisheriger Code war so: (Er funktioniert auch, nur ist es leider kein kurzer Algorithmus und mein Betreuer meint ich soll doch ein Algorithmus erstellen. leider habe ich keine Ahnung wie das geht)


LOOP AT gt_log ASSIGNING <ls_log>.

IF <ls_log>-uhrzeit > '000000' AND <ls_log>-uhrzeit < '005959'.
<ls_log>-spitzenzeiten = '0-1'.

ELSEIF <ls_log>-uhrzeit > '010000' AND <ls_log>-uhrzeit < '015959'.
<ls_log>-spitzenzeiten = '1-2'.

ELSEIF <ls_log>-uhrzeit > '020000' AND <ls_log>-uhrzeit < '025959'.
<ls_log>-spitzenzeiten = '2-3'.

ELSEIF <ls_log>-uhrzeit > '030000' AND <ls_log>-uhrzeit < '035959'.
<ls_log>-spitzenzeiten = '3-4'.

ELSEIF <ls_log>-uhrzeit > '040000' AND <ls_log>-uhrzeit < '045959'.
<ls_log>-spitzenzeiten = '4-5'.

ELSEIF <ls_log>-uhrzeit > '050000' AND <ls_log>-uhrzeit < '055959'.
<ls_log>-spitzenzeiten = '5-6'.

ELSEIF <ls_log>-uhrzeit > '060000' AND <ls_log>-uhrzeit < '065959'.
<ls_log>-spitzenzeiten = '6-7'.

ELSEIF <ls_log>-uhrzeit > '070000' AND <ls_log>-uhrzeit < '075959'.
<ls_log>-spitzenzeiten = '7-8'.

ELSEIF <ls_log>-uhrzeit > '080000' AND <ls_log>-uhrzeit < '085959'.
<ls_log>-spitzenzeiten = '8-9'.

ELSEIF <ls_log>-uhrzeit > '090000' AND <ls_log>-uhrzeit < '095959'.
<ls_log>-spitzenzeiten = '9-10'.

ELSEIF <ls_log>-uhrzeit > '100000' AND <ls_log>-uhrzeit < '105959'.
<ls_log>-spitzenzeiten = '10-11'.

ELSEIF <ls_log>-uhrzeit > '110000' AND <ls_log>-uhrzeit < '115959'.
<ls_log>-spitzenzeiten = '11-12'.

ELSEIF <ls_log>-uhrzeit > '120000' AND <ls_log>-uhrzeit < '125959'.
<ls_log>-spitzenzeiten = '12-13'.

ELSEIF <ls_log>-uhrzeit > '130000' AND <ls_log>-uhrzeit < '135959'.
<ls_log>-spitzenzeiten = '13-14'.

ELSEIF <ls_log>-uhrzeit > '140000' AND <ls_log>-uhrzeit < '145959'.
<ls_log>-spitzenzeiten = '14-15'.

ELSEIF <ls_log>-uhrzeit > '150000' AND <ls_log>-uhrzeit < '155959'.
<ls_log>-spitzenzeiten = '15-16'.

ELSEIF <ls_log>-uhrzeit > '160000' AND <ls_log>-uhrzeit < '165959'.
<ls_log>-spitzenzeiten = '16-17'.

ELSEIF <ls_log>-uhrzeit > '170000' AND <ls_log>-uhrzeit < '175959'.
<ls_log>-spitzenzeiten = '17-18'.

ELSEIF <ls_log>-uhrzeit > '180000' AND <ls_log>-uhrzeit < '185959'.
<ls_log>-spitzenzeiten = '18-19'.

ELSEIF <ls_log>-uhrzeit > '190000' AND <ls_log>-uhrzeit < '195959'.
<ls_log>-spitzenzeiten = '19-20'.

ELSEIF <ls_log>-uhrzeit > '200000' AND <ls_log>-uhrzeit < '205959'.
<ls_log>-spitzenzeiten = '20-21'.

ELSEIF <ls_log>-uhrzeit > '210000' AND <ls_log>-uhrzeit < '215959'.
<ls_log>-spitzenzeiten = '21-22'.

ELSEIF <ls_log>-uhrzeit > '220000' AND <ls_log>-uhrzeit < '225959'.
<ls_log>-spitzenzeiten = '22-23'.

ELSEIF <ls_log>-uhrzeit > '230000' AND <ls_log>-uhrzeit < '235959'.
<ls_log>-spitzenzeiten = '23-24'.

ENDIF.
ENDLOOP.

DANKE im Voraus!
Lg Alisa

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


Re: Algorithmus

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Hallo Alisa,

das Stichwort hier ist "Teilfeldzugriff".
Schau dir folgendes Programm an und lerne daraus eine eigene Lösung für dein Problem zu erstellen.

Code: Alles auswählen.

REPORT.
DATA:offset TYPE i,
     length TYPE i.
DO 9 TIMES.
  offset = 2 *  ( sy-index - 1 ).
  length = sy-index.
  WRITE:/ sy-abcde+offset(length).
ENDDO.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Algorithmus

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
black_adept hat geschrieben:das Stichwort hier ist "Teilfeldzugriff".
Hab ich gestern schon geposted: http://www.abapforum.com/forum/viewtopi ... 297#p81297

Vielleicht sollten wir hier: http://www.abapforum.com/forum/viewtopi ... =1&t=21770 die Lösung auch noch mal Posten.

Dreimal hält besser!!!
Gruß Hendrik

Re: Algorithmus

Beitrag von Studi (ForumUser / 24 / 4 / 0 ) »
Oh entschuldigung, das habe ich gar nicht gesehen. Nur leider funktioniert der Code bei mir nicht. Da er in die Tabelle Spitzenzeiten nichts hineinschreibt.

Re: Algorithmus

Beitrag von Studi (ForumUser / 24 / 4 / 0 ) »
Hallo Stefan,

das ist leicht gesagt. Wenn man erst mit der Programmierung angefangen hat. Aber ja ich versuchs

Re: Algorithmus

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Hallo Alisa,

genau das ist die Intention.
Du bist Studentin und das Ganze hört sich nach einer Übungsaufgabe an. Und da heutzutage Informatikstudenten scheinbar erst im Studium mit dem Programmieren anfangen (was mich immer noch erstaunt) wiederhole ich gerne auch an dieser Stelle noch mal meine ganz persönliche Meinung zum Thema "wie lerne ich eine Programmiersprache"
Wenn du noch nie programmiert hast solltest du dir eins klar machen: Programmieren lernt man nie durch reines Lernen sondern (fast) ausschließlich durch programmieren. Das heißt, dass das was du in der Vorlesung/Übung mitbekommst dir nur die Grundlagen verschafft, die du selber vertiefen musst. Und hier reicht es eben bei weitem nicht aus nur die Scripte zu lesen, zu verstehen und dann hinreichend viele Dinge auswendig zu lernen wie in anderen Fächern. Du musst deine Finger in die blutigen Eingeweide des Codes tauchen und darin rumwühlen bis du jeden gängigen Befehl mir Vornamen kennst. Du weißt, dass du den Anfang gemacht hast wenn dich ein kleines Mädchen auf der Straße fragt ob du ihr eine Schleife zeigen kannst und du ihr dann die Zusätze des LOOP-Befehl runterbetest.
Und etwas spezieller für dich bzw. dieses Forum. Die meisten Leute hier im Forum sind ganz nett und auch willens zu helfen. Aber gerade bei offensichtlichen Übungsaufgaben/Hausaufgaben wird dir hoffentlich niemand eine fertige Lösung anbieten. Denn der Sinn einer Übung ist gerade das "Üben". Wenn du noch ganz grün hinter den Ohren bist wäre es nicht unwahrscheinlich wenn du noch nicht so genau weißt wo nach du bei einer speziellen Fragestellung suchen sollst - daher mein Hinweis zum Spezialthema "Teilfeldzugriff". Und hier die offizielle Info von SAP zu diesem Thema. http://help-legacy.sap.com/abapdocu_740 ... length.htm wobei man dieses auch direkt aus dem Editor ( nicht Eclipse!) über die Info-Funktion finden kann ( Stichwort "partial" in der Suchmaske führt dich zum Thema )
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Algorithmus

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
Studi hat geschrieben:Oh entschuldigung, das habe ich gar nicht gesehen. Nur leider funktioniert der Code bei mir nicht. Da er in die Tabelle Spitzenzeiten nichts hineinschreibt.
Aller Anfang ist schwer ;-) Eine Nachfrage zum Tabellenändern, wäre sicherlich beantwortet worden.
Ich hatte mich bei der "Lösung" auf die Teilzugriffe konzentriert und nicht auf das Ändern der ITAB. Denn das ist abhängig, von so manchem.
Du arbeitest z.B. in deiner Lösung mit Field-Symbols. Wenn du beide Lösung kombinierst hast du deinen Algorithmus.
Eben Diese Transferleistung beim Kombinierens ist die von Stefan als Lernen bezeichnet.

Du solltest dich aber auch mal mit MODIFY/INSERT/APPNED TABEL beschäftigen. Das sind elementare Grundbefehle für ITABs.
Gruß Hendrik

Re: Algorithmus

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Mir sei noch der Kommentar erlaubt, dass der eigentliche Sinn in dieser Aufgabe darin liegt, die Muster zu erkennen. Softwareentwicklung ist die Entwicklung von Problemlösungsstrategien. Die erste Lösung der Fragenden zeigt den Unterschied zwischen Programmierer und Softwareentwickler.

Mit dem ersten Lösungsangriff wäre man bei mir auch dann durchgefallen, würde er funktionieren.


Ralf

PS: Wenn ich mal ein Buch schreibe, heißt es "Ist das Code oder kann das weg?" :D
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Algorithmus

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Da muss ich Ralf dann doch widersprechen.
1.)
ralf.wenzel hat geschrieben:... dass der eigentliche Sinn in dieser Aufgabe darin liegt, die Muster zu erkennen
Was genau der Sinn der Aufgabe ist kannst du überhaupt nicht übersehen. Das könnte durchaus das Mustererkennen sein - es könnte aber auch sein, dass neue Befehle eingeführt/vertieft werden sollen. Oder sonst etwas. Der Kontext ist einfach nicht klar um irgendwelches Schlüsse ziehen zu können
2.
ralf.wenzel hat geschrieben:Die erste Lösung der Fragenden zeigt den Unterschied zwischen Programmierer und Softwareentwickler.
Da die Fragende gerade ABAP zu lernen scheint zeigt die Lösung lediglich den aktuellen Wissensstand. Den angesprochenen Unterschied kann man erst dann sehen, wenn die Sprache beherrscht würde und man sich dann trotz des Wissens für diese Lösung entschieden hätte.

3.)
ralf.wenzel hat geschrieben:Mit dem ersten Lösungsangriff wäre man bei mir auch dann durchgefallen, würde er funktionieren.
Auch hier gilt: Was ist die Intention der Aufgabe?
Das ist die typische Aufgabe um zu zeigen, dass man viele gleich ausssehende Zeilen evtl. analog behandeln kann um ein "besseres" Coding zu erzielen.
Und üblicherweise lässt man die Lernenden erst mal in die Falle laufen um dann nachher die Vorteile eines anderen Befehls/Vorgehens zu erläutern bzw. die Existenz des Befehls zu erklären. Genau genommen ist die Lösung von Alisa gar nicht so schlimm, wenn sie bisher andere Befehle nicht kennt. Immerhin hat sie mit ihren Möglichkeiten eine Lösung gefunden.
Das ist als wenn du einem 4.Klässler die Aufgabe stellst die Zahlen von 1-1000 zusammenzuaddieren. Wenn er das Summieren an sich verstanden hat wird er damit halt einige Zeit beschäftigt sein und - so er sich denn nicht verrechnet - irgendwann zum richtigen Ergebnis kommen. Übrigens eine recht übliche Aufgabe von Lehrern in früheren Zeiten.
Für einen Primaner oder gar einen Studenten der Mathematik ( oder Carl Friedrich Gauß schon als Kind ) hingegen wäre die Vorgehensweise unakzeptabel.
Du siehst - ob eine Aufgabe als "durchgefallen" oder "korrekt gelöst" gilt hängt von den äußeren Umständen ab wie u.a. dem Wissensstand des Ausführenden ( bei Übungsaufgaben ) oder wofür die Aufgabe benötigt wird ( bei einem Raketenstart wäre eine falsche Lösung wahrscheinlich eher als falsch zu bewerten als bei der Berechnung der Zuckermenge für den Geburtstagskuchen deiner Mutter )
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Algorithmus

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
black_adept hat geschrieben:Da muss ich Ralf dann doch widersprechen.
War klar LOL
black_adept hat geschrieben:1.)
ralf.wenzel hat geschrieben:... dass der eigentliche Sinn in dieser Aufgabe darin liegt, die Muster zu erkennen
Was genau der Sinn der Aufgabe ist kannst du überhaupt nicht übersehen. Das könnte durchaus das Mustererkennen sein - es könnte aber auch sein, dass neue Befehle eingeführt/vertieft werden sollen. Oder sonst etwas. Der Kontext ist einfach nicht klar um irgendwelches Schlüsse ziehen zu können
Naja, man fragt doch heute kein Wissen mehr ab. Wenn doch, dann ist die Aufgabe an sich Mist. Das Abfragen von Auswendig-gelerntem führt zu nix, das braucht auch in der Praxis kein Mensch. Da draußen werden Problemlösungsstrategien gebraucht.
black_adept hat geschrieben:2.
ralf.wenzel hat geschrieben:Die erste Lösung der Fragenden zeigt den Unterschied zwischen Programmierer und Softwareentwickler.
Da die Fragende gerade ABAP zu lernen scheint zeigt die Lösung lediglich den aktuellen Wissensstand. Den angesprochenen Unterschied kann man erst dann sehen, wenn die Sprache beherrscht würde und man sich dann trotz des Wissens für diese Lösung entschieden hätte.
Ich wusste nicht, dass einen Studiengang "ABAP" gibt. Ich dachte immer, man studiert z. B. Wirtschaftsinformatik. Da sollte man keine Programmiersprache lernen, sondern wie Software funktioniert. Sonst taugt die Lehreinrichtung nix. ABAP kann da nur ein Beispiel sein, wenn auch ein prominentes.
black_adept hat geschrieben:3.)
ralf.wenzel hat geschrieben:Mit dem ersten Lösungsangriff wäre man bei mir auch dann durchgefallen, würde er funktionieren.
Auch hier gilt: Was ist die Intention der Aufgabe?
Das ist die typische Aufgabe um zu zeigen, dass man viele gleich ausssehende Zeilen evtl. analog behandeln kann um ein "besseres" Coding zu erzielen.
Und üblicherweise lässt man die Lernenden erst mal in die Falle laufen um dann nachher die Vorteile eines anderen Befehls/Vorgehens zu erläutern bzw. die Existenz des Befehls zu erklären. Genau genommen ist die Lösung von Alisa gar nicht so schlimm, wenn sie bisher andere Befehle nicht kennt. Immerhin hat sie mit ihren Möglichkeiten eine Lösung gefunden.
Das ist als wenn du einem 4.Klässler die Aufgabe stellst die Zahlen von 1-1000 zusammenzuaddieren. Wenn er das Summieren an sich verstanden hat wird er damit halt einige Zeit beschäftigt sein und - so er sich denn nicht verrechnet - irgendwann zum richtigen Ergebnis kommen. Übrigens eine recht übliche Aufgabe von Lehrern in früheren Zeiten.
Für einen Primaner oder gar einen Studenten der Mathematik ( oder Carl Friedrich Gauß schon als Kind ) hingegen wäre die Vorgehensweise unakzeptabel.
Für angemessene Ansprüche an angehende Akademiker auch. Jeder Intelligenztest und jede mir bekannte Prüfung(*) zielt darauf ab, Muster zu erkennen. Vor einigen Jahren habe ich mit einem Jugendlichen eine Hauptschulprüfung durchgesprochen, das fing an mit einer Reihe von Multiple-Choice-Fragen. Ich hab ihm gesagt: "Wenn du da anfängst zu rechnen, hast du schon verloren, weil dir die Zeit hintenraus fehlt - alle diese Multiple-Choice-Aufgaben lassen sich mit ein paar logischen Schlüssen binnen Sekunden lösen".


Ralf

(*) Ausnahme war die SAP-Zertifizierung. Da wurde ich allen Ernstes gefragt, wie lang der Name einer Variablen sein darf. Ich hab blöd geguckt und hätte gern "das ist mir sch**ßegal, wenn er zu lang ist, dann meckert der Syntaxcheck und dann kürze ich ihn" geantwortet, aber ich musste eine Zahl eingeben. Ich habe 30 getippt und das war sogar richtig. Dieses nutzlose Wissen habe ich dann NIE mehr vergessen :D Ich hatte eigentlich gefragt, dass sie Fragen stellen, bei denen man unter Beweis stellt, dass man Probleme analysieren und lösen kann - aber das war der SAP wohl sch**ßegal. Wie das heute ist, weiß ich nicht.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Algorithmus

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ralf.wenzel hat geschrieben:...Naja, man fragt doch heute kein Wissen mehr ab. Wenn doch, dann ist die Aufgabe an sich Mist. Das Abfragen von Auswendig-gelerntem führt zu nix, das braucht auch in der Praxis kein Mensch. Da draußen werden Problemlösungsstrategien gebraucht.
Ralf, woher beziehst du denn solche Informationen?
Hast du dich in den letzten Jahren mal mit einem Schüler, Azubi für Anwendungsentwicklung ,Studentin eines MINT-Studiengangs ( oder Medizin, Jura o.ä. ) oder einem Lehrer oder Dozenten darüber unterhalten, was gelehrt wird und was bzw. wie geprüft wird und warum?
Falls ja scheint es in HH deutlich anders abzulaufen als in H.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Algorithmus

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ja, have ich. Das ändert aber nichts daran, dass in H wirklich so einiges anders abläuft als im Rest der Welt ;)


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1051
Views
Algorithmus
von Studi » 22.02.2017 10:07 • Verfasst in ABAP® für Anfänger
8
Antw.
4531
Views
Algorithmus gesucht!!!
von cali » 19.09.2008 09:36 • Verfasst in ABAP® Core
0
Antw.
1528
Views
RSA-Algorithmus im ABAP-Code
von stefan76 » 05.10.2006 17:31 • Verfasst in ABAP® Core
2
Antw.
1670
Views
Eigene Funktion (Luhn-Algorithmus) schreiben
von roman1983 » 21.08.2008 09:05 • 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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140