Inhaltsverzeichnis
Sammle in Monats-Saldo-Tabelle #
Die Operation ADDMB kumuliert den Wert aus dem Stundenanzahl-Feld unter der jeweiligen Zeitart in die interne Tabelle der Periodensalden (SALDO). Da die Zeitauswertungsperiode im allgemeinen ‚monatlich‘ ist, spricht man auch von Monatssaldo.
Syntax #
ADDMBXXXXY
ADDMB Operationsname
XXXX Angabe der Zeitart
- * Die aktuelle Zeitart wird beibehalten.
- XXXX wird als vierstelliger alphanumerischer Name einer Zeitart interpretiert
Y Steuerungskennzeichen Operation ADDMB
- blank Kumulation. der Wert wird zu einem eventuell schon in der Zeitart vorhandenen Wert addiert.
- Z Überschreiben, ein eventuell in der Zeitart bereits enthaltender Wert wird mit dem von der Operation HRS gesetzten Wert überschrieben.
- – Umkehrung des Vorzeichens Vor der Kumulation wird das Vorzeichen
des Stunden-anzahl-Feldes umgekehrt, d.h. der Wert des Stunden-anzahl-Feldes
wird mit -1 multipliziert. - T Sollstunden (target hours), vor der Kumulation wird das Stundenanzahl-Feld
mit den Sollarbeitsstunden laut Tagesarbeitszeitplan gefüllt. ADDMBxxxxT ist äquivalent zu HRS=S ADDMBxxxx.
Die Operation ADDMB sollten Sie nur in der Endeverarbeitung unter IF EOM einsetzen. Die Verwendung in der Tagesverarbeitung (zw. BDAY und EDAY) führt im allgemeinen zu Fehlern im Falle einer Rückrechnung.
Code #
*---------------------------------------------------------------------*
* FORM OPADDMB *
*---------------------------------------------------------------------*
* Collect in SALDO *
*---------------------------------------------------------------------*
form opaddmb.
case op+5(1).
when '*'.
saldo-ztart = act-ztart.
when others.
saldo-ztart = op+5(4).
endcase.
case op+9(1).
* WHEN 'S'.
when 'T'.
saldo-anzhl = act_t550a-sollt.
* SALDO-ANZHL = SALDO-ANZHL / 100. "YLLK63394
collect saldo.
when '-'.
saldo-anzhl = 0 - act-anz.
* SALDO-ANZHL = SALDO-ANZHL / 100. "YLLK63394
collect saldo.
when 'Z'.
read table saldo with key saldo-ztart.
saldo-anzhl = act-anz.
* SALDO-ANZHL = SALDO-ANZHL / 100. "YLLK63394
if sy-subrc ne 0.
collect saldo.
else.
modify saldo index sy-tabix.
endif.
when others.
saldo-anzhl = act-anz.
* SALDO-ANZHL = SALDO-ANZHL / 100. "YLLK63394
collect saldo.
endcase.
endform. "of OPADDMB