03-05-2007 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
03-06-2007 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
03-05-2007 7:42 AM
Read online help(press F8 inside SE38 editor ) for the keyword HIDE,
03-05-2007 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
03-05-2007 7:55 AM
03-05-2007 8:33 AM
03-05-2007 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.
03-05-2007 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...
03-05-2007 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
03-05-2007 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.
03-05-2007 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
03-05-2007 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.
03-05-2007 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
03-06-2007 5:42 AM
03-06-2007 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
03-06-2007 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