Langtexte werden in den SAP-Transaktionen meist in einem eigenen "Text Control" erfasst, das die Eingabe beliebig vieler Zeilen mit Zeilenumbruch unterstützt. In einigen Fällen kommt der "SapScript Editor" zum Einsatz oder ist vom Benutzer aufrufbar.
G
uiXT bietet eine Reihe von Möglichkeiten zur Unterstützung der Texterfassung. Insbesondere ist es möglich, bei der Vereinfachung von Transaktionen auch die Texterfassung (ein oder mehrerer Texte) zu integrieren. Wir stellen hier die benötigten Techniken für verschiedene Anwendungsfälle dar.
 

1. Textvorschlag einfügen Zur Unterstützung der Texterfassung bieten Sie ein oder mehrere zusätzliche Drucktasten an, durch die ein Standardtext in das Textfenster gestellt werden kann. Dieser kann dann vom Benutzer ergänzt  werden. Der Standardtext kann durch die Verwendung von Textvariablen auf die Transaktionsdaten zugeschnitten werden. Es ist auch möglich, je nach eingegebenen Daten (Priorität z.B.) einen passenden Textvorschlag einzublenden.

GuiXT Script SAPLCOIH.D3000.txt:
if X[LTEXT]
  Pushbutton (7,84) "Text vorschlagen" process="textvorschlag.txt"
endif

InputScript textvorschlag.txt:
Screen saplcoih.3000

Set V[Prio] "&F[Priorität]"
if V[Prio=1]
  CopyText fromTemplate="iw31text_prio1.txt" toText="iw31"
else
  CopyText fromTemplate="iw31text.txt" toText="iw31"
endif
CopyText fromText="iw31" toScreen="X[LTEXT]"
Enter

Textvorschlag zu Priorität 1  iw31text_prio1.txt:
Instandhaltung zu Equipment &F[Equipment]

S e h r  d r i n g e n d

Begründung:

 

2. Texterfassung in Einbildtransaktionen Als Beispiel fügen wir in Transaktion MM02 (Ändern Materialstammsatz) eine Drucktaste ein, über die der Benutzer unmittelbar Bezeichnung und Langtext des Materials ändern kann. Das Beispiel soll die Technik demonstrieren; in konkreten Anwendungsfällen werden neben dem Langtext meist weitere Daten erfasst werden.

GuiXT Script SAPLMGMM.D0060.txt:
if Q[Transaction=MM02]
  Offset (6,0)
  if V[MM02_DisplayTextbox=X]
    Box (0,0) (17,82)
    InputField (1,1) "Material &V[MM02_Material]" (2,1) size=40 name="MM02_Materialtext"
   
TextBox (3,1) (15,80) name="MM02_text"

    Pushbutton (16,2)  "@2L@Sichern"           process="MM02_UpdateText.txt"
    Pushbutton (16,20) "@42@Texte neu lesen"   process="MM02_ReadText.txt"
    Pushbutton (1,78)  "@02@"                  process="MM02_CloseText.txt"

  else
    Pushbutton (1,0) "Bezeichnung und Langtext ändern" process="MM02_ReadText.txt" size=2
  endif
endif

InputScript MM02_UpdateText.txt:
  Set F[Material] "&V[MM02_Material]"
  Enter

Screen SAPLMGMM.0070
  set cell[Table,0,1] "X"
  Enter

Screen SAPLMGMM.4004
  Enter "=PB26"

Screen SAPLMGMM.4300
  Set F[MAKT-MAKTX] "&V[MM02_Materialtext]"
 
CopyText toScreen="X[LONGTEXT_GRUNDD]" fromText="MM02_text"
  Enter "/11"

InputScript MM02_ReadText.txt:
Set V[MM02_Material] "&F[Material]"

Screen SAPLMGMM.0070
  set cell[Table,0,1] "X"
  Enter

Screen SAPLMGMM.4004
  Enter "=PB26"

Screen SAPLMGMM.4300
  Set V[MM02_Materialtext] "&F[MAKT-MAKTX]"
 
CopyText fromScreen="X[LONGTEXT_GRUNDD]" toText="MM02_text"

  Set V[MM02_DisplayTextbox] "X"
  Enter "/NMM02"

InputScript MM02_CloseText.txt:
Set V[MM02_DisplayTextbox] "N"
Enter "/NMM02"