Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Interactive report

Former Member
0 Kudos

Hi all,

I want to creat an interactive report such that when I click on the employee number it should display his details e.g. name,DOB. Any suggetions please.

Thanks

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi shanheen,

if you don't want to use FM try this:

SET PARAMETER ID 'PER' FIELD '00990099'. " Pernr you want

SET PARAMETER ID 'ITP' FIELD '0008'. "Infotyp you want

SET PARAMETER ID 'FCD' FIELD 'DIS'. "DIS or MOD or INS

*

  • CALL TRANSACTION 'PA20' AND SKIP FIRST SCREEN.

*

CALL TRANSACTION 'PA30' AND SKIP FIRST SCREEN.

Regards, Dieter

14 REPLIES 14

Former Member
0 Kudos

Read online help(press F8 inside SE38 editor ) for the keyword HIDE,

Former Member
0 Kudos

Hi,

You can create an Interactive report using the Required Infotypes data.

But the Name, DOB etc are directly in a single infotype with PERNR in each infotype.Take some correct/useful data and do.

First use Pa0001,2 and 3 for the basic list and for interactive List use PA0008.

regards,

Anji

0 Kudos

can you explain more please

0 Kudos

can anyone explain some more using a code format please.

0 Kudos

refer sample code below



report  zabc_test02 line-size 160 line-count 20(3) message-id zabc_msg1 no standard page heading.

tables : vbap,
         vbak.

include <list>.

types: begin of t_salehd,
    vbeln like vbak-vbeln,
    vbtyp like vbak-vbtyp,
    auart like vbak-auart,
    vkorg like vbak-vkorg,
    vkgrp like vbak-vkgrp,
end of t_salehd.

types: begin of t_saleitem,
    vbeln like vbap-vbeln,
    posnr like vbap-posnr,
    matnr like vbap-matnr,
    matkl like vbap-matkl,
    meins like vbap-meins,
end of t_saleitem.



data: it_salehd type standard table of t_salehd with header line.
data: it_saleitem type standard table of t_saleitem with header line.



selection-screen begin of block b1 with frame title text-001.
*SELECTION-SCREEN BEGIN OF LINE.

select-options so_dtfrm for vbak-guebg no intervals no-extension obligatory.
select-options so_dtto for vbak-gueen no intervals no-extension obligatory.

*SELECTION-SCREEN END OF LINE.
selection-screen end of block b1.

top-of-page.
  new-line no-scrolling.
  format color 1.
  write: 'Sales Document number', 35 'SD catagory', 65 'Sales document Type', 95 'Sales Organization', 120 'Sales Group'.
  uline.
  skip.

end-of-page.
  write : 'Sales report end of page : ' , sy-pagno.

at selection-screen.
  if so_dtfrm-low gt sy-datum or so_dtto-low gt sy-datum .
    message e012.
  endif.
  if so_dtfrm-low gt so_dtto-low.
    message e013.
  endif.



start-of-selection.

  select vbeln vbtyp auart vkorg vkgrp from vbak into corresponding fields of table it_salehd where guebg gt so_dtfrm-low and gueen lt so_dtto-low.

  if sy-subrc = 0.

    loop at it_salehd.
      write : / it_salehd-vbeln color 4,
                it_salehd-vbtyp under 'SD catagory' color 3,
                it_salehd-auart under 'Sales document Type' color 3,
                it_salehd-vkorg under 'Sales Organization' color 3,
                it_salehd-vkgrp under 'Sales Group' color 3.

      hide it_salehd-vbeln.    "use hide statement to hide the emp no that is PERNR

    endloop.

  endif.

  skip sy-linct.


at line-selection.       " use this event to disply secondary list containing details of selected employee
  if sy-lsind = 1.
    window starting at 30 10 ending at 90 30.

    select vbeln posnr matnr matkl meins from vbap
            into corresponding fields of table it_saleitem
            where vbeln = it_salehd-vbeln.

    loop at it_saleitem.

      write : / it_saleitem-vbeln color 4,
                     it_saleitem-posnr under 'SD Item' color 3,
                     it_saleitem-matnr under 'Material Number' color 3,
                     it_saleitem-matkl under 'Material Group' color 3,
                     it_saleitem-meins under 'Basic Unit of Measure' color 3.

    endloop.
  endif.

top-of-page during line-selection.
  if sy-lsind = 1.
    write : 'Sales Document', 20 'SD Item', 35 'Material Number', 55 'Material Group', 75 'Basic Unit of Measure'.
  endif.

reward if useful.

0 Kudos

DATA:

BEGIN OF FS_EMP,

EMPNO(10) TYPE N,

EMPNAME(10) TYPE C,

END OF FS_EMP,

T_EMP LIKE STANDARD TABLE OF FS_EMP.

FS_EMP-EMPNO = '123'.

FS_EMP-EMPNAME = 'aaa'.

APPEND FS_EMP TO T_EMP.

FS_EMP-EMPNO = '121'.

FS_EMP-EMPNAME = 'xab'.

APPEND FS_EMP TO T_EMP.

FS_EMP-EMPNO = '223'.

FS_EMP-EMPNAME = 'aca'.

APPEND FS_EMP TO T_EMP.

FS_EMP-EMPNO = '128'.

FS_EMP-EMPNAME = 'aaf'.

APPEND FS_EMP TO T_EMP.

LOOP AT T_EMP INTO FS_EMP.

WRITE:

/ FS_EMP-EMPNO.

HIDE: FS_EMP-EMPNO,

FS_EMP-EMPNAME.

ENDLOOP.

AT LINE-SELECTION.

WRITE:

/ FS_EMP-EMPNAME.

u can append as many values as u like... and write the details which u want to display on the secondary list after at line-selection.... hope this helps u...

0 Kudos

THIS IS A ALV INTERACTIVE REPORT , COPY AND RUN THE CODE

REPORT Z_50657_ALV_EX5 NO STANDARD PAGE HEADING

LINE-COUNT 65(3)

LINE-SIZE 220

MESSAGE-ID ZZ.

************************************************************************

  • Type Pools *

************************************************************************

TYPE-POOLS: SLIS, ICON.

************************************************************************

  • Tables *

************************************************************************

TABLES : VBRK, "Billing Master table

VBRP. "Billing Item table

************************************************************************

  • VARIABLES DECLARATION *

************************************************************************

DATA: STR_DATE LIKE SY-DATUM.

DATA: X_FIELDCAT_VBRK TYPE SLIS_FIELDCAT_ALV,

IT_FIELDCAT_VBRK TYPE SLIS_T_FIELDCAT_ALV.

DATA: X_FIELDCAT_VBRP TYPE SLIS_FIELDCAT_ALV,

IT_FIELDCAT_VBRP TYPE SLIS_T_FIELDCAT_ALV.

DATA: L_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA: CUR_VBELN(15), CUR_VBELN_VALUE(15).

DATA: TEMP_VBELN(10).

DATA: CTAB LIKE SY-TABIX.

************************************************************************

  • Internal Tables *

************************************************************************

  • Internal table to hold data from VBRK

DATA: BEGIN OF IT_VBRK OCCURS 0,

VBELN LIKE VBRK-VBELN,

WAERK LIKE VBRK-WAERK,

VKORG LIKE VBRK-VKORG,

FKDAT LIKE VBRK-FKDAT,

BUKRS LIKE VBRK-BUKRS,

BUTXT LIKE T001-BUTXT,

CHECK(1) TYPE C,

END OF IT_VBRK.

  • Internal table to hold data from VBRP

DATA: BEGIN OF IT_VBRP OCCURS 0,

VBELN LIKE VBRP-VBELN,

POSNR LIKE VBRP-POSNR,

FKIMG LIKE VBRP-FKIMG,

VRKME LIKE VBRP-VRKME,

NETWR LIKE VBRP-NETWR,

MATNR LIKE VBRP-MATNR,

ARKTX LIKE VBRP-ARKTX,

END OF IT_VBRP.

DATA: BEGIN OF IT_T001 OCCURS 0,

BUKRS LIKE T001-BUKRS,

BUTXT LIKE T001-BUTXT,

END OF IT_T001.

************************************************************************

  • Selection-Screen *

************************************************************************

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,

S_FKDAT FOR VBRK-FKDAT,

S_MATNR FOR VBRP-MATNR.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.

PARAMETERS : LIST RADIOBUTTON GROUP G1,

GRID RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK B2.

************************************************************************

                                  • INITIALIZATION ********************

************************************************************************

INITIALIZATION.

STR_DATE = SY-DATUM - 200.

S_FKDAT-LOW = STR_DATE.

S_FKDAT-HIGH = SY-DATUM.

S_FKDAT-SIGN = 'I'.

APPEND S_FKDAT.

************************************************************************

  • At Selection-Screen Output *

************************************************************************

AT SELECTION-SCREEN OUTPUT .

LOOP AT SCREEN.

IF SCREEN-NAME = 'S_FKDAT-HIGH'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

************************************************************************

  • At Selection-Screen *

************************************************************************

AT SELECTION-SCREEN.

PERFORM VALIDATION.

************************************************************************

  • Start of Selection *

************************************************************************

START-OF-SELECTION.

*POPULATION OF DATA INTO INTERNAL TABLE IT_VBRK AND IT_VBRP

PERFORM GET_DATA_VBRK.

PERFORM FIELDCATALOG_CHANGE.

*ALV GRID/LIST DISPLAY

PERFORM FIRST_SCREEN_DISPLAY.

&----


*& Form VALIDATION

&----


  • text

----


FORM VALIDATION.

IF S_VBELN[] IS NOT INITIAL.

SELECT SINGLE VBELN

FROM VBRK

INTO VBRK-VBELN

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'PLEASE ENTER CORRECT BILLING DOCUMENT'.

STOP.

ENDIF.

ENDIF.

IF S_FKDAT[] IS INITIAL.

MESSAGE I000 WITH 'PLEASE ENTER ALL THE MANDATORY FIELDS'.

STOP.

ENDIF.

IF S_MATNR[] IS NOT INITIAL.

SELECT SINGLE MATNR

FROM MARA

INTO VBRP-MATNR

WHERE MATNR IN S_MATNR.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'PLEASE ENTER CORRECT MATERIAL NUMBER'.

STOP.

ENDIF.

ENDIF.

ENDFORM. "VALIDATION

&----


*& Form GET_DATA_VBRK

&----


  • text

----


FORM GET_DATA_VBRK.

SELECT VBELN

WAERK

VKORG

FKDAT

BUKRS

FROM VBRK INTO TABLE IT_VBRK

WHERE VBELN IN S_VBELN

AND FKDAT IN S_FKDAT.

SORT IT_VBRK BY VBELN BUKRS.

SELECT BUKRS

BUTXT

FROM T001 INTO TABLE IT_T001

FOR ALL ENTRIES IN IT_VBRK

WHERE BUKRS = IT_VBRK-BUKRS.

LOOP AT IT_VBRK.

CTAB = SY-TABIX.

LOOP AT IT_T001 WHERE BUKRS = IT_VBRK-BUKRS.

IF SY-SUBRC = 0.

IT_VBRK-BUTXT = IT_T001-BUTXT.

MODIFY IT_VBRK INDEX CTAB.

CLEAR CTAB.

ENDIF.

ENDLOOP.

ENDLOOP.

ENDFORM. "GET_DATA

&----


*& Form FIELDCATALOG_CHANGE

&----


  • text

----


FORM FIELDCATALOG_CHANGE.

*Layout Change

L_LAYOUT-ZEBRA = 'X'.

  • L_LAYOUT-BOX_FIELDNAME = 'CHECK'.

*Define seperate Color for the fields

X_FIELDCAT_VBRK-COL_POS = 1.

X_FIELDCAT_VBRK-FIELDNAME = 'CHECK'.

X_FIELDCAT_VBRK-SELTEXT_M = 'chek'.

X_FIELDCAT_VBRK-CHECKBOX = 'X'.

X_FIELDCAT_VBRK-INPUT = 'X'.

X_FIELDCAT_VBRK-EDIT = 'X'.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-COL_POS = 2.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'VBELN'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C301'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'WAERK'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C201'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'VKORG'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C300'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'FKDAT'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C600'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'BUKRS'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C400'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'BUTXT'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C500'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

ENDFORM. "FIELDCATALOG_CHANGE

&----


*& Form FIRST_SCREEN_DISPLAY

&----


  • text

----


FORM FIRST_SCREEN_DISPLAY.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'IT_VBRK'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = IT_FIELDCAT_VBRK

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV

IF LIST = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRK

  • IT_EVENTS =

TABLES

T_OUTTAB = IT_VBRK

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CLEAR LIST.

ENDIF.

IF GRID = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRK

  • IT_EVENTS =

TABLES

T_OUTTAB = IT_VBRK

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CLEAR GRID.

ENDIF.

ENDFORM. "FIRST_SCREEN_DISPLAY

&----


*& Form STATUS

&----


  • text

----


  • -->P_EXTAB text

----


FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.

ENDFORM. "STATUS

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELD text

----


FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN 'BACK' OR 'CANC' OR 'EXIT'.

LEAVE TO SCREEN 0.

WHEN '&IC1'.

IF RS_SELFIELD-FIELDNAME = 'VBELN'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = RS_SELFIELD-VALUE

IMPORTING

OUTPUT = TEMP_VBELN.

  • TEMP_VBELN = RS_SELFIELD-VALUE.

PERFORM GET_DATA_VBRP.

PERFORM GET_SECOND_SCREEN_DISPLAY.

ENDIF.

ENDCASE.

ENDFORM. "USER_COMMAND

&----


*& Form GET_DATA_VBRP

&----


  • text

----


FORM GET_DATA_VBRP.

SELECT VBELN

POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP INTO TABLE IT_VBRP

WHERE VBELN = TEMP_VBELN.

IF SY-SUBRC <> 0.

MESSAGE E000 WITH ' NO BILLING DETAILS FOUND'.

EXIT.

ENDIF.

ENDFORM. "GET_DATA_VBRP

&----


*& Form GET_SECOND_SCREEN_DISPLAY

&----


  • text

----


FORM GET_SECOND_SCREEN_DISPLAY.

  • FIELDCATALOG CALL

X_FIELDCAT_VBRP-TABNAME = 'IT_VBRP'.

X_FIELDCAT_VBRP-FIELDNAME = 'VRKME'.

X_FIELDCAT_VBRP-EMPHASIZE = 'C500'.

X_FIELDCAT_VBRP-OUTPUTLEN = 10.

APPEND X_FIELDCAT_VBRP TO IT_FIELDCAT_VBRP.

CLEAR X_FIELDCAT_VBRP.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'IT_VBRP'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = IT_FIELDCAT_VBRP

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV

IF LIST = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRP

I_SCREEN_START_COLUMN = 1

I_SCREEN_START_LINE = 1

I_SCREEN_END_COLUMN = 100

I_SCREEN_END_LINE = 10

  • IT_EVENTS =

TABLES

T_OUTTAB = IT_VBRP

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

IF GRID = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRP

I_SCREEN_START_COLUMN = 1

I_SCREEN_START_LINE = 1

I_SCREEN_END_COLUMN = 100

I_SCREEN_END_LINE = 10

  • IT_EVENTS =

TABLES

T_OUTTAB = IT_VBRP

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

ENDFORM. "GET_SECOND_SCREEN_DISPLAY

0 Kudos

to get data from these infotypes you can use LDB 'PNP' or u can directly write select statement .

to pass the employee no i.e 'PERNR' to secondary list using 'HIDE' statement, and in secondary list u can show details like Name, DOB etc

.. to display secondary list u can make use of at line-selection event....

reward if useful.

Former Member
0 Kudos

Hi shaheen,

try this:

TABLES: PA0002.

*

DATA: ITAB TYPE TABLE OF PA0002 WITH HEADER LINE.

*

SELECT * FROM PA0002 INTO TABLE ITAB WHERE BEGDA <= SY-DATUM

AND ENDDA >= SY-DATUM.

*

sort itab by pernr.

*

LOOP AT ITAB.

WRITE: / ITAB-PERNR HOTSPOT ON, ITAB-VORNA, ITAB-NACHN.

HIDE: ITAB-PERNR.

ENDLOOP.

*

AT LINE-SELECTION.

*

CALL FUNCTION 'HR_MASTERDATA_DIALOG'

EXPORTING

P_PERNR = ITAB-PERNR

P_INFTY = '0002' "select your own Infotype

  • P_SUBTY =

P_ACTIVITY = 'DIS'

P_SKIP = 'X'

EXCEPTIONS

WRONG_ACTIVITY = 1

NO_AUTHORIZATION = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

WRITE: SY-SUBRC.

ENDIF.

Hope it helps.

Regards, Dieter

Former Member
0 Kudos

I want to call transaction PA30 defaulting the emp no. so I'm using

AT LINE-SELECTION.

call transaction 'PA30'.

but it not working e.g. if I click on 1111, the above code takes me to the transaction but doesn't show the clicked emp no. any suggestions plz.

Former Member
0 Kudos

Hi shaneen,

look at the FM via SE37. Here you can see when the FM calls

PA30 and not PA20.

call this FM with 'MOD' it calls PA30.

Regards, Dieter

Former Member
0 Kudos

Is there other way than using FM.

Former Member
0 Kudos

hi shaheen,

see this simple sample code...this will help...

u can just copy and paste this code into ur editor and it will work except messages...

and just replace the fields with ur table fields and your program will work...

***************************************************************************************************************

*&----


*& Report ZTEJ_TEST7 *

*& *

&----


*& *

*& *

&----


REPORT ZTEJ_TEST7 LINE-SIZE 93 LINE-COUNT 30(4) NO STANDARD PAGE

HEADING.

TABLES : KNA1,LFA1,VBAK,EKKO.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001 .

PARAMETERS : RCUST RADIOBUTTON GROUP G1 DEFAULT 'X',

RVEND RADIOBUTTON GROUP G1.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

SELECT-OPTIONS : CUSTOMER FOR KNA1-KUNNR MODIF ID C,

VENDOR FOR LFA1-LIFNR MODIF ID V.

SELECTION-SCREEN END OF BLOCK B2.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF RCUST = 'X'.

IF SCREEN-GROUP1 = 'V'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDIF.

ELSEIF RVEND = 'X'.

IF SCREEN-GROUP1 = 'C'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

INITIALIZATION.

CUSTOMER-LOW = '1'.

CUSTOMER-HIGH = '500'.

APPEND CUSTOMER.

VENDOR-LOW = '1'.

VENDOR-HIGH = '1000'.

APPEND VENDOR.

TOP-OF-PAGE.

IF RCUST = 'X'.

FORMAT COLOR 1.

ULINE.

WRITE : /1 SY-VLINE, 3 'CUSTOMER ID',

15 SY-VLINE, 17 'NAME',

57 SY-VLINE, 59 'CITY',

80 SY-VLINE, 82 'COUNTRY',

93 SY-VLINE.

ULINE.

FORMAT COLOR OFF.

ELSE.

FORMAT COLOR 7.

ULINE.

WRITE : /1 SY-VLINE, 3 'VENDOR ID',

15 SY-VLINE, 17 'NAME',

57 SY-VLINE, 59 'CITY',

80 SY-VLINE, 82 'COUNTRY',

93 SY-VLINE.

ULINE.

FORMAT COLOR OFF.

ENDIF.

END-OF-PAGE.

ULINE.

WRITE : 'DATE : ', SY-DATUM, 75 'END OF PAGE ',SY-PAGNO,/'USER : ',

SY-UNAME.

START-OF-SELECTION.

FORMAT COLOR 2.

IF RCUST = 'X'.

SELECT KUNNR NAME1 ORT01 LAND1

INTO (KNA1-KUNNR, KNA1-NAME1, KNA1-ORT01, KNA1-LAND1)

FROM KNA1

WHERE KUNNR IN CUSTOMER.

IF SY-SUBRC <> 0.

MESSAGE E002(ZTJ).

ENDIF.

WRITE : /1 SY-VLINE, KNA1-KUNNR UNDER 'CUSTOMER ID' HOTSPOT ON,

15 SY-VLINE,KNA1-NAME1 UNDER 'NAME',

57 SY-VLINE, KNA1-ORT01 UNDER 'CITY',

80 SY-VLINE, KNA1-LAND1 UNDER 'COUNTRY',

93 SY-VLINE.

HIDE KNA1-KUNNR.

ENDSELECT.

ELSE.

SELECT LIFNR NAME1 ORT01 LAND1

INTO (LFA1-LIFNR, LFA1-NAME1, LFA1-ORT01, LFA1-LAND1)

FROM LFA1

WHERE LIFNR IN VENDOR.

IF SY-SUBRC <> 0.

MESSAGE E002(ZTJ).

ENDIF.

WRITE : /1 SY-VLINE, LFA1-LIFNR UNDER 'VENDOR ID' HOTSPOT ON,

15 SY-VLINE, LFA1-NAME1 UNDER 'NAME',

57 SY-VLINE, LFA1-ORT01 UNDER 'CITY',

80 SY-VLINE, LFA1-LAND1 UNDER 'COUNTRY',

93 SY-VLINE.

HIDE : LFA1-LIFNR.

ENDSELECT.

ENDIF.

FORMAT COLOR OFF.

ULINE.

END-OF-SELECTION.

AT LINE-SELECTION.

IF SY-LSIND = 1.

IF RCUST = 'X'.

PERFORM CUSTFUN.

ENDIF.

IF RVEND = 'X'.

PERFORM VENDFUN.

ENDIF.

ENDIF.

&----


*& Form CUSTFUN

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM CUSTFUN .

SELECT VBELN INTO (VBAK-VBELN)

FROM VBAK

WHERE KUNNR = KNA1-KUNNR.

IF SY-SUBRC <> 0.

MESSAGE E002(ZTJ).

ENDIF.

WRITE : VBAK-VBELN.

ENDSELECT.

ENDFORM. " CUSTFUN

&----


*& Form VENDFUN

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM VENDFUN .

SELECT EBELN INTO (EKKO-EBELN)

FROM EKKO

WHERE LIFNR = LFA1-LIFNR.

IF SY-SUBRC <> 0.

MESSAGE E002(ZTJ).

ENDIF.

WRITE : /, EKKO-EBELN.

ENDSELECT.

ENDFORM. " VENDFUN

*********************************************************************************************************

Regards,

Tejas

null

Former Member
0 Kudos

Hi shanheen,

if you don't want to use FM try this:

SET PARAMETER ID 'PER' FIELD '00990099'. " Pernr you want

SET PARAMETER ID 'ITP' FIELD '0008'. "Infotyp you want

SET PARAMETER ID 'FCD' FIELD 'DIS'. "DIS or MOD or INS

*

  • CALL TRANSACTION 'PA20' AND SKIP FIRST SCREEN.

*

CALL TRANSACTION 'PA30' AND SKIP FIRST SCREEN.

Regards, Dieter