Montag, 7. Oktober 2013

PY DE - Entgeltnachweis SAP_PAYSLIP_DE_P Mitteilungen in voller Breite anzeigen

Im Standard werden Mitteilungen mit einer Zeilenlänge von 80 Zeichen auf dem Entgeltnachweis ausgegeben, auch wenn mehr Platz zur Verfügung stehen würde. In Hinweis 1655990 - SAP_PAYSLIP_DE_P: Darstellung von Mitteilungen wurde eine Lösung angeboten durch Coding in der Initialisierung der Formularschnittstelle. Das ist allerdings etwas veraltet und löst das Problem nicht wirklich.
Will man die ganze Mitteilung aus IT0128 in voller Breite ohne Umbrüche auf dem Entgeltnachweis kann man anstelle des vorgeschlagenen Codings folgende Zeilen programmieren:
...
* SAP Initialisierungen
INCLUDE RPCEDTD0_HRFORMS_INIT.
* Mitteilungen zu einer Zeile verdichten
FIELD-SYMBOLS <ls_mitteilungen> LIKE LINE OF hrdata-star_mitteilungen.
DATA: l_umbruch(4) TYPE c.
LOOP AT hrdata-star_mitteilungen ASSIGNING <ls_mitteilungen>.

* inspiriert von Hinweis 1655990 - SAP_PAYSLIP_DE_P: Darstellung von Mitteilungen
* und https://scn.sap.com/thread/1577808
* 1. Zeilenumbrüche durch space austauschen
  REPLACE ALL OCCURENCES OF
          CL_ABAP_CHAR_UTILITIES=>CR_LF   "Zeilenumbruch
          IN <ls_mitteilungen>-textmodule_lines
          WITH ` ` IN CHARACTER MODE.

ENDLOOP.
...

Man beachte die Zeichen ` anstelle von ' - sonst wird kein Leerzeichen eingefügt - siehe diesen Beitrag von Clemens Li.

Keine Kommentare:

Kommentar veröffentlichen