Authorization in select query in ABAP(7.4+).

Table



Report

REPORT zab_rp_select_literal_new.
TABLES: vbak.
TYPES: BEGIN OF ls_user,
         zuser TYPE zuser,
       END OF ls_user.
TYPES: BEGIN OF ls_vbak,
         vbeln TYPE vbak-vbeln,
         erdat TYPE vbak-erdat,
         erzet TYPE vbak-erzet,
         ernam TYPE vbak-ernam,
       END OF ls_vbak.


DATA: lr_user TYPE ls_user,
      lt_vbak TYPE TABLE OF ls_vbak.

SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.

AT SELECTION-SCREEN.
  SELECT SINGLE zuser
            FROM zab_t_user
            INTO lr_user
            WHERE zuser sy-uname.
  IF sy-subrc <> 0.
    MESSAGE 'You are not Authorized' TYPE 'E'.
  ENDIF.

START-OF-SELECTION.
  SELECT vbeln erdat erzet ernam
          FROM vbak
          INTO TABLE lt_vbak
  WHERE vbeln IN s_vbeln.
  cl_demo_output=>display( lt_vbak ).


New syntax

REPORT zab_rp_select_literal_new.
TABLES: vbak.

SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.
 AT SELECTION-SCREEN.
   SELECT SINGLE 'X'
    FROM zab_t_user
    INTO @data(ls_exits)
    WHERE zuser @sy-uname.

  IF sy-subrc <> 0.
    MESSAGE 'You are not Authorized' TYPE 'E'.
  ENDIF.
START-OF-SELECTION.
  SELECT vbeln,erdat,erzet,ernam
          FROM vbak
          INTO TABLE @data(lt_vbak)
          WHERE vbeln IN @s_vbeln.
  cl_demo_output=>display( lt_vbak ).

Input1


If user is not maintained in table


Output1



******************************Thank You***************************

Comments

Popular posts from this blog

Pf status and user command in factory method - OOPS ALV in ABAP

fetch the data from table and send an email in ABAP

Enhancements in abap