SAPScript: zweites MAIN-Fenster über FB WRITE_FORM versorgen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

SAPScript: zweites MAIN-Fenster über FB WRITE_FORM versorgen

Beitrag von Tribun ( / / 0 / 3 ) »
Hallo zusammen,

ich habe innerhalb eines SAP-Script-Formulars ein zweites MAIN-Fenster definiert, um darin dynamische Inhalte aus einer internen Tabelle des Druckprogramms auszugeben (eine solche Ausgabe innerhalb eines Nicht-Hauptfensters habe ich nicht hinbekommen)
Das zweite MAIN-Fenster wird automatisch in MAIN mit der forlaufenden Nummer 1 umbenannt. Versucht man den Fensternamen zu ändern, ändert sich auch der Typ.

Mein Problem besteht nun darin, dieses Fenster über den Funktionsbaustein WRITE_FORM anzusprechen (es wird immer Exception 6 ausgelöst, d.h. falscher Fenstername). Hab bereits alles ausprobiert, von MAIN1 bis MAIN0001.
Kann mir jemand sagen, wie dieses Objekt angesprochen werden muss ?
Im voraus vielen Dank !!

Beste Grüße
Tribun

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


Beitrag von Gast ( / / 0 / 3 ) »
Hallo,
man kann nur ein MAIN Fenster definieren.
Schau dir mal das Formular RM07ETIKETT an.
Im Seitenlayout sieht man zwar mehrere MAIN Fenster (Etiketten), aber die Textelemente kann man nur einmal für alle erfassen.
Gruß
Hed

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo,

technisch werden die verschiedenen MAIN-Fenster als eines behandelt und nacheinander gefüllt. In sofern ist es nicht möglich ein bestimmtes MAIN-Fenster explizit anzusprechen.
Über die Nummerierung im Namen dürfte die Befüllungsreihenfolge gesteuert werden.

Wenn Du also Daten dynamisch in ein Nicht-MAIN-Fenster ausgeben willst, musst Du möglicherweise bei der Verwendung des WRITE_FORM den Parameter FUNKTION mit APPEND belegen, um weitere Daten anzuhängen.

ACHTUNG: alle Daten, die nicht in ein solches Fenster passen, werden abgeschnitten!!! :!: Ein Weiterführen auf Folgeseiten findet auch nur für MAIN-Fenseter statt!! :!:
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Gast ( / / 0 / 3 ) »
danke für Eure Antworten.

Beim dynamischen Ausgeben in ein Nicht-Hauptfenster verstehe ich das Systemverhalten des Formularprozessors nicht. Im Formular steht am Ende n mal der gleiche Inhalt des letzten Schleifendurchlaufs, obwohl eigentlich bei jedem loop der aktuelle Inhalt der workarea mit WRITE_FORM (Funktion APPEND) ausgegeben werden soll.

In dem Fenster sollen zu einer Rechnung mehrere Mwst-Sätze ausgegeben werden (z.B. 16%, 0%)
Ich verwende folgende Syntax

LOOP AT it_mwst into wa_mwst
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'STEUER'
function = 'APPEND'
window = 'MWST'
EXCEPTIONS
[...]
ENDLOOP.

Habe schon Stunden im SAPscript-Debugger verbracht, bin aber nicht dahintergekommen. :(

Beitrag von quercus (ForumUser / 13 / 0 / 0 ) »
Hallo,
wenn ich mich recht erinnere, habe ich so ein Problem auch schon mal gehabt.
Ein zweites MAIN Fenster sollte nicht erforderlich sein. Wir haben Formulare, auf denen mehrere Tabellen in einem MAIN-Fenster ausgegeben werden.
Im Formular sind jeweils entsprechende Textelemente definiert, z.B.
/E T_HEADER (für die Überschrift)
/E T_ITEM (für die Positionen)
Im Druckprogramm sieht das dann so aus:
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'T_HEADER'
FUNCTION = 'SET'
WINDOW = 'MAIN'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
LOOP AT IT_ITEMS INTO ITEMS_WA.
EXPORTING
ELEMENT = 'T_ITEM'
FUNCTION = 'APPEND'
WINDOW = 'MAIN'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
ENDLOOP.

D.h. zuerst die Überschrift mit SET, dann die
Positionen mit APPEND.
Vielleicht nützt Dir diese Info etwas.
Gruß quercus
Aimer savoir est humain, savoir aimer est divin

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Anonymous hat geschrieben:Beim dynamischen Ausgeben in ein Nicht-Hauptfenster verstehe ich das Systemverhalten des Formularprozessors nicht.
bei einem Nicht-Hauptfenster kannst du zwar Elemente ansprechen, aber nur einmal!!

Wenn du mehrere Zeilen ausgeben möchtest, dann solltest du diese in unterschiedliche Variablen packen (MWST1, MWST2, WERT1, WERT2,...) und diese dann im Infofenster ausgeben.

Oder du gibst sie im MAIN aus und machst dafür das MAIN-Fenster etwas höher und die MWSt-Sätze evtl. per Tabulatur positionieren.

Gruß,
Enno

Beitrag von Tribun ( / / 0 / 3 ) »
ewx hat geschrieben: bei einem Nicht-Hauptfenster kannst du zwar Elemente ansprechen, aber nur einmal!!
AHA! das erklärt einiges.


Wenn du mehrere Zeilen ausgeben möchtest, dann solltest du diese in unterschiedliche Variablen packen (MWST1, MWST2, WERT1, WERT2,...) und diese dann im Infofenster ausgeben.
[/quote]

genau so habe ich es mittlereile auch umgesetzt. :)

Danke für Eure Hilfe!.
Schönes WE.

Tribun

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1726
Views
SAPscript - Address...Endaddress im Fenster Main
von tmaurer » 06.10.2005 15:39 • Verfasst in ABAP® Core
0
Antw.
1361
Views
Main-Fenster in SmartForms
von baldeagle » 03.04.2007 15:02 • Verfasst in ABAP® Core
7
Antw.
1886
Views
Smartforms Main-Fenster mit dynamischer Größe
von Anja U » 12.11.2019 17:25 • Verfasst in ABAP® Core
1
Antw.
2101
Views
SAP-Script: Boxen und Linien im TOP-Bereich des MAIN-Fenster
von ST22 » 19.04.2005 15:18 • Verfasst in SAP - Allgemeines
2
Antw.
1648
Views
Fenster Main nicht auf allen Seiten gleich breit
von SAPine » 10.01.2007 06:49 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 16 Stunden von tar 8 / 364
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 284
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 527

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

Regex in where
vor 16 Stunden von tar 8 / 364
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 284
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 527

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 221
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3403
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9953