Funktionsbaustein gesucht

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

Funktionsbaustein gesucht

Beitrag von Studi (ForumUser / 24 / 4 / 0 ) » 16. Feb 2017 07:36

Hallöchen,

ich bräuchte 2 Funktionsbausteine und finde einfach keine. Zum einen ein Fuba, welcher ein Datum liest und dem entsprechendem Monat zuordnet und das gleiche auch mit dem Jahr.
Für die Woche gibt es ja den Fuba "Date_get_week".

Danke im Voraus.

Lg Alisa


Re: Funktionsbaustein gesucht

Beitrag von a-dead-trousers (Top Expert / 3206 / 81 / 794 ) » 16. Feb 2017 07:55

Dafür braucht man doch keinen Funktionsbaustein:
Tag = DATUM+6(2)
Monat = DATUM+4(2)
Jahr = DATUM(4)

Für Wochen bzw. Wochentage braucht man sowas, weil es dafür spezielle Regeln gibt, wann die Wochenzählung in einem Jahr beginnt.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Studi

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: Funktionsbaustein gesucht

Beitrag von Studi (ForumUser / 24 / 4 / 0 ) » 16. Feb 2017 08:27

Dankeschön :)
Ich bin blutiger Anfänger seit 2 Wochen, deshalb hab ich von dem noch keine Ahnung.

Re: Funktionsbaustein gesucht

Beitrag von Studi (ForumUser / 24 / 4 / 0 ) » 16. Feb 2017 09:21

Aber leider funktioniert es nicht. Ich bekomm in meiner ALV tabelle als Kalenderwochen eine 6 stellige Zahl und bei Monat und Jahr erscheint nur eine 2.


Hier mein PBO: Wo ist der Fehler????


DATA: ls_log LIKE LINE OF gt_log,
l_week TYPE kweek.


FIELD-SYMBOLS: <ls_log> LIKE LINE OF gt_log.

*-- Spalte Test mit 1 befüllen
LOOP AT gt_log ASSIGNING <ls_log>.
<ls_log>-anzahl = 1.

*--Spalte Woche mit Kalenderwoche füllen
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
date = <ls_log>-datum
IMPORTING
week = l_week
EXCEPTIONS
date_invalid = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.

MOVE l_week TO <ls_log>-woche.
MOVE l_week+4(2) TO <ls_log>-monat.
MOVE l_week+4 TO <ls_log>-jahr.

ENDLOOP.

Re: Funktionsbaustein gesucht

Beitrag von PeterPaletti (Specialist / 133 / 21 / 26 ) » 16. Feb 2017 09:40

l_week setzt sich zusammen aus Kalenderjahr und Woche.

Es muss also heißen:
<ls_log>-Woche = l_week+4(2).
wenn du nur die Woche haben willst.

Monat und jahr errechnet sich nicht aus l_week sondern aus <ls_log>-datum
<ls_log>-Monat = <ls_log>-datum+4(2).
<ls_log_jahr> = <ls_log>-datum(4),

Seite 1 von 1

Aktuelle Forenbeiträge

ABAP Clean Code
vor 7 Stunden von ralf.wenzel 36 / 790
ADOBE Forms - geschachtelte Tabellen
vor 8 Stunden von a-dead-trousers 3 / 31
Merkmale in Abhängigkeit vom Beziehungswissen
vor 11 Stunden von wreichelt 6 / 167
Abrechnung Konditionskontrakte Wildcards
vor 11 Stunden von ewx 2 / 22
PDF24 - GUI crasht bei PDF Druck
vor 15 Stunden von Lukas R. 3 / 47

Unbeantwortete Forenbeiträge

[GELÖST] Feld KNVV-BOIDT
vor 4 Tagen von SAP_ENTWICKLER 1 / 46
Sortierbegriffe einer Stückliste ändern
vor 4 Tagen von mbiesenb 1 / 39
Feiertagsklasse und Lohnart Verknüpfung entfernen
vor 4 Tagen von Flashtie 1 / 39
Berechtigungen für Batch User
vor einer Woche von JohnLocklay 1 / 85