Formatzeichen von Texten entfernen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Formatzeichen von Texten entfernen

Postby Aurelia4725 » Tue May 12, 2015 8:21 am

Hallo NG

ich lese mit dem FB SSFRT_READ_TEXTMODULE Smartforms-Texte aus. Über diesen FB kommen alle Formatierungsanweisungen mit. Beispiel:

Sie darf nur <TI><B><WS><K>*zur industriellen Herstellung usw.....

Gibt es einen FB mit dem diese Formatanweisungen entfernt werden können? Habe bis jetzt nichts gefunden. Und bevor ich einen eignen FB schreibe...

Vielen Dank
Thomas
Aurelia4725
..
..
 
Posts: 25
Joined: Thu Sep 15, 2011 9:12 am

Re: Formatzeichen von Texten entfernen

Postby Joeline5261 » Tue May 12, 2015 8:12 pm

Hallo Thomas,

bin mir nicht sicher ob das Dir hilft. Stammt aus www.berster-Wiki.de
Variablenersetzung im Druckrahmenprogramm mit 'REPLACE_TEXTSYMBOL'

Mit dem Funktionsbaustein REPLACE_TEXTSYMBOL können bereits im (Druck-)Rahmenprogramm Variablen ersetzt werden. Zunächst muss der Textbaustein mit dem Funktionsbaustein READ_TEXT gelesen werden.
In der itab CT_TLINE stehen die Zeilen, die mit dem Funktionsbaustein READ_TEXT gelesen wurden. Alle Variablen, die in dem jeweiligen Programm bekannt sind, werden nun mit dem Funktionsbaustein REPLACE_TEXTSYMBOL ersetzt. Es ist darauf zu achten, dass die zu ersetzenden Variablen global im Rahmenprogramm definiert sind, sonst werden sie im Funktionsbaustein REPLACE_TEXTSYMBOL nicht erkannt. Wird der Funktionsbaustein REPLACE_TEXTSYMBOL also z. B. von einem anderen Funktionsbaustein aufgerufen, so sind die zu ersetzenden Variablen im Top-Include der Funktionsgruppe des Funktionsbausteins zu definieren.
Data: ct_tline TYPE tline_tab.

... (Textbaustein lesen mit READ_TEXT in ct_tline)

CALL FUNCTION 'REPLACE_TEXTSYMBOL'
EXPORTING
ENDLINE = 100
LANGUAGE = is_thead-tdspras
OPTION_DIALOG = ' '
REPLACE_PROGRAM = 'X'
REPLACE_STANDARD = 'X'
REPLACE_SYSTEM = 'X'
REPLACE_TEXT = 'X'
STARTLINE = 1
* IMPORTING
* CHANGED =
TABLES
LINES = ct_tline.
Variablenersetzung im Funktionsbaustein mit 'TEXT_SYMBOL_REPLACE'

Der Funktionsbaustein 'TEXT_SYMBOL_REPLACE' hat im gegenüber dem Funktionsbaustein 'REPLACE_TEXTSYMBOL' den Vorteil, dass man hier noch das Programm angeben kann, aus dem die Variablen zu ersetzen sind.
Wichtig ist hier auch der Funktionsbaustein 'FORMAT_TEXTLINES', der für eine korrekte Zeilenaufbereitung sorgt, sodass die ersetzten Variablen wieder auf der Zeile der Textbausteintabelle stehen, wo vorher die Variablen standen.
DATA: lt_tline TYPE tline_tab,
ls_tline TYPE tline,
lv_tabix type sy-tabix.

DATA: ls_thead TYPE thead,
lv_report type sy-repid.

* Füllen globale Strukturen. VBDKL und LIKP sind hier im Top-Include des
* Funktionsbaustein definiert, in dem das Coding sich befindet. Es ist nicht das Druckrahmenprogramm
vbdkl = is_vbdkl.

Select single *
into likp
from likp
where vbeln = is_vbdkl-vbeln.

* Füllen Header-Struktur
ls_thead-tdobject = iv_object.
ls_thead-tdname = iv_name.
ls_thead-tdid = iv_id.
ls_thead-tdspras = iv_language.

CALL FUNCTION 'READ_TEXT'
EXPORTING
id = ls_thead-tdid
language = ls_thead-tdspras
name = ls_thead-tdname
object = ls_thead-tdobject
TABLES
lines = lt_tline
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.

check lt_tline is not initial.

DESCRIBE TABLE lt_tline lines lv_tabix.

lv_report = sy-repid.

CALL FUNCTION 'TEXT_SYMBOL_REPLACE'
EXPORTING
endline = lv_tabix
header = ls_thead
program = lv_report
TABLES
lines = lt_tline.

CALL FUNCTION 'FORMAT_TEXTLINES'
TABLES lines = lt_tline.
Joeline5261
...
...
 
Posts: 387
Joined: Thu Aug 18, 2005 2:42 pm

Re: Formatzeichen von Texten entfernen

Postby Aurelia4725 » Tue May 19, 2015 8:41 am

Hallo wreichelt

danke für deine Antwort.

Der FB REPLACE_TEXTSYMBOL hat mir in diesem Fall nicht geholfen. Ich habe mir nun mit einem eigenem FB weitergeholfen. Mit FIND suche ich nach den öffnenden und schliessenden Klammern und mit REPLACE ersetze ich das Ganze mit einem Sonderzeichen. Dann lösche ich alle eingefügten Sonderzeichen.

Gruss
Thomas
Aurelia4725
..
..
 
Posts: 25
Joined: Thu Sep 15, 2011 9:12 am


Return to ABAP® Core

Who is online

Users browsing this forum: No registered users and 1 guest