2017-11-09 1 views
1

Ich muss einige Änderungen an einem SAPScript vornehmen. Ich habe das Programm und FormularnamenIn SAP-Scripts, wie definieren Sie, welche Daten an ein Element gesendet werden

Programm: RBOSORDER01 Form: RBOSORDER02

Ich suche einen Teil der Daten in der gezeigten Form zu ändern. Ich habe das Programm gedebuggt und ich bekomme den Anruf sieht in das Formular zu schreiben, zum Beispiel:

CALL FUNCTION 'WRITE_FORM' 
     EXPORTING 
      ELEMENT = 'ITEM_TEXT' 
     EXCEPTIONS 
      ELEMENT = 1 
      WINDOW = 2. 

Aber wie die zwischen dem Programm und Form übergebenen Daten sind. Ich kann nicht miteinander verbinden. Ich habe erwartet, dass eine Struktur oder ein Datenelement mit 'ITEM_TEXT' übergeben wird, und dann werden diese Daten an dieses Element "ITEM_TEXT" im Formular gedruckt, aber der Link ist mir nicht klar.

Ich habe das Formular auch in SE71 angeschaut und kann nicht sehen, wo Sie das definieren. Wo ist der Link hier, was fehlt mir?

Antwort

2

Dies ist in der Form, so SE71 ist, was Sie brauchen. Sie müssen zuerst das Fenster finden, in dem dieses Element (ITEM_TEXT) angezeigt wird, dann nach dem Element suchen und sehen, was darin angezeigt wird. Das SAPSript-Formular verwendet standardmäßig die globalen Variablen (Strukturen, interne Tabellen) des Druckprogramms (es gibt auch einige andere Optionen, zum Beispiel INCLUDE-Texte). Wenn zum Beispiel eine globale Variable gv_text im Druckprogramm deklariert ist und im SAPScript angezeigt wird, dann sieht es wie & GV_TEXT & im Formular aus.

Sie können das SAPScript auch debuggen, wenn Sie das Debugging in SE71 einschalten (kann sehr mühsam sein, wenn das Formular groß ist).

1

Funktion 'WRITE_FORM' ruft in diesem Fall nur den EntryPoint des Formulars (SE71/RBOSORDER02) mit ELEMENT = 'ITEM_TEXT' auf.

So werden Sie oben im MAIN-Fenster am Ende:

/E  ITEM_TEXT 
/:  INCLUDE &VBDPA-TDNAME& OBJECT VBBP ID 0001 PARAGRAPH IT 

In diesem Fall müssen Sie debuggen, was „VBDPA-TDNAME“ ist zu dieser Zeit und dann werden Sie seinen Wert mit der Transaktion „SO10 finden "(Standard-Text)

Das INCLUDE kann ein komplexer Text sein und seine eigenen Formatzeichenfolgen haben.

Wie schon Jozsef sagte, ist VBDPA-TDNAME global im Druckprogramm definiert. (SE38n/RBOSORDER01)

Verwandte Themen