Änderung durch Moderator:
Auf Anfrage des Benutzers wurde der Inhalt seines Beitrags gelöscht. In dem Zusammenhang möchten wir daran erinnern, dass keiner hier in diesem Forum Inhalte postet, die gegen die Richtlinien seines Unternehmens verstoßen.
LOOP AT gt_daten INTO gs_daten.
black_adept hat geschrieben:kurz vor der ( nicht existenten ) Ausgabe.
SORT gt_daten BY gbdat ASCENDING.
WRITE: / p0002-vorna,
p0002-nachn,
p0002-gbdat COLOR 2.
IF ( g_alter <= 20 ).
WRITE g_alter COLOR 1.
ELSEIF ( g_alter <= 30 ).
WRITE g_alter COLOR 2.
ELSEIF ( g_alter <= 40 ).
WRITE g_alter COLOR 3.
ELSEIF ( g_alter <= 50 ).
WRITE g_alter COLOR 4.
ELSEIF ( g_alter <= 60 ).
WRITE g_alter COLOR 5.
ELSEIF ( g_alter <= 70 ).
WRITE g_alter COLOR 6.
ELSEIF ( g_alter <= 80 ).
WRITE g_alter COLOR 7.
ENDIF.
FORM get_pernr.
SORT p0002 BY GBDAT. "<-- Zuerst mal die Daten sortieren.
LOOP AT p0002. "<-- Die sortierte Tabelle für die Ausgabe verwenden
READ TABLE p0001
WITH KEY pernr = p0001-pernr. "< -- Hier erfolgt die "1:1 Verknüpfung mit der ersten Tabelle
CHECK sy-subrc EQ 0 AND p0001-persg = '1' AND p0001-persk ='01'. "Es werden nur Daten von Personen angezeigt,
"die i.d Mitarbeitergruppe "1" und -kreis "01" sind.
* WRITE: / p0001-persg,
* p0001-persk.
*Berechnen des Alters
CALL FUNCTION 'COMPUTE_YEARS_BETWEEN_DATES'
EXPORTING
first_date = p0002-gbdat
"MODIFY_INTERVAL = ' '
second_date = sy-datum
IMPORTING
years_between_dates = g_alter
EXCEPTIONS
sequence_of_dates_not_valid = 1
OTHERS = 2.
WRITE: / p0002-vorna,
p0002-nachn,
p0002-gbdat COLOR 2.
IF ( g_alter <= 20 ).
WRITE g_alter COLOR 1.
ELSEIF ( g_alter <= 30 ).
WRITE g_alter COLOR 2.
ELSEIF ( g_alter <= 40 ).
WRITE g_alter COLOR 3.
ELSEIF ( g_alter <= 50 ).
WRITE g_alter COLOR 4.
ELSEIF ( g_alter <= 60 ).
WRITE g_alter COLOR 5.
ELSEIF ( g_alter <= 70 ).
WRITE g_alter COLOR 6.
ELSEIF ( g_alter <= 80 ).
WRITE g_alter COLOR 7.
ENDIF.
ENDLOOP.
ENDFORM.
data(tmp) = sy-datum+0(6) - p0002-gbdat+0(6).
g_alter = tmp+0(2).
data(tmp) = XXX " das ist eine Inline Deklaration. Hier erstellst du eine Variable die den Typ von ( in dem Beispiel XXX ) annimmt, bzw. bei der Berechnung dann I ( Integer )
" anstatt der Inline deklaration kannst du auch folgendes schreiben:
data tmp type i length 6.
tmp = sy-datum+0(6) - p0002-gbdat+0(6).
" finde persönlich aber die inline schöner und ( meistens ) einfacher. - gibt aber außnahmen
sy-datum+0(6) " das +0(6) ist eine sogenannte Offset angabe. Heißt du nimmst nur einen Teil der Variable, in dem Fall fange an der 0ten Stelle an und nimm dann die nächsten 6 Zeichen.
" Ein Datum ist meistens 8 Stellen lang YYYYMMDD - heißt bei dem offset +0(6) wird YYYYMM genommen
" --> die Rechnung wäre dann so:
tmp = 201901 - 199710. " --> 2191
" wenn du dann nur die ersten 2 Stellen ( per offset +0(2) ) von dem Ergebnis ( also tmp ) nimmst, hast du das alter in Jahren ( in dem Beispiel also 21 )
SaskuAc hat geschrieben:Falls es aber das Ganze Programm ist, dann würde ich dir sogar empfehlen, das ganze nicht innerhalb einer Form zu machen. Das Coding ist so kurz, und du hast keine weitere "Kapselung", dass sich die Form nicht lohnt.
a-dead-trousers hat geschrieben:Und auch wenn ich weiß wer mir gleich widersprechen wird: Mach das Ganze in der SAPGUI und nicht in Eclipse, da der Debugger m.W. aktuell hier noch mehr Funktionen unterstützt.
Hanspeter hat geschrieben:Hab das sortieren bereits außerhalb des LOOPS getan.
Allerdings verstehe ich wirklich nicht, wie ich meine Struktur fülle und APPEND verwende.
DeathAndPain hat geschrieben:a-dead-trousers hat geschrieben:Und auch wenn ich weiß wer mir gleich widersprechen wird: Mach das Ganze in der SAPGUI und nicht in Eclipse, da der Debugger m.W. aktuell hier noch mehr Funktionen unterstützt.
Falls Du mich meinst ...
Aktuelle Beiträge | ![]() |
||
|
|||
vor 11 Stunden von shimsham 2 Antw. | |||
|
|||
vor 13 Stunden von a-dead-trousers 4 Antw. | |||
|
|||
vor 10 Stunden von AdrianSchm 1 Antw. | |||
|
|||
Gestern von msfox 0 Antw. | |||
|
|||
vor 13 Stunden von wreichelt 5 Antw. | |||
Ähnliche Beiträge beta | ||
|
||
06.02.2012, 09:56 von ralf.wenzel 7 Antw. | ||
|
||
12.02.2011, 08:31 von Frank Dittrich 1 Antw. | ||
|
||
09.12.2016, 12:54 von Dyrdek 1 Antw. | ||
|
||
12.05.2007, 10:43 von herschel 2 Antw. | ||
|
||
18.04.2007, 08:18 von TWP 1 Antw. | ||
Mitglieder in diesem Forum: 0 Mitglieder