2007 Mar 05 7:40 AM
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
2007 Mar 06 7:39 AM
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
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
2007 Mar 05 7:42 AM
Read online help(press F8 inside SE38 editor ) for the keyword HIDE,
2007 Mar 05 7:43 AM
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
2007 Mar 05 7:55 AM
2007 Mar 05 8:33 AM
2007 Mar 05 8:42 AM
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.
2007 Mar 05 8:46 AM
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...
2007 Mar 05 8:46 AM
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
2007 Mar 05 8:54 AM
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.
2007 Mar 05 9:03 AM
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
2007 Mar 05 9:31 AM
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.
2007 Mar 05 9:41 AM
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
2007 Mar 06 5:42 AM
2007 Mar 06 6:11 AM
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
2007 Mar 06 7:39 AM
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
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |