in unseren Klinischen Aufträgen (PMDs) speichern wir u. a. Diagnosenlangtexte in Langtextfeldern ab. Die können auch zwei- oder dreizeilig sein.
Die Tabelle NDIP enthält quasi im Schlüsselfeld DIPNO einen Wert, der diese Langtextfeld eindeutig wiedergibt. Man kann dazu auch Text-ID sagen. Diese Text-ID (z. B. 4937) erhalte ich über die Methode GET_TEXT_ID der Klasse CL_ISH_PREREG_DIAGNOSIS. Zur Laufzeit ist auch die CORDER-ID bekannt. Bis hierhin alles okay.
Doch nun möchte ich z. B. per Loop über meine referenzierte LT_DIAGNOSIS (TYPE REF TO CL_ISH_PREREG_DIAGNOSIS) alle drei gefüllten Zeilen erhalten. Ich erhalte zur Text-ID 4937 aber nur die 1. Zeile als Klartext und ein gesetztes Flag in der Spalte DILTX, aber halt nicht die Zeilen 2 und 3 in Klarschrift. Wie komme ich an den Text der 2. und 3. Zeile ran?
ich kenne mich im klinischen zwar überhaupt nicht aus, aber ich denke mal, die Langtexte werden in Textbausteinen gesichert, so dass du "nur" den Schlüssel dieser Textbausteine ermitteln musst (sicherlich etwas mit der DIPNO) und dann mit READ_TEXT den ganzen Text lesen. Dann hast du tabellarisch alle Zeilen deines Langtextes.
Dafür gibt es eine eigene Methode in der Klasse CL_ISH_PREREG_DIAGNOSIS.
Irgendwas mit TEXT_MODULE und als Parameter übergibt man die Text-ID.
Das ist eigentlich die TDID des SapScript-Textes und nicht die besagte DIPNO. Schau einfach mal welche Konstanten in der Klasse CL_ISH_PREREG_DIAGNOSIS vom Namen her ein TEXT_ID beinhalten.
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.