Hallo zusammen.
Ich gebe in meine erstelle BSP-Seite 2 Werte ein um mittels CALL TRANSACTION die Transaktion SE38 aufzurufen. Die Werte sind der Programmname und der Text. In der SE 38 soll also das relevante Programm geöffnet und in Zeile 6 ein beliebiges Stück Code eingefügt werden. (Nur zu Testzwecken, kein tieferer Sinn
)
Was ich bisher getan habe:
1) mittels des Transaktionsrekorders den aufruf se38 aufgezeichnet und einen FUBA generiert.
2) den fuba in meinem BSP aufgerufen und die beiden werte (progname und text) übergeben (Im Eveventhandler OnINputProcessing).
3) funzt tadellos mit BSP und FUBA.
4) den fuba rausgenommen und die Funktion CALL TRANSACTION per Hand in den EVENTHANDLER OnINputProcessing eingefügt. Mit erstellen der Inputmappe.
5) es funktioniert nicht mehr?!
Hier der Code zu Punkt 4:
CLEAR BDCDATA.
WA_BDCDATA-PROGRAM = 'SAPLWBABAP'.
WA_BDCDATA-DYNPRO = '0100'.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'BDC_CURSOR'.
WA_BDCDATA-FVAL = progField.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'BDC_OKCODE'.
WA_BDCDATA-FVAL = '=CHAP'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = progField.
WA_BDCDATA-FVAL = nameNew.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'RS38M-FUNC_EDIT'.
WA_BDCDATA-FVAL = 'X'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-PROGRAM = 'SAPLS38E'.
WA_BDCDATA-DYNPRO = '0400'.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'BDC_OKCODE'.
WA_BDCDATA-FVAL = '=WB_SAVE'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'BDC_CURSOR'.
WA_BDCDATA-FVAL = 'RSTXP-TDLINE(06)'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'RSTXP-TDFIRST'.
WA_BDCDATA-FVAL = ' 1'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'RSTXP-TDLINE(06)'.
WA_BDCDATA-FVAL = textNew.
APPEND WA_BDCDATA TO BDCDATA.
CALL TRANSACTION 'SE38' USING BDCDATA MODE 'A'
MESSAGES INTO ITAB.
---
Die Tabelle BCDATA ist nach beim Aufruf von "CALL TRANSACTION 'SE38' USING BDCDATA ..." wie folgt gefüllt:
Zeilen NR. Programm Dynpro Startkennzeichen Feldname Feldwert
1 SAPLWBABAP 100 X
2 0 BDC_CURSOR RS38M-PROGRAMM
3 0 BDC_OKCODE =CHAP
4 0 RS38M-PROGRAMM ZTEST_PROG
5 0 RS38M-FUNC_EDIT X
6 SAPLS38E 400 X
7 0 BDC_OKCODE =WB_SAVE
8 0 BDC_CURSOR RSTXP-TDLINE(06)
9 0 RSTXP-TDFIRST 1
10 0 RSTXP-TDLINE(06) *XXXXXXXXXXX
Hoffe das hilft und war nich zuviel Info
Wieso funktionert es nicht, wenn ich BCDATA per "Hand" fülle, obwohl das gleich drin steht, wie in der vom FUBA gefüllten BCDATA?
Viele sonnige Grüße
Kai