Druckprogramm-SAPScript

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

Druckprogramm-SAPScript

Beitrag von mazu (ForumUser / 60 / 1 / 0 ) »
Hallo,
ich hab folgendes Problem:
in einem Druckprogramm fülle ich einen eigenen Parameter.
Der sollte ja automatsich im SAP-Script bekannt sein, wenn das Druckprogramm dem Formular zugewiesen wird.
Ich bekomme aber den Wert nicht rüber-der Parameter scheint generell leeer zu sein ??
Woran könnte das liegen ?

Gruss
mazu

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


Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hi mazu,

hier mal einn paar Fragen zu deinem Problem:

Wird der Feld vor dem Aufruf des Formular gefüllt?
Ist das Feld im Formular eingetragen?
Ist es auf der entsprechenden Seite vorhanden oder nur an bstimmten Sprungmarken?

Wenn das nicht weiterhilft, beschreibe dein Problem estwas genauer oder poste mal etwas Programm.

Gruss

Thomas

Beitrag von mazu (ForumUser / 60 / 1 / 0 ) »
Hallo Thomas,

ich befülle das Feld vor dem Aufruf des SapScripts definitiv.
Einmal habe ich es mit einem eigenen Feld probiert (LASTCOPY) und andersweitig mit der SAP-eigenen Ubergabestruktur A_OUTPUT, wo ich einen Append drangehängt habe. Das wird vorher auch durchlaufen, und abgefüllt.
Im Formular habe ich mir ein eigenes kleines Fenster auf der Seite gebaut, und laufe es so ab:
/: CASE &A_OUTPUT-ZZOMRCODE&
/: WHEN 0.
* &A_OUTPUT-ZZOMRCODE&
/:WHEN 1.
* &A_OUTPUT-ZZOMRCODE&
/: WHEN 2.
* &A_OUTPUT-ZZOMRCODE&
/: WHEN OTHERS.
* BLABLA
/:ENDCASE.

/: IF &LASTCOPY& EQ ' '.
* AAA
/:ENDIF.
/:IF &LASTCOPY& EQ 'X'.
* BBB
/:ENDIF.

Ich erhalte immer als Ergebnis:
BLABLA
AAA

Das heisst, das Coding wird ja durchlaufen.
Wie trägt man ein Feld im Formaulr ein ?
Wenn ich das Formular prüfe, ist die Definition ok; wenn ich die Texte prüfe, kommt immer:
unbekanntes Symbol A_OUTPUT-ZZOMRCODE
Aber das tritt auch bei best. SAP-Feldern aus dieser Struktur auf.

Hilft Dir das soweit?

Gruss
mazu

Beitrag von mazu (ForumUser / 60 / 1 / 0 ) »
Hallo Thomas,

ich befülle das Feld vor dem Aufruf des SapScripts definitiv.
Einmal habe ich es mit einem eigenen Feld probiert (LASTCOPY) und andersweitig mit der SAP-eigenen Ubergabestruktur A_OUTPUT, wo ich einen Append drangehängt habe. Das wird vorher auch durchlaufen, und abgefüllt.
Im Formular habe ich mir ein eigenes kleines Fenster auf der Seite gebaut, und laufe es so ab:
/: CASE &A_OUTPUT-ZZOMRCODE&
/: WHEN 0.
* &A_OUTPUT-ZZOMRCODE&
/:WHEN 1.
* &A_OUTPUT-ZZOMRCODE&
/: WHEN 2.
* &A_OUTPUT-ZZOMRCODE&
/: WHEN OTHERS.
* BLABLA
/:ENDCASE.

/: IF &LASTCOPY& EQ ' '.
* AAA
/:ENDIF.
/:IF &LASTCOPY& EQ 'X'.
* BBB
/:ENDIF.

Ich erhalte immer als Ergebnis:
BLABLA
AAA

Das heisst, das Coding wird ja durchlaufen.
Wie trägt man ein Feld im Formaulr ein ?
Wenn ich das Formular prüfe, ist die Definition ok; wenn ich die Texte prüfe, kommt immer:
unbekanntes Symbol A_OUTPUT-ZZOMRCODE
Aber das tritt auch bei best. SAP-Feldern aus dieser Struktur auf.

Hilft Dir das soweit?

Gruss
mazu

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hallo mazu,

lass dir das feld doch prinzipiell mal ausgeben vor deinem CASE-Befehl

* testzeile &A_OUTPUT--ZZOMRCODE&

Was du noch prüfen solltest, ist das die Struktur A_Output global und nicht lokal definiert ist. Parallel kanst du in deinem Programm ja mal einen globales Feld anlegen und mit ausgeben lassen

Programm: data: g_test(4) type c value 'mazu'.

Formular : * testzeile2 &g_test&

Wenn du im SAP-Script Befehle schreibst, brauchst du diese nicht mit einem Punkt abzuschließen ( WHEN 0 und nicht WHEN 0.) . Manchmal führt auch das zu Problemen.

MfG

Thomas

Beitrag von mazu (ForumUser / 60 / 1 / 0 ) »
Hi,

ja, so ne Testzeile hab ich auch schon versucht:
da kommt dann halt:
testzeile

Meine Feld scheint leer zu sein.
A_OUTPUT ist ja von der SAP die Struktur, und sie benutzten bestimmte Felder daraus ja auch im Formular. Daher war meine Idee: da häng ich mich dran, und fertig.
Wo sehe ich, ob die lokal oder global ist (eigentlich bezieht die sich auf einen DDIC-Typ ).
Das Druckprogramm ist übrigens RPLLAWC2, und das Formular eine Kopie von HR_CH_LAW_2005.

Und ein globlaes Feld (LASTCOPY) hab ich auch schon probiert-funzt auch nicht.

Ja, bin nicht so sattelfest in Sapscript. Das mit den Pnkten hab ich inzwischen geändert, aber keine Auswirkung.

Gruss
mazu

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hallo mazu,

hast du auch den 2. test benutzt mit einem eigenen Feld?

Wenn du SAP-Strukturen benutzt, solltest du sicherstellen, das diese im Programm zu einem anderen Zeitpunkt nicht initialisiert bzw. geändert werden.

Sinnvoller ist es ein eigenes Feld zu benutzten, da gehst du allen Ärger aus dem Weg.

Thomas

Test 2

Beitrag von mazu (ForumUser / 60 / 1 / 0 ) »
Hallo,
tscha,zur globalen Sache fiolgendes:
Im Druckprogramm RPLLAWC2 besteht (nach SP) nur noch aus dem Include RPLLAWCI_ELM.

*{ INSERT D01K929278 1
DATA: LASTCOPY TYPE C.
data: g_test(4) type c value 'mazu'.
*} INSERT

Da wird so in das SAPScript abgezweigt:

* ... or as SAPScript
IF NOT p_sapscr IS INITIAL.
CALL METHOD sapscripts->print
EXPORTING
formular_name = p_ssform
dialog_title = text-t01
number_of_copies = p_numcop.
CALL METHOD messages->add_message_container( sapscripts ).


In der Methode PRINT geht es folgendermassen weiter:
CALL METHOD me->open_form...
CALL METHOD me->print_sapscript...-> hier wird es interessant
CALL METHOD me->close_form...

In der Methode PRINT_SAPSCRIPT will/muss ich das Feld g_test befüllen:
aber: das ist dort unbekannt. Erst wenn ich es dort nochmal lokal deklariere, geht es. Aber: das kommt im Formular nicht an, weil ich ja nicht das Feld aus RPLLAWC2 beschickt habe (obwohl sie namensgleich sind).

Gruss
mazu

Beitrag von mazu (ForumUser / 60 / 1 / 0 ) »
Hallo Thomas,

so, jetzt geht es soweit: ich habe da das Befüllen der SAP-Struktur zu spät vorgenommen. Da gibt es noch eine Methode set_output_structure.
Aber das mit dem eigenen Paramter klappt weiterhin nicht; hoffe nicht, das ich noch einen brauche.
Danke für Deine Mithilfe.

Gruss
mazu

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2630
Views
SAPscript Druckprogramm auf Smartform Druckprogramm ändern
von Luigi91 » 03.03.2014 15:28 • Verfasst in ABAP® für Anfänger
3
Antw.
5493
Views
SAPScript, Druckprogramm debuggen
von wobauer1 » 28.06.2006 07:28 • Verfasst in Basis
1
Antw.
1121
Views
Druckprogramm für IH Aufträge
von Betze » 20.02.2006 11:01 • Verfasst in Material Management & Produktionsplanung
3
Antw.
2855
Views
eigenes Druckprogramm zu Nachrichtenart
von Aba » 26.02.2018 12:27 • Verfasst in ABAP® für Anfänger
1
Antw.
1542
Views
Papierschachtwahl im Druckprogramm steuern
von schw490 » 16.11.2006 11:07 • Verfasst in ABAP® Core

Über diesen Beitrag


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

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.