ELTE SAP Excellence Center Oktatóanyag 1
ELTE SAP Excellence Center Oktatóanyag 2
ELTE SAP Excellence Center Oktatóanyag 3
A felhasználók három különböző képernyővel találkoznak
ELTE SAP Excellence Center Oktatóanyag 4
•Listák az adatmegjelenítéshez (ALV, Write típusú)
•Szelekciós képerny ők a program lefutásához szükséges bemeneti adatok beállításához, szűréséhez
•Dynpro , ami nem más mint programozott képernyő képek. Magukban foglalják a menüsort, funkciós gombokat, valamint a munkaterületen lévő különböző funkciós elemeket (gombok, legördülő menük, beviteli mezők, stb.)
ELTE SAP Excellence Center Oktatóanyag 5
ELTE SAP Excellence Center Oktatóanyag 6
ELTE SAP Excellence Center Oktatóanyag 7
ELTE SAP Excellence Center Oktatóanyag 8
ELTE SAP Excellence Center Oktatóanyag 9
A szelekciós képernyő feladata, hogy a felhasználó számára olyan beviteli
ELTE SAP Excellence Center Oktatóanyag 10
maszkot bocsásson rendelkezésre, melynek segítségével az adatbázisról olvasandó adatmennyiség korlátozható.
A felhasználó,
• kitölthet egyedi mezőket
• megadhat intervallumokat, műveleteket, amik szerint szűr
• betölthet egy elmentett változatot kitöltött szelekciós képeknek (Ugrás -> Változatok)
A rendszer gondoskodik a típusellen őrzésről: ha a bevitt érték nem felel meg a várt típusnak, automatikusan hibaüzenet jelenik meg, és a mező ismét bevitelre készen rendelkezésre áll.
Értéksegítségek, ill. keresési segítségek az F4 funkcióbillentyűvel vagy a nyomógomb megnyomásával érhetőek el
A felhasználó részére könnyen érthető szelekciós szövegeket is adhatunk, melyek a megfelelő beviteli mező előtt a bejelentkezési nyelven jelennek meg.
A SELECT-OPTIONS <név> FOR <adatobjektum> utasítással szelekciós opciótdefiniálhatunk: A szelekciós képen alapesetben két – az adatobjektummal megegyező
ELTE SAP Excellence Center Oktatóanyag 11
definiálhatunk: A szelekciós képen alapesetben két – az adatobjektummal megegyezőtípusú – beviteli mező jelenik meg, intervallumhatárok megadására vagy komplexkorlátozáshoz. Programon belüli adatobjektumként négy oszlopból álló belső tábla (<név>) kerül deklarálásra:
• sign ahhoz az információhoz, hogy az érték vagy az intervallum szelektálásra, vagy a szelekcióból kizárásra kerüljön-e.
• option az operátorhoz: a lehetséges operátorok listáját a SELECT-OPTIONS utasításkulcsszódefiníciójában található.
• low az intervallum alsó határához vagy egyedi értékhez
• high az intervallum felső határához
Bemenő adatok megadásához:
A 'PARAMETERS <név> TYPE <típus>' ill. 'PARAMETERS <név> LIKE <adatobjektum|dictionary-típus> ' utasítással a rendszer elemi beviteli mezőt hoz létre a szelekciós képen, és egy ugyanolyan típusú <név> adatobjektumot deklarál.
Esemény blokkok, modularizálás.
ELTE SAP Excellence Center Oktatóanyag 12
Végrehajtható programban elegendő, ha egy PARAMETERS- vagy SELECT-OPTIONS-utasítást programozunk, melyek hatására az ABAP-futásidőrendszer standard szelekciós képernyőt bocsájt a rendelkezésünkre.
A szelekciós képernyő az INITIALIZATION eseményblokkot követően kerül végrehajtásra. Érték beállítások hajtódnak végre.
A szelekciós képernyőhöz tartozik az AT SELECTION-SCREEN eseményblok. Miután a szelekciós képernyő a ‚végrehajtás‘ paranccsal lezárásra került, a futásidőrendszer fehívja a START-OF-SELECTION eseményblokkot.
*&---------------------------------------------------------------------*
*& Report ZELTE_ESEMENY_PELDA
ELTE SAP Excellence Center Oktatóanyag 13
*&
*&---------------------------------------------------------------------*
*& 05_01-Példaprogram Szelekciós képernyő eseményeinek bemutatására
*&
*&---------------------------------------------------------------------*
REPORT ZELTE_ESEMENY_PELDA LINE-COUNT 10(1).
TABLES: zelte_szem.
DATA: BEGIN OF t_report OCCURS 3,
veznev LIKE zelte_szem-vezeteknev,
kernev LIKE zelte_szem-keresztnev,
END OF t_report.
*begin selection screen
PARAMETERS p_datum LIKE sy-datum.
PARAMETERS p_check AS CHECKBOX.
*end selection screen
INITIALIZATION.
*begin initialization
MOVE sy-datum TO p_datum.
*end initialization
AT SELECTION-SCREEN.
*begin at selection-screen
MESSAGE I888(sabapdocu) WITH 'At selection-screen'.
IF p_check = 'X'.
MESSAGE E888(sabapdocu) WITH 'Clear checkbox'.
ENDIF.
*end at selection-screen
AT SELECTION-SCREEN OUTPUT.
*begin at selection-screen output
MESSAGE I888(sabapdocu) WITH 'At selection-screen output'.
*end at selection-screen output
START-OF-SELECTION.
*begin start-of-selection.
ELTE SAP Excellence Center Oktatóanyag 14
MESSAGE I888(sabapdocu) WITH 'start-of-selection'.
SELECT * FROM zelte_szem.
MOVE zelte_szem-vezeteknev TO t_report-veznev.
MOVE zelte_szem-keresztnev TO t_report-kernev.
APPEND t_report.
ENDSELECT.
*end start-of-selection.
END-OF-SELECTION.
*begin end-of-selection.
MESSAGE I888(sabapdocu) WITH 'end-of-selection'.
FORMAT COLOR col_normal.
DO 30 TIMES.
LOOP AT t_report.
WRITE / t_report-veznev.
WRITE t_report-kernev.
ENDLOOP.
ENDDO.
*end end-of-selection.
TOP-OF-PAGE.
FORMAT COLOR col_heading.
WRITE 'Ez a fejléc'.
END-OF-PAGE.
FORMAT COLOR col_total.
WRITE 'Ez a lábléc'.
AT LINE-SELECTION.
WRITE: / 'Cursor Row:', sy-curow.
WRITE: / 'Cursor Col:', sy-cucol.
ELTE SAP Excellence Center Oktatóanyag 15
Ha egy standard szelekciós képernyőhöz kiegészítő beviteli ellenőrzést
ELTE SAP Excellence Center Oktatóanyag 16
szeretnénk programozni, az AT SELECTION-SCREEN eseményblokk áll rendelkezésünkre erre a célra.
Az AT SELECTION-SCREEN eseményblokk valamennyi felhasználói műveletnél feldolgozásra kerül. Egy kiváltott hibadialógus esetén a rendszer visszaugrik a szelekciós képre, és az összes beviteli mezőt bevitelre készen ismét rendelkezésre bocsájtja.
REPORT zelte_szelekcios_kep.
ELTE SAP Excellence Center Oktatóanyag 17
DATA:wa_oszt TYPE zelte_oszt.
PARAMETERS:pa_azon LIKE wa_oszt-oszt_azon.
INITIALIZATION.
pa_azon = '0000000005'.
START-OF-SELECTION.
WRITE:/ zelte_oszt-oszt_azon,zelte_oszt-oszt_nev.
*&---------------------------------------------------------------------**& Report Z_ADEEC1
ELTE SAP Excellence Center Oktatóanyag 18
*& Készítő: Tarcsi Ádám*&---------------------------------------------------------------------**&*& Változat v1: 2008.06.04.*&---------------------------------------------------------------------*
REPORT z_adeec1.
PARAMETERS p_oszt TYPE ZELTE_OSZT.
DATA: sv_osztaly TYPE ZELTE_OSZT,sv_szemely TYPE ZELTE_SZEM.
SELECT SINGLE *FROM ZELTE_OSZTINTO sv_osztalyWHERE OSZT_AZON = p_oszt.
IF sy-subrc EQ 0.NEW-LINE.WRITE: 'A(z)' , sv_osztaly-oszt_nev , 'osztályon dolgozók adatai:'.
SELECT * FROM ZELTE_SZEM INTO sv_szemelyWHERE OSZTALY = sv_osztaly-oszt_azon.WRITE: sv_szemely-szem_azon,
sv_szemely-titulus,sv_szemely-vezeteknev,sv_szemely-keresztnev,sv_szemely-osztaly,sv_szemely-fizetes,sv_szemely-penznem,sv_szemely-szul_ido,sv_szemely-telepules,sv_szemely-cim,sv_szemely-telefon,sv_szemely-email.
ENDSELECT.ELSE.WRITE: 'Nem találtam a szelekciónak megfelelő osztályt!'.
ENDIF.
ELTE SAP Excellence Center Oktatóanyag 19
ELTE SAP Excellence Center Oktatóanyag 20
ELTE SAP Excellence Center Oktatóanyag 21
SE11 / Adattábla Módosítás �
ELTE SAP Excellence Center Oktatóanyag 22
ELTE SAP Excellence Center Oktatóanyag 23
SE91
ELTE SAP Excellence Center Oktatóanyag 24
A WITH paraméterrel nevezhetjük meg a változók értékét (legfeljebb négyet).
ELTE SAP Excellence Center Oktatóanyag 25
Itt megadhatunk mezőket vagy literálokat, ahol a változó i. mezőjehelyettesíti majd az üzenet &i változóját. Ha az üzeneten belüli változókatcsak & vagy $ jelekkel szerepeltetjük, a rendszer ezeket a Message-utasításban megadott mezők sorrendjének értelmében tölti majd fel.
Üzenetet hatféleképpen minősíthetünk: A, X, E, I, S vagy W. Jelentéseik:
ELTE SAP Excellence Center Oktatóanyag 26
•A megszakítás a feldolgozás megszakad, a felhasználónak újra kell indítani a tranzakciót
•X kilépés mint az ‚A‘-üzenetfajta, de MESSAGE_TYPE_X rövid-dumppal
•E hiba a feldolgozás megszakad, a felhasználónak ki kelljavítania a bevitelt.
•W figyelmeztetés a feldolgozás megszakad, a felhasználó megismételheti a bevitelt (hatás mint az ‚E‘-üzenetnél), de jóváhagyja azt az ENTER-gombbal (hatás mint az ‚I‘-üzenetnél)
•I információ a feldolgozás megszakad, a felhasználó az ENTER-gombbal folytathatja a feldolgozást.
•S siker információ a következő képernyőn
Annak érdekében, hogy az ‚E‘ és ‚W‘-típusú üzeneteknél a szelekciós képernyő ismét bevitelre kész állapotba kerülhessen, ezeket az üzeneteket az AT SELECTION-SCREEN esemény során célszerű megjeleníteni. Ezek az üzenetfajták a következő képernyők valamelyikén ‚A‘-üzenetként viselkednek (pl. a START-OF-SELECTION, GET vagy END-OF-SELECTION).
ELTE SAP Excellence Center Oktatóanyag 27
REPORT Z01_SELEKCIOS_KEP.
ELTE SAP Excellence Center Oktatóanyag 28
TABLES: zelte_oszt, zelte_szem.
DATA wa_oszt type zelte_oszt.
SELECT-OPTIONS: osztaly FOR wa_oszt-oszt_azon MATCHCODE OBJECT zelte_oszt.
PARAMETERS pa_azon LIKE zelte_oszt-oszt_azon.
START-OF-SELECTION.
SELECT oszt_azon oszt_nev
FROM zelte_oszt
INTO CORRESPONDING FIELDS OF wa_oszt
WHERE oszt_azon IN osztaly.
WRITE: / wa_oszt-oszt_azon, wa_oszt-oszt_nev.
ENDSELECT.
---------------
SELECT * FROM zelte_oszt INTO wa_oszt
WHERE oszt_azon = pa_azon.
WRITE wa_oszt-oszt_nev.
ENDSELECT.
if sy-subrc <> 0.
MESSAGE i001(zelte) with pa_azon.
endif.
Top Related