Mit dem unten aufgeführten Sql-Statement können alle wichtigen Servicedaten zu einem Behälter selektiert werden wie z.B. der Service, Status-Service, Intervall, Wochentag, Ab, Bis. Es wird lediglich ein Objektnummer für den Input benötigt.
SELECT * INTO TABLE lt_ewaobjh
FROM ewaobjh
WHERE objnr = lt_behle-objnr
AND ( ( ab >= SY-DATUM AND day_flag EQ 'X' )
OR ( bis >= SY-DATUM AND ( day_flag NE 'X' ) )
) .
IF lt_ewaobjh IS NOT INITIAL.
READ TABLE lt_ewaobjh ASSIGNING <fs_ewaobjh> INDEX 1.
lt_behle-weekley = <fs_ewaobjh>-weekly.
lt_behle-ab = <fs_ewaobjh>-ab.
lt_behle-bis = <fs_ewaobjh>-bis.
lt_behle-service_type = <fs_ewaobjh>-service_type.
lt_behle-status_serv = <fs_ewaobjh>-status_serv.
* Wochentag umwandeln
IF <fs_ewaobjh>-eweekday = 1.
lt_behle-wochentag = 'Mo'.
ELSEIF <fs_ewaobjh>-eweekday = 2.
lt_behle-wochentag = 'Di'.
ELSEIF <fs_ewaobjh>-eweekday = 3.
lt_behle-wochentag = 'Mi'.
ELSEIF <fs_ewaobjh>-eweekday = 4.
lt_behle-wochentag = 'Do'.
ELSEIF <fs_ewaobjh>-eweekday = 5.
lt_behle-wochentag = 'Fr'.
ELSEIF <fs_ewaobjh>-eweekday = 6.
lt_behle-wochentag = 'Sa'.
ELSEIF <fs_ewaobjh>-eweekday = 7.
lt_behle-wochentag = 'So'.
ENDIF.
ENDIF.
FROM ewaobjh
WHERE objnr = lt_behle-objnr
AND ( ( ab >= SY-DATUM AND day_flag EQ 'X' )
OR ( bis >= SY-DATUM AND ( day_flag NE 'X' ) )
) .
IF lt_ewaobjh IS NOT INITIAL.
READ TABLE lt_ewaobjh ASSIGNING <fs_ewaobjh> INDEX 1.
lt_behle-weekley = <fs_ewaobjh>-weekly.
lt_behle-ab = <fs_ewaobjh>-ab.
lt_behle-bis = <fs_ewaobjh>-bis.
lt_behle-service_type = <fs_ewaobjh>-service_type.
lt_behle-status_serv = <fs_ewaobjh>-status_serv.
* Wochentag umwandeln
IF <fs_ewaobjh>-eweekday = 1.
lt_behle-wochentag = 'Mo'.
ELSEIF <fs_ewaobjh>-eweekday = 2.
lt_behle-wochentag = 'Di'.
ELSEIF <fs_ewaobjh>-eweekday = 3.
lt_behle-wochentag = 'Mi'.
ELSEIF <fs_ewaobjh>-eweekday = 4.
lt_behle-wochentag = 'Do'.
ELSEIF <fs_ewaobjh>-eweekday = 5.
lt_behle-wochentag = 'Fr'.
ELSEIF <fs_ewaobjh>-eweekday = 6.
lt_behle-wochentag = 'Sa'.
ELSEIF <fs_ewaobjh>-eweekday = 7.
lt_behle-wochentag = 'So'.
ENDIF.
ENDIF.