dann schlage ich vor, das Event INITIALIZATION entsprechend abändern:Kaiser hat geschrieben:Das Feld hat in der Tabelle das Format YYYYMM und im debugger steht im dspmon exakt IBT200502200503.
Code: Alles auswählen.
INITIALIZATION.
* S012-SPMON hat das Format YYYYMM
dspmon-sign = 'I'.
dspmon-option = 'BT'.
dspmon-low = sy-datum.
* entspricht:
* dspmon-low = sy-datum(6). "nur die ersten 6 Zeichen (Ziffern)
* Monat um eins reduzieren
dspmon-low = dspmon-low - 1.
dspmon-high = sy-datum.
* entspricht:
* dspmon-high = sy-datum(6).
APPEND dspmon TO dspmon.
hatte nicht erst jemand sich positiv über meine Antworten geäußert...ereglam hat geschrieben:...dann schlage ich vor, das Event INITIALIZATION entsprechend abändern:Damit ist dann auch noch zu einem späteren Zeitpunkt klar, dass es sich bei S012-SPMON nicht um ein Datum-Feld handeltCode: Alles auswählen.
INITIALIZATION. * S012-SPMON hat das Format YYYYMM dspmon-sign = 'I'. dspmon-option = 'BT'. dspmon-low = sy-datum. * entspricht: * dspmon-low = sy-datum(6). "nur die ersten 6 Zeichen (Ziffern) * Monat um eins reduzieren dspmon-low = dspmon-low - 1. dspmon-high = sy-datum. * entspricht: * dspmon-high = sy-datum(6). APPEND dspmon TO dspmon.
Code: Alles auswählen.
INITIALIZATION.
DATA:
lv_datum TYPE sydatum.
* S012-SPMON hat das Format YYYYMM
dspmon-sign = 'I'.
dspmon-option = 'BT'.
* letzter Tag des Vormonats (netter Trick)
lv_datum = sy-datum - sy-datum+6(2).
dspmon-low = lv_datum.
* entspricht:
* dspmon-low = lv_datum(6). "nur die ersten 6 Zeichen (Ziffern)
dspmon-high = sy-datum.
* entspricht:
* dspmon-high = sy-datum(6).