scalanie sąsiednich zakresów dat jeśli wartość dla nich jest identyczna

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
ODPOWIEDZ
emil
Posty: 133
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 29 times
Been thanked: 42 times

scalanie sąsiednich zakresów dat jeśli wartość dla nich jest identyczna

Post autor: emil »

Jak to by opisać... :)

Mam tabelę:

Kod: Zaznacz cały

	| Begda		| endda		| wartość
1 	| 1 		| 2		| aa
2	| 3 		| 4		| cc
3	| 8 		| 9		| EE
4	| 10		| 12		| EE
5	| 13		| 14		| EE
6	| 23		| 26		| aa
7	| 23		| 26		| HH
8	| 27		| 28		| HH
9	| 29		| 30		| cb
10	| 31		| 35		| RR
11	| 37		| 38		| RR
Oczywiście begda i ennda to są daty, tu dałem wartości liczbowe, by było czytelniej.
Dane są posortowane rosnąca bo ENDDA.
Chcę zbadać, czy sąsiadujące wartości są identyczne, a jednocześnie, czy są w ciągłości w begda/endda.
Czyli dla przykładu: rekordy 3,4,5 mają tę samą wartość (EE), a także mają ciągłość begda endda (8-9, 10-12, 13-14).
Jeśli jest taki przypadek, to chciałbym scalić rekordy 3 4 5 do jednego, który przyjmie:

Kod: Zaznacz cały

begda	endda	wartość
8	14	EE
Dokładnie taka sama sytuacja powinna nastąpić dla rekordów 7-8, które powinny zamienić się w

Kod: Zaznacz cały

begda	endda	wartość
23	28	HH
Jednocześnie powinien zostać pominięty w scalaniu duet rekordów 10 i 11, bowiem jest pomiędzy nimi przerwa (nie mamy ciągłości pomiędzy enddą dziesiątki i begdą jedenastki.

Czy SAP/HCM daje jakieś mechanizmy wspierające tego typu operacje, czy tworzyć ręcznie analizę rekord po rekordzie w loopie, analizując czy jest ciągłość, a jeśli tak - scalać rekordy?
K602
Posty: 135
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 60 times
Been thanked: 86 times
Kontakt:

Re: scalanie sąsiednich zakresów dat jeśli wartość dla nich jest identyczna

Post autor: K602 »

Szczerze wątpię, aby to się dało z automatu zrobić jakimiś MF czy metodą standardową... pozostaje chyba ręczne ogarnięcie tego ;)
SAP ABAP Certified Developer
ODPOWIEDZ