Lege dir eine DS an, in der du eine Zeitmarke redefinierst und aus deinen Datum-/Zeit-Angaben einen Timestamp machst.

Dann kannst du mit den Befehlen SUBDUR bzw mit der Funktion %diff() die Zeitdauern ausrechnen.

Welche Schicht ergibt sich ja aus der Uhrzeit.