Was klappt nicht?Trulchen hat geschrieben:So jetzt hätte ich gerne das man wenn man auf die Drucktaste Eintrag Anzeigen auf Scrren 200 geht
Und auf die Drucktaste Anzeigen Prospekte auf den Screen 300 geht
Und auf die Drucktaste Angebote Löschen/Hinzufügen auf Screen 400 geht!
Über den POB Befehl "Call screen xxx" klappt es nicht -.-
Code: Alles auswählen.
module USER_COMMAND_0100 input.
CASE ok_code.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'SELECT'.
SELECT SINGLE * FROM ZZ1000_Angebot INTO CORRESPONDING FIELDS OF WA_ANGEBOT WHERE ANGEBOTS_ID = ZZ1000_Angebot-ANGEBOTS_ID.
SELECT SINGLE * FROM ZZ1000_ANGEBOT INTO CORRESPONDING FIELDS OF WA_PROSPK Where ProspID = ZZ1000_ANGEBOT-PROSPID AND PROSPID = ZZ1000_PROSP-PROSPID.
CALL SCREEN 200.
WHEN 'BILDSCH'.
CALL SCREEN 300.
ENDCASE.
CLEAR ok_code.
endmodule. " USER_COMMAND_0100 INPUT
Das ist aber die Lösung!Trulchen hat geschrieben:Ich denke das geht eben nicht weil ich mehr als ein Folgedynpro brauche im Screen 100 oder?
1. Im Screen 100 musst du dir merken, welche Auswahl der User getroffen hat (z.B.: globale Variable füllen)Trulchen hat geschrieben:Aber meine Versuche sind bis jetzt gescheitert
Code: Alles auswählen.
CASE ok_code.
WHEN 'QUIT'.
LEAVE PROGRAM. WHEN 'ANG_ANZ'.
SELECT SINGLE * FROM ZZ1000_Angebot INTO WA_ANGEBOT WHERE ANGEBOTS_ID = ZZ1000_Angebot-ANGEBOTS_ID.
if sy-subrc = 4.
MESSAGE e001.
ELSE.
gv_answer ='a_anz'.
LEAVE to SCREEN 300.
ENDIF.
WHEN 'PRO_ANZ'.
SELECT SINGLE * FROM ZZ1000_PROSP INTO WA_PROSPK Where ProspID = ZZ1000_PROSP-PROSPID.
if sy-subrc = 4.
MESSAGE e001.
gv_answer = 'p_anz'.
ENDIF.
LEAVE to SCREEN 300.
ENDCASE.
Code: Alles auswählen.
LOOP AT SCREEN.
CASE answer.
WHEN 'a_anz'.
IF screen-group1 = 'PRO'.
screen-input = 1.
screen-active = 0.
ENDIF.
WHEN 'p_anz'.
IF screen-group1 = 'ANZ'.
screen-input = 1.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.