Zum Inhalt springen

Da kann man lange suchen: Langtextkennzeichen bei Transaktion IA01 – IA02 – IA03

Da kann der SAP – Berater in der Tat lange suchen. Dem Kunden kann man das wohl kaum erklären, geschweige denn in Rechnung stellen. Ich selbst stand neulich vor dem gleichen Problem und es hat mich echt viel Zeit gekostet hier eine Lösung zu finden.

Googeln hat leider nicht viel geholfen, debuggen und tracen leider auch erst recht spät.

Das Problem:

Bei einer Datenmigration sollten Equipmentpläne mit Langtexten auf Positionsebene eingelesen werden:

equipmentplan1

In diesem Bildschirmabgriff sehen wir 2 markierte Stellen. Einmal in der Positionszeile einen Haken, der bedeutet, dass dort ein Langtext hinterlegt ist. Die 2. Markierung betrifft dann den Stift oberhalb der Zeilen. Hier kann man sich den Langtext bei markierter Zeile ansehen, oder man kann ihn ändern.

equipmentplan2

Will man jetzt den Text migrieren, dann kann man das machen wie üblich mit dem Funktionsbaustein SAVE_TEXT. Dazu braucht man natürlich den Schlüssel zum Langtext, ist auch kein Problem, geht mit Springen–>Kopf:

equipmentplan3

Den Text kann man dann auch wieder ansehen mit dem Funktionsbaustein READ_TEXT. Don verblüfft stellt man fest, dass sich das Langtextkennzeichen leider nicht setzt. Und hier fangen wir an zu suchen. Sie ersparen sich möglicher Weise viel Zeit, wenn Sie einfach hier nachsehen:

Programm SAPLCPDI              Include   LCPDIFO1

Form OPR_LST_LOOP_GET

* Satz in Vorgangs Belegtabelle nachlesen
*=======================================================================
CALL FUNCTION ‘CP_BT_PLPO_READ_WITH_INDEX’
EXPORTING
flg_clas = const-flg_yes
index = lst-index_plpo
sttag = rc27s-sttag
aennr = rc271-aennr
flg_bzw = const-flg_yes
flg_kla = const-flg_yes
flg_time_dep_data = const-flg_yes
IMPORTING
plpod_exp = plpod
rcr01_exp = rcr01.

______________________________________________

Programm SAPLCPDI                        Include     LCPDIFL1
Form LST_LOOP_GET_PBO

* Bei Referenz darf Satz nur angezeigt werden
*=======================================================================
IF NOT lst-flg_ref IS INITIAL.
rc27s-flg_show = const-flg_yes.
ENDIF.
* Langtextkennzeichen bestimmen
*=======================================================================
IF NOT plpod-txtsp IS INITIAL.
MOVE const-flg_yes TO rc270-txtkz.
ELSE.
CLEAR rc270-txtkz.
ENDIF.

Wir stellen also fest, dass das Langtextkennzeichen TXTKZ nicht in der Datenbank zu finden ist, sondern SAP selbiges dann erzeugt, wenn in der Tabelle PLPO das Sprachenkennzeichen im Feld TXTSP gefüllt ist. Gefüllt heißt also Langtextkennzeichen ist gesetzt und leer heißt es ist kein Langtext vorhanden.

Nach dem Einlesen der Texte muss dann dieses Kennzeichen noch gesetzt werden.

 

So, ich hoffe ich konnte in diesem Fall zur Aufklärung beitragen.

 

Schreibe einen Kommentar