[60478] in SAPr3-news

home help back first fref pref prev next nref lref last post

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

home help back first fref pref prev next nref lref last post