FM HR_99S_GET_HIRE_FIRE

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

FM HR_99S_GET_HIRE_FIRE

Post autor: emil »

Kontynuując temat logicznych baz danych, ciągnę sobie dane z SAP HCM.

Lecąc sobie w get_data po kolejnych pernr do których ma dostęp, chcę sprawdzić, czy dla zadanego okresu/daty pracownik był zatrudniony.
Odpalam więc FM:


CALL FUNCTION 'HR_99S_HIRE_FIRE'
EXPORTING
p_pernr = p0001-pernr
p_begda = pn-begda
p_endda = pn-endda
IMPORTING
P_PHIFI = ld_p_phifi.

ld_p_phifi ładnie zasila mi się danymi dla każdego kolejnego pernera,
ld_p_phifi.png
ld_p_phifi.png (8.99 KiB) Przejrzano 1699 razy
ale nie mam pomysłu jak teraz dobrać się to dych danych. ld_p_phifi nie jest tabelą z nagłówkami, więc nie mogę sobie po niej loopować, nie potrafię skopiować tych danych do innej tabeli, w zasadzie nawet nie wiem jak je wyświetlić ;)

Mogę prosić o jakieś pokierowanie?
Założenie jest takie, że chcę sprawdzić, czy dla zadanego pn-begda pn-endda pracownik był zatrudniony i aktywny.
ZETKA
Posty: 69
Rejestracja: czw lis 04, 2010 10:49 pm
Has thanked: 1 time
Been thanked: 71 times
Kontakt:

Re: FM HR_99S_GET_HIRE_FIRE

Post autor: ZETKA »

emil pisze: pt maja 29, 2020 7:22 am ld_p_phifi nie jest tabelą z nagłówkami, więc nie mogę sobie po niej loopować
Tabele z nagłówkami od bardzo dawna są już konstrukcją nieaktualną i nie powinno się ich używać.
Polecenie LOOP ma jeszcze trzy inne możliwości:
LOOP [it] INTO [wa] WHERE...
LOOP [it] ASSIGNING [<fs>] WHERE...
LOOP [it] REFERENCE INTO [dref] WHERE...
Pozdrawiam,
Krzysiek
emil
Posty: 133
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 29 times
Been thanked: 42 times

Re: FM HR_99S_GET_HIRE_FIRE

Post autor: emil »

Całkowicie od złej strony zabrałem się za problem.
1) poprawny MF którego potrzebowałem to RP_HIRE_FIRE.
2) korzystając z logicznej bazy danych lecę przez pernr`y szykując dane do MF i w prosty sposób wyciągam dane:

Kod: Zaznacz cały

  
  "(...) ciach
  "zaciągam do it_p0000 oraz it_p0001 wszystkie dane dla wybranego pernera, podaję to do MF i wszystko samo się robi...
  
  CALL FUNCTION 'RP_HIRE_FIRE'
  IMPORTING
     FIRE_DATE       = lv_data_zwol
     HIRE_DATE       = lv_data_zatr
    TABLES
      pphifi          = lt_phifi
      pp0000          = it_p0000
      pp0001          = it_p0001.

write: lv_pernr, lv_data_zatr, ' - ', lv_data_zwol.
Temat do zamknięcia...
ODPOWIEDZ