Header orange

Sintassi ABAP per elementi della schermata di selezione

Guida publicata da: Anonymous
Parole chiave: SAP, ABAP, sintassi, selection screen.

Ecco una lista di richiami alla sintassi ABAP, utili per gestire varie casistiche nella selection screen di un programma!


-Sei uno sviluppatore ABAP? Salva il tuo codice (o la tua guida) su You-Specialist, lo troverai sempre disponibile su internet! Usa questo link, inserisci il codice nel form e noi lo pubblicheremo. Ricorda di dare una breve descrizione sull'utilizzo del codice o sulla sua funzione-

Gestione di un parametro di selezione visibile ma non editabile

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_PARAMNAME'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.

START-OF-SELECTION.
* [...]


Creazione di pulsanti con testo descrizione

REPORT zpippo.
TABLES: sscrfields.

SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON /30(70) tasto1 USER-COMMAND run1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON /30(70) tasto2 USER-COMMAND run2.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON /30(70) tasto3 USER-COMMAND run3.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON /30(70) tasto4 USER-COMMAND run4.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK 1.

INITIALIZATION.
MOVE text-t01 TO tasto1.
MOVE text-t02 TO tasto2.
MOVE text-t03 TO tasto3.
MOVE text-t04 TO tasto4.

AT SELECTION-SCREEN.
IF sscrfields-ucomm = 'RUN1'.
PERFORM extract_data USING 'RUN1'.
ELSEIF sscrfields-ucomm = 'RUN2'.
PERFORM extract_data USING 'RUN2'.
ELSEIF sscrfields-ucomm = 'RUN3'.
PERFORM extract_data USING 'RUN3'.
ELSEIF sscrfields-ucomm = 'RUN4'.
PERFORM extract_data USING 'RUN4'.
ENDIF.


Select option lower case e con campo di input singolo (consente inserimenti multipli, ma non ranges)

SELECT-OPTIONS: so_mail FOR adr6-smtp_addr NO INTERVALS LOWER CASE.


Vari tipi di parametro

PARAMETERS : p_idoc AS CHECKBOX,
p_insert RADIOBUTTON GROUP g1 MODIF ID 001,
p_change RADIOBUTTON GROUP g1 MODIF ID 001,
p_delete RADIOBUTTON GROUP g1 MODIF ID 001.


Parametri e select options su stessa riga

SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: POSITION 50.
SELECTION-SCREEN: POSITION 40.
SELECTION-SCREEN: POSITION 20.
SELECTION-SCREEN: POSITION 02.
SELECTION-SCREEN: COMMENT 02(15) txt01 MODIF ID 002.
PARAMETERS: par01 TYPE char20
OBLIGATORY MODIF ID 002
DEFAULT 'name'.
SELECTION-SCREEN: COMMENT 40(12) txt11 MODIF ID 002.
SELECT-OPTIONS: sel01 FOR (dfies-fieldname)
OBLIGATORY MODIF ID 002
DEFAULT 'value'.
SELECTION-SCREEN: END OF LINE.


Pulsante per aprire l'SM30 su una tabella

SELECTION-SCREEN BEGIN OF BLOCK 3 WITH FRAME TITLE text-003.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER: p_indsv AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 03(79) text-004.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT 01(79) text-006.
SELECTION-SCREEN PUSHBUTTON /33(60) pulsdati USER-COMMAND tabdati.
SELECTION-SCREEN END OF BLOCK 3.

INITIALIZATION.
MOVE text-005 TO pulsdati.

AT SELECTION-SCREEN.
IF sscrfields-ucomm = 'TABDATI'.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'U'
view_name = 'ZMAINT_VIEW'. "Nome view d'aggiornamento
ENDIF.

START-OF-SELECTION.


-Questo contenuto ti sembra utile? Clicca il pulsante "Mi Piace" qui sotto!-



ADS LINK LARGO 2