Rätsel aus der Praxis

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!

Rätsel aus der Praxis

Postby Grace3566 » Fri May 28, 2004 8:56 am

Moin zusammen,
zur Auflockerung auch von mir mal ein kleines Rätsel aus der Praxis.

Aufgabenstellung:
Einer Form-Routine wird ein Datum übergeben. In der Form-Routine wird anhand des Datums der letzte Tag des Vormonats ermittelt (Ultimo).

Beispiel:

p_datum 15.09.2004
p_ultimo 31.08.2004

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. FORM get_ultimo USING    p_datum  TYPE d
  2.                 CHANGING p_ultimo TYPE d.
  3. * Hier findet die Ermittlung statt
  4. ENDFORM.                    "get_ultimo
GeSHi ©


Wie mache ich das am effizientesten?

Viel Spaß

Olaf
Grace3566
..
..
 
Posts: 62
Joined: Thu Oct 09, 2003 6:24 am

Re: Rätsel aus der Praxis

Postby Willy1492 » Fri May 28, 2004 9:24 am

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. FORM get_ultimo USING    p_datum  TYPE d
  2.                 CHANGING p_ultimo TYPE d.
  3. * Hier findet die Ermittlung statt
  4.   p_ultimo(6) = p_datum(6).
  5.   p_ultimo+6(2) = '01'.
  6.   subtract 1 from p_ultimo.
  7. ENDFORM.                    "get_ultimo
GeSHi ©

Das war einfach.
Willy1492
....
....
 
Posts: 581
Joined: Tue Dec 03, 2002 4:44 pm

Postby Grace3566 » Fri May 28, 2004 9:26 am

Hallo Frank,
es geht aber noch einfacher.
VG Olaf
Grace3566
..
..
 
Posts: 62
Joined: Thu Oct 09, 2003 6:24 am

Postby Willy1492 » Fri May 28, 2004 9:31 am

Olaf P. hat geschrieben:Hallo Frank,
es geht aber noch einfacher.
VG Olaf

Funktioniert auch
p_ultimo = p_datum(6) - 1. " ?

Wenn ja, würde ich mich nicht darauf verlassen, dass die Subtraktion auch in zukünftigen Releases für ungültige Daten funktioniert.

Andere Frage:
DATA: d1 type d, d2 type d.
Wie muss D1 gefüllt sein, damit nach
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. d2 = d1 - 1.
  2. add 1 to d2.
GeSHi ©

d1 ungleich d2 ist?
Willy1492
....
....
 
Posts: 581
Joined: Tue Dec 03, 2002 4:44 pm

Meine Lösung

Postby Curt279 » Fri May 28, 2004 9:33 am

FORM get_ultimo USING p_datum TYPE d
CHANGING p_ultimo TYPE d.

* Hier findet die Ermittlung statt
p_ultimo = p_datum - p_datum+6(2).

ENDFORM. "get_ultimo


Gruß
Andreas
Curt279
.
.
 
Posts: 1
Joined: Fri May 28, 2004 9:33 am

Re: Meine Lösung

Postby Willy1492 » Fri May 28, 2004 9:39 am

Andrew_ hat geschrieben: p_ultimo = p_datum - p_datum+6(2).

Das ist wirklich besser.
Willy1492
....
....
 
Posts: 581
Joined: Tue Dec 03, 2002 4:44 pm

Postby Grace3566 » Fri May 28, 2004 9:49 am

Hallo zusammen,
das ging ja wirklich schnell.

Das ist die Lösung

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. p_ultimo = p_datum - p_datum+6(2).
GeSHi ©


Ich habe schon diverse Lösungen zu diesem Thema gesehen, wo mit Funktionsbausteinen gearbeitet oder das Datum "zusammengebastelt" und dann die Jahreswechsel- und Schaltjahrprolematik mühevoll behandelt wurde. Daher auch der Zusatz "aus der Praxis".

@Frank
Die Antwort lautet: Initialwert.

VG und schöne Pfingsten
Olaf
Grace3566
..
..
 
Posts: 62
Joined: Thu Oct 09, 2003 6:24 am

Postby Ilja583 » Mon May 31, 2004 12:47 am

@Frank:

Weitere Lösungen:

Illegale Daten, wie z.B. der 35. Mai

oder die Tage, die durch die Umstellung auf den gregorianischen Kalender weggefallen sind. (5.10.1582 - 14.10.1582 ex. nicht ).
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm

Noch ein Rätsel...

Postby Alva1590 » Sun Jul 04, 2004 11:13 am

Ist das die Rätselecke? Da hätte ich auch was...Ich habe eine interne tabellen vom typ standard.

Die Einträge sind wie folgt.
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. Feld 1 Feld 2 Feld3
  2. 1       1         z
  3. 1       2         b
  4. 1       3         d
  5.  
  6.  
  7. Ich fülle die Struktur
  8. pwa_tab wie folgt.
  9. Feld1 Feld 2 Feld3
  10. 1      3         d
  11.  
  12. und lese die Tabelle mit dem Zusatz from READ....FROM PWA_TAB
  13. und erhalte den 1. Satz
  14. Feld1 Feld 2 Feld3
  15. 1      1         z
  16.  
  17. Wie muss die interne Tabelle definiert sein, dass dies gelingt.
  18.  
GeSHi ©

Christian
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Re: Noch ein Rätsel...

Postby Alva1590 » Mon Jul 05, 2004 1:07 am

Anonymous hat geschrieben:Ist das die Rätselecke?

Das ist noch nicht endgültig entschieden.
(Es gab auch schon welche in ABAP Core.)
Man darf aber wohl auch einen neuen Thread aufmachen.
Wie muss die interne Tabelle definiert sein, dass dies gelingt.

Zum Beispiel so
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. DATA: itab LIKE STANDARD TABLE OF pwa_tab
  2.            WITH NON-UNIQUE KEY feld1.
GeSHi ©
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Next

Return to Tips + Tricks & FAQs

Who is online

Users browsing this forum: No registered users and 10 guests