[60478] in SAPr3-news
Re: =?ISO-8859-15?Q?Zus=E4tzliches_eigenes_Druckprogramm_u?=
daemon@ATHENA.MIT.EDU (St. Kother)
Fri Jan 11 07:55:32 2008
To: sapr3-news@mit.edu
Date: Fri, 11 Jan 2008 13:55:15 +0100
From: "St. Kother" <steffen.kother@gmx.net>
Message-ID: <5up78vF1hhpd8U1@mid.individual.net>
Reply-To: steffen.kother@gmx.net
Hallo Raphaela,
Raphaela Corall schrieb:
> Einfachste Möglichkeit: Eigene Nachrichtenart "Kopie für Lager".
> Dafür kannst Du das Customizig der normalen AB kopieren und brauchst
> weder eine eigenes Druckprogramm noch ein eigenes Formular.
NAST-KSCHL = 'ZNOT' mit ZRVADOR01 auf ZRVORER03
> Stattdessen fragst Du einfach am Ende der AB die Nachrichtenart ab
> und hängst ggf. nach Seitenwechsel den zusätzlichen Text per include
> dran.
Im (Standard-)Formular ZRVORDER03 habe ich jetzt unter Element
SUPPLEMENT_TEXT folgendes als Kommandos (/:) eingefügt:
IF &NAST-KSCHL& EQ 'ZNOT'
PERFORM GET_NOTE IN PROGRAM 'ZNOTIZ01'
USING &VBDKA-SPRAS&
USING &VBDKA-TDNAME&
ENDPERFORM
Das Druckprogramm sieht so aus:
[abap]
REPORT ZNOTIZ01.
data: it_line type table of tline,
wa_line type tline.
data: str_itcpo like itcpo.
data: notiz type tdline.
form get_note tables belegdaten structure itcsy.
data: sprache like vbdka-spras,
text like vbdka-tdname.
read table belegdaten index 1.
move belegdaten-value to sprache.
read table belegdaten index 2.
move belegdaten-value to text.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = '0002'
language = sprache(1)
name = text
object = 'VBBK'
TABLES
lines = it_line.
perform data_on_printer.
endform.
form data_on_printer.
if not it_line is initial.
* Formular ausdrucken *
endif.
endform.
[/abap]
Allerdings bekomme ich einen Kurzdump, wenn ich mir schon nur die
Vorschau der ZNOT-AB ansehen will:
[dump]
Durch PERFORM wurde die Routine "GET_NOTE" des Programms "ZNOTIZ01 "
aufgerufen. Diese Routine besitzt 2 formale Parameter. Der aktuelle
Aufruf enthält jedoch 4 aktuelle Parameter.
[/dump]
Leider hänge ich jetzt an dieser Stelle fest und komme im Moment auch
mit Doku und Hilfe nciht klar. Meine Unterlagen zeigen mir auch nur
Beipsielcodings mit einer übergebenen Variablen und einer die zurück
gegeben wird.
Was muss ich ändern bzw. wie muss die Übergabe der Variablen aus dem
Skript in das Programm erfolgen? Wie kann ich dann die beiden Werte
korrekt abfragen?
TIA und MfG,
Steffen