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 ?
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.
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.
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.
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.
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.
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.
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.
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).
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.