Code: Alles auswählen.
*---------------------------------------------
SELECTION-SCREEN BEGIN OF SCREEN 300. "= BVP
SELECTION-SCREEN BEGIN OF BLOCK produktion.
PARAMETERS pfuerper LIKE p01cbe-zzfuerper.
SELECTION-SCREEN END OF BLOCK produktion.
SELECTION-SCREEN END OF SCREEN 300.
*---------------------------------------------
SELECTION-SCREEN BEGIN OF SCREEN 100. "= BVE
PARAMETERS ptst TYPE c.
SELECTION-SCREEN INCLUDE BLOCKS produktion.
SELECTION-SCREEN END OF SCREEN 100.
*---------------------------------------------
IF sy-sysid <> 'BVP'.
CALL SELECTION-SCREEN 100.
ELSE.
CALL SELECTION-SCREEN 300.
ptst = 'P'.
ENDIF.
Code: Alles auswählen.
AT SELECTION-SCREEN.
IF sy-ucomm = 'COM1'.
cflag = 1.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
IF cflag = 1.
LOOP AT SCREEN .
IF screen-name CS 'FLD1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Das Konzept ist schon kaputt.herbivore hat geschrieben:IF sy-sysid <> 'BVP'.
CALL SELECTION-SCREEN 100.
ELSE.
CALL SELECTION-SCREEN 300.
ptst = 'P'.
ENDIF.[/code]
Meine Hauptfrage wäre weiterhin, wie ich ein Programm mit diesen Selektionsscreens (mit Variante) im Hintergrund gestartet bekomme.
Richtig!wird anscheinend (implizit) bei START-OF-SELECTION aufgerufen.
Ich bin bisher davon ausgegangen, dass ich eine Variante gerade dafür anlege, damit der Schirm vom System mit den in der Variante angegebenen Werten gefüllt werden kann, sobald er aufgerufen wird; egal welcher Schirm wann und wie oft aufgerufen wird. Das ist scheinbar nicht so.Wer soll denn da im Batch Daten eingeben können?
Code: Alles auswählen.
IF sy-sysid <> 'BVP'.
IF sy-batch <> 'X'.
CALL SELECTION-SCREEN 100.
ENDIF.
ELSE.
IF sy-batch <> 'X'.
CALL SELECTION-SCREEN 300.
ENDIF.
ptst = 'P'.
ENDIF.