Smartforms - zwei Textbausteine in einer Zeile

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
15 Beiträge • Seite 1 von 1
15 Beiträge Seite 1 von 1

Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Hallo,

die Frage steht so eigentlich schon im Titel: Ich habe ein Smartform und darin in einem Template (in einem Loop) zwei Textbausteine, die auf dem Formular in einer Zeile nacheinander angedruckt werden sollen. Ist das irgendwie möglich? Wenn ich einfach nur "Beginn: Direkt Anhängen" wähle, habe ich trotzdem eine neue Zeile.

Gruß
Pyro

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Thomas R. (Expert / 755 / 78 / 34 ) »
Einfach nur geraten:
Tabelle(nlayout)?

MfG
Thomas R.

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Hallo,

danke für die schnelle Antwort. Meinst du damit eine zweite Spalte im Template? Weil das würde zwar gehen, bringt mich aber leider nicht weiter, weil der erste mit dem zweiten Baustein einen kompletten Satz ergeben muss, die länge und Position der einzelnen Bausteine allerdings variabel ist.

Gruß
Pyro

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Thomas R. (Expert / 755 / 78 / 34 ) »
Hallo Pyro,
na dann bleibt Dir nur ein Versuch beim zweiten Textbaustein nur eine Formatspalte "Fortsetzung Langzeile" (=) einzutragen in der Hoffnung, dass er dann keinen Zeilenwechsel erzeugt. Oder - was Du sicher schon versucht hast - die Formatspalte völlig leer zu lassen.
Dies geht einfacher in dem "alten" zeilenorientierten Editor.

MfG
Thomas R.

Folgende Benutzer bedankten sich beim Autor Thomas R. für den Beitrag:
Pyro


Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Hallo Thomas,

von der Logik her klingt das gut, aber der Editor ersetzt = oder space in der ersten Zeile mit *.... leider ist das wohl von SAP so nicht vorgesehen, schade.
Danke aber trotzdem noch für den Hinweis, dann muss ich mir hier wohl etwas anderes einfallen lassen.

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

ganz blöde Frage: ist die Spalte breit genug um den Inhalt beider Textbausteine aufzunehmen? Eventuell reserviert der erste sich ja 80 Zeichen und braucht nur 25, aber der zweite reserviert 50 Zeichen und braucht diese auch. Und wenn deine Tabelle dann zu schmal ist, nimmt Smartforms automatisch eine neue Zeile.

Hast du mal versucht den Inhalt beider Felder in einen Baustein nebeneinander zu packen, so dass es direkt angehängt wird?

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Pyro

Gruß,
der Matze

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Nimm doch einen Text Knoten vom Typ dynamnischer Text.
Und setze die Texte per coding zusammen.
LG Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
Pyro

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Hi,

ja, so war es ursprünglich der Fall. Allerdings musste da auch nur ein Teil davon flexibel sein und jetzt ist eine neue Anforderung dazu gekommen, dass der andere Teil davon auch dynamisch sein soll. Aus diesem Grund müsste ich den Satz aus den Textbausteinen dynamisch zusammenbauen. Natürlich könnte ich das auch über lauter Bedingungen in der Smartphone regeln, allerdings wäre das dann wieder ziemlich unübersichtlich

//EDIT:
@Tron: Den habe ich ehrlich gesagt noch nie benutzt, ich werde es mir mal ansehen, vielleicht ist es ja das, was ich suche, danke schonmal.

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Dann kannst Du Dir ja mal hier einen kleinen Überblick verschaffen, wie ein Dynamischer Textknoten funktioniert.
http://apentia-forum.de/viewtopic.php?f=18&t=19671
lg Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Vielen Dank für die Antwort.
Jetzt habe ich nur noch ein Problem: Alles, was ich bis jetzt dazu lese, bezieht sich nur auf Sapscript-Texte (welche man über einen Include-Text-Knoten in die Smartform einbinden könnte). Ich habe allerdings momentan alle Texte inklusive Übersetzungen als Textbausteine (Transaktion Smartforms -> Textbaustein) vorhanden und würde diese gern weiterverwenden. Der Textknoten Dynamischer Text sollte ja damit genauso funktionieren, wenn die entsprechende itab richtig gefüllt ist. Aber im Moment suche ich noch einen FuBa, mit welchem ich die normalen Textbausteine von Smartforms ( R3TR SSFO ) auslesen kann, weißt du/ihr hierzu etwas?

gruß
Pyro

//Edit:
Über den FuBa READ_TEXT komm ich hier leider auf keinen grünen Zweig, aber ich denke ich kann per Select die Tabelle STXFTXT auslesen und diese Daten dann verwenden. Wenn es klappt gebe ich nochmal Bescheid:P

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,
versuche mal bitte das:

Du musst die Ausgabe nicht mittels READ_TEXT und dann LOOP über die interne Tabelle machen, sondern wähle beim Textyp = "Include-Text"(im Moment ist dort bei Dir "Textelement"). Dann kannst Du Textname, Textobjekt, Textid und Sprache eingeben. Alle vier Felder kannst Du durch variable Felder oder fix vorgeben (durch Anklicken des Dreiecks auf der entsprechenden Zeile ganz rechts wird die Eingabezeile vergrössert ... Felder mit &....& begrenzen). In den Ausgabeoptionen kannst Du noch einen speziellen Stil mitgeben. Wenn dort nichts eingegeben ist, dann wird der Stil des Formulars gezogen.
Gibst Du es aber wie von Dir geschrieben aus, dann sind die einzelnen Zeilen Textfelder in denen <x> drin steht.... und so wird dies auch ausgeben.

Gruß
Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
Pyro


Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Das Auslesen eines Smartforms-Textes ist etwas tricky. Ich hab dazu leider nichts im Standard gefunden und mir einfach selber was zusammengebaut:

Code: Alles auswählen.

  type-pools: CSSF.
  DATA:
    lt_tline           TYPE tlinetab, "Ergebnis
    ld_variant         TYPE tdvariant, "Variante (meistens leer)
    ld_name            TYPE tdtxtname, "Name des Textes
    ld_spras           TYPE tdspras, "Sprache des Textes
    lr_form            TYPE REF TO cl_ssf_fb_smart_form,
    lr_text            TYPE REF TO cl_ssf_fb_text_item.

  FIELD-SYMBOLS:
    <ls_variant>       TYPE ssfvarhdr.

* read text module
  CREATE OBJECT lr_form.
  TRY.
*   check if exists and lock text module
      lr_form->enqueue( language_upd_exit       = space
                        suppress_language_check = space
                        mode                    = 'SHOW'
                        formname                = ld_name
                        authority_check         = ld_spras ).
      lr_form->load( im_formname    = ld_name
                     im_language    = ld_spras
                     im_active      = abap_true ).
    CATCH cx_ssf_fb.
      RETURN.
  ENDTRY.

  IF lr_form->header-formtype NE cssf_formtype_text.
    RETURN.
  ENDIF.

* get lines[]
  READ TABLE lr_form->varheader ASSIGNING <ls_variant> WITH KEY vari = ld_variant.
  IF sy-subrc EQ 0.
    lr_text ?= <ls_variant>-pagetree->obj.
    IF lr_text IS BOUND.
      lt_tline = lr_text->text.
    ENDIF.
  ENDIF.
  lr_form->dequeue( EXPORTING formname = ld_name ).
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Pyro

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.

ECC: 6.18
Basis: 7.50

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Also mit einem Select auf die Tabelle STXFTXT konnte ich die Texte zu den Textbausteinen lesen, entsprechend der gewählten Sprache zusammenbauen und diese dann mit der Textart "Dynamischer Text" ausgeben.

Vielen Dank an alle Antworten und die schnelle Hilfe:)

@ADT: Das ist zwar etwas tiefergehend als das, was ich gebraucht hatte, aber generell gut zu wissen, falls ich mal etwas in die Richtung benötige;)

@wreichelt: Ich hatte alle Texte schon als Textbausteine vorhanden und wollte nicht alle neu erstellen, also hatte ich eine Lösung mit diesen gesucht. Mit Include-Texten kann man ja nur SAPScript-Texte einbinden und auch hier weiß ich nicht, ob das dann dynamisch genug gewesen wäre, dass ich in einer Zeile verschiedene Bausteine verwenden h ätte können.

@tron: danke nochmal für den Hinweis mit dem Dynamischen Text, man lernt nie aus:D

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Nachtrag:
Ein Funktionsbaustein zum Lesen der Smartformstexte lautet SSFRT_READ_TEXTMODULE.
Die Importstruktur I_LANGUAGES musste ich mit I_LANGUAGES-langu1=EN befüllen.
Der Text wurde in EN angelegt.

gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
a-dead-trousers

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Smartforms - zwei Textbausteine in einer Zeile

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Tron hat geschrieben:Ein Funktionsbaustein zum Lesen der Smartformstexte lautet SSFRT_READ_TEXTMODULE.
Thx!
Warum hab ich den damals nicht gefunden? :oops:

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.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3475
Views
SmartForms: Kein Zeilenumbruch bei zwei Feldern
von Beat » 24.04.2014 10:45 • Verfasst in ABAP® Core
6
Antw.
624
Views
Smartforms Text in Zeile drucken
von Bright4.5 » 19.05.2022 16:33 • Verfasst in ABAP® für Anfänger
9
Antw.
4062
Views
Smartforms ganze Zeile (Arial) unterstreichen
von meister2000 » 14.08.2017 11:38 • Verfasst in ABAP® für Anfänger
0
Antw.
1870
Views
Textbausteine Transportieren
von SAPDIDI2 » 16.08.2006 11:10 • Verfasst in ABAP® Core
10
Antw.
7003
Views
Textbausteine in Reports
von Foppa » 28.09.2006 15:10 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 38 Minuten von Bright4.5 3 / 1467
Regex in where
vor 2 Stunden von tar 6 / 124
Programm anlegen mit Vorlage
vor 17 Stunden von DeathAndPain 2 / 119
IT0024 Qualifikationen CP-ID
vor 17 Stunden von DeathAndPain 2 / 353

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 38 Minuten von Bright4.5 3 / 1467
Regex in where
vor 2 Stunden von tar 6 / 124
Programm anlegen mit Vorlage
vor 17 Stunden von DeathAndPain 2 / 119
IT0024 Qualifikationen CP-ID
vor 17 Stunden von DeathAndPain 2 / 353

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 19 Stunden von snooga87 1 / 86
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821