Veröffentlicht 3. Februar 201114 j Ich arbeite gerade an einem Report, der über einen Selektionscreen gesteuert wird. Auf dem System, auf dem er zum Einsatz kommen soll laufen 2 Mandanten die nicht vollkommen gleich sind. Im Code selbst kann ich mit IF sy-mandt = '002' den Mandanten unterscheiden. Soweit kein Problem. Nun hätten wir aber gerne bei der Darstellung des Selection Screen auch eine Unterscheidung Mandanten. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002. PARAMETERS: portf AS CHECKBOX, bucket AS CHECKBOX, review AS CHECKBOX, initiat AS CHECKBOX, item AS CHECKBOX. SELECTION-SCREEN END OF BLOCK b2. Hier sind je nach Mandant nur 4 Auswahlmöglichkeiten sinnvoll. Ich habe versucht das ganze in einer Unterscheidung mit IF zu klammern, habe damit aber keinen Erfolg. Was könnte ich noch tun?
3. Februar 201114 j Ereignis: selection-screen output at selection-screen output. loop at screen. if sy-mandt eq '001'. if screen-name eq 'abcd'. screen-input = 0. "ausblenden modify screen. elseif screen-name eq 'bcde'. ... endif. elseif sy-mandt eq '001'. ... endif.
4. Februar 201114 j Autor Danke, das klappt. Auch wenn er bei mir den screen-name nur in CAPS akzeptiert hat. Gut zusammengefasst, was mit den screen-Attributen geht: Attribute dynamisch setzen (SAP-Bibliothek - ABAP Programmierung (BC-ABA))
4. Februar 201114 j Auch wenn er bei mir den screen-name nur in CAPS akzeptiert hat. Ja, das hatte ich nicht im Kopf, daß das unbedingt groß geschrieben werden muß. ABAP ist schon ein bißchen gewöhnungsbedürftig.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.