‎2007 Sep 21 8:25 AM
Hi all,
How to create a button using pf-status?
Actually I want to use in interactive report.......
Thanks...
Kiran
‎2007 Sep 21 8:29 AM
Hi,
double click on the Pf-status defined
in that define ur own button function code like this
in function keys /freely assign keys
name of the button - function code(eg:&but1)
and in application tool bar
jus specify the function code given-i.e.&but1.
Reward if helpful.
‎2007 Sep 21 8:30 AM
Kiran,
Use
*--- PF-Status
SET PF-STATUS 'STAT1'.
SET TITLEBAR 'XXX'.
Dbl clk on thje status name and u can add menu items, and toolbar buttons...
Similarly the title
reward if helpful
K
‎2007 Sep 21 8:57 AM
Hi,
u can set pf-status
by simply writing the following code:
SET PF-STATUS 'GUI'.
double click on GUI and define all the functions n keys u need.
below is the example code .
TABLES: spfli, sbook.
DATA: num TYPE i,
dat TYPE d.
START-OF-SELECTION.
num = 0.
SET PF-STATUS 'FLIGHT'.
GET spfli.
num = num + 1.
WRITE: / spfli-carrid, spfli-connid,
spfli-cityfrom, spfli-cityto.
HIDE: spfli-carrid, spfli-connid, num.
END-OF-SELECTION.
CLEAR num.
TOP-OF-PAGE.
WRITE 'List of Flights'.
ULINE.
WRITE 'CA CONN FROM TO'.
ULINE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE sy-pfkey.
WHEN 'BOOKING'.
WRITE sy-lisel.
ULINE.
WHEN 'WIND'.
WRITE: 'Booking', sbook-bookid,
/ 'Date ', sbook-fldate.
ULINE.
ENDCASE.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'SELE'.
IF num NE 0.
SET PF-STATUS 'BOOKING'.
CLEAR dat.
SELECT * FROM sbook WHERE carrid = spfli-carrid
AND connid = spfli-connid.
IF sbook-fldate NE dat.
dat = sbook-fldate.
SKIP.
WRITE / sbook-fldate.
POSITION 16.
ELSE.
NEW-LINE.
POSITION 16.
ENDIF.
WRITE sbook-bookid.
HIDE: sbook-bookid, sbook-fldate, sbook-custtype,
sbook-smoker, sbook-luggweight, sbook-class.
ENDSELECT.
IF sy-subrc NE 0.
WRITE / 'No bookings for this flight'.
ENDIF.
num = 0.
CLEAR sbook-bookid.
ENDIF.
WHEN 'INFO'.
IF NOT sbook-bookid IS INITIAL.
SET PF-STATUS 'WIND'.
SET TITLEBAR 'BKI'.
WINDOW STARTING AT 30 5 ENDING AT 60 10.
WRITE: 'Customer type :', sbook-custtype,
/ 'Smoker :', sbook-smoker,
/ 'Luggage weight :', sbook-luggweight UNIT 'KG',
/ 'Class :', sbook-class.
ENDIF.
ENDCASE.
Regards
Vasu
‎2007 Sep 21 9:18 AM
HI
STEPS TO CREAT A BUTTON
1) GOTO SE41 T-CODE
2) ENTER PROGRAM NAME SAME AS UR REPORT PROGRAM NAME
3) ENTER STATUS NAME AS ANY THING LIKE 100 OR ABC OR ETC...
4) CLICK ON CREAT BUTTON
5) ENTER SHORT TEXT
6) SELECT THE RADIOBUTTON NORMAL SCREEN (IT WILL BE SELECTED AS PER UR REQUIREMENT)
7) IF YOU WANT TO CREAT A BUTTON ON APPLICATION TOOL BAR THEN SELECT THE APPLICATION TOL BAR TREE
😎 ENTER SOME NAME WHICH YOU WANT FOR UR BUTTON ( SELECT, DELETE, UPDATE LIKE THIS ..) THIS WILL BE YOUR <b>FCODE</b>
9) SELECT ANY ICON
10) INFO TEXT ANY THING
11) CLICK ON OK
12) SAVE THAT AND ACTIVATE
13) COME BACK TO YOUR REPORT PROGRAM
14) WHERE EVER YOU WANT THAT SCREEN
AT THAT PLACE WRITE THE STATEMENT LIKE THIS
*--MENU PAINTER
SET PF-STATUS 'DDD'.
DDD IS MY STATUS NAME
AFTER THAT WHAT EVER LOGIC U WANT PUT THAT LOGIC
I AM SENDING YOU A EXAMPLE CODE
IN THAT I HAD USED MY STATUS AT OUTPUT LIST
REPORT ZDEMO_19 MESSAGE-ID ZDEMO_MSG
NO STANDARD PAGE HEADING
LINE-COUNT 25(3)
LINE-SIZE 120.
TABLES: MARA, VBAK, KNA1.
DATA IT_VBAK LIKE VBAK OCCURS 0 WITH HEADER LINE.
DATA IT_VBAP LIKE VBAP OCCURS 0 WITH HEADER LINE.
PARAMETERS: P_SAL RADIOBUTTON GROUP GRP USER-COMMAND AAA,
P_MAT RADIOBUTTON GROUP GRP.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,
S_ERDAT FOR VBAK-ERDAT.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR,
S_ERSDA FOR MARA-ERSDA.
INITIALIZATION.
P_SAL = 'X'.
AT SELECTION-SCREEN OUTPUT.
IF P_SAL EQ 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP4 EQ '004'
OR SCREEN-GROUP4 EQ '005'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF P_MAT EQ 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP4 EQ '002'
OR SCREEN-GROUP4 EQ '003'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
START-OF-SELECTION.
SELECT * FROM VBAK INTO TABLE IT_VBAK WHERE VBELN IN S_VBELN.
END-OF-SELECTION.
LOOP AT IT_VBAK.
WRITE:/ IT_VBAK-VBELN,
IT_VBAK-ERDAT, IT_VBAK-ERNAM,
IT_VBAK-KUNNR.
HIDE IT_VBAK-VBELN.
ENDLOOP.
<b>*--MENU PAINTER
SET PF-STATUS 'DDD'.</b>
TOP-OF-PAGE.
WRITE:/ 'Sales Document List'.
ULINE.
END-OF-PAGE.
ULINE.
WRITE:/ 'End of page', SY-PAGNO.
ULINE.
*--SECONDARY LIST
AT USER-COMMAND.
DATA: V_FIELD(20) TYPE C ,
V_VALUE(10) TYPE N.
GET CURSOR FIELD V_FIELD VALUE V_VALUE.
IF SY-UCOMM EQ 'VBAP'.
SELECT * FROM VBAP INTO TABLE IT_VBAP
WHERE VBELN EQ V_VALUE.
LOOP AT IT_VBAP.
WRITE:/ IT_VBAP-VBELN, IT_VBAP-POSNR,
IT_VBAP-MATNR, IT_VBAP-NETWR.
ENDLOOP.
ELSEIF SY-UCOMM EQ 'KNA1'.
SELECT SINGLE * FROM KNA1 WHERE KUNNR EQ V_VALUE.
WRITE:/ KNA1-KUNNR, KNA1-NAME1.
ENDIF.
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE:/ 'Sales document details'.
ULINE.
REPORT ZAJAYINTERACTIVEREPORTS MESSAGE-ID ZDEMO_MSG
NO STANDARD PAGE HEADING
LINE-COUNT 37(3)
LINE-SIZE 120.
TABLES: MARA, VBAK, KNA1.
DATA IT_VBAK LIKE VBAK OCCURS 0 WITH HEADER LINE.
DATA IT_VBAP LIKE VBAP OCCURS 0 WITH HEADER LINE.
DATA IT_KNA1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.
PARAMETERS: P_SAL RADIOBUTTON GROUP GRP USER-COMMAND AAA,
P_MAT RADIOBUTTON GROUP GRP.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,
S_ERDAT FOR VBAK-ERDAT.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR,
S_ERSDA FOR MARA-ERSDA.
INITIALIZATION.
P_SAL = 'X'.
AT SELECTION-SCREEN OUTPUT.
IF P_SAL EQ 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP4 EQ '004' OR SCREEN-GROUP4 EQ '005'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF P_MAT EQ 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP4 EQ '002' OR SCREEN-GROUP4 EQ '003'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
START-OF-SELECTION.
SELECT * FROM VBAK INTO TABLE IT_VBAK WHERE VBELN IN S_VBELN.
END-OF-SELECTION.
LOOP AT IT_VBAK.
WRITE:/ IT_VBAK-VBELN, IT_VBAK-ERDAT, IT_VBAK-ERNAM,
IT_VBAK-KUNNR.
HIDE: IT_VBAK-VBELN, IT_VBAK-KUNNR.
ENDLOOP.
*--MENU PAINTER
SET PF-STATUS 'AAA'.
TOP-OF-PAGE.
WRITE:/ 'Sales Document List'.
ULINE.
END-OF-PAGE.
ULINE.
WRITE:/ 'End of page', SY-PAGNO.
ULINE.
*--SECONDARY LIST
AT USER-COMMAND.
IF SY-UCOMM EQ 'VBAP'.
SELECT * FROM VBAP INTO TABLE IT_VBAP
WHERE VBELN EQ IT_VBAK-VBELN.
LOOP AT IT_VBAP.
WRITE:/ IT_VBAP-VBELN, IT_VBAP-POSNR,
IT_VBAP-MATNR, IT_VBAP-NETWR.
ENDLOOP.
ENDIF.
IF SY-UCOMM EQ 'KNA1'.
SELECT SINGLE * FROM KNA1 WHERE KUNNR EQ IT_VBAK-KUNNR.
WRITE:/ KNA1-KUNNR, KNA1-NAME1.
ENDIF.
AT LINE-SELECTION.
DATA: V_FIELD(20) TYPE C ,
V_VALUE(10) TYPE N.
GET CURSOR FIELD V_FIELD VALUE V_VALUE.
IF V_FIELD EQ 'IT_VBAK-VBELN'.
SELECT * FROM VBAP INTO TABLE IT_VBAP WHERE VBELN EQ V_VALUE.
LOOP AT IT_VBAP.
WRITE:/ IT_VBAP-VBELN, IT_VBAP-POSNR, IT_VBAP-MATNR, IT_VBAP-NETWR
.
ENDLOOP.
ELSEIF V_FIELD EQ 'IT_VBAK-KUNNR'.
SELECT SINGLE * FROM KNA1 WHERE KUNNR EQ V_VALUE.
WRITE:/ KNA1-KUNNR, KNA1-NAME1.
ENDIF.
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE:/ 'Sales document details'.
ULINE.
REWARD IF USEFULL
‎2007 Sep 21 9:24 AM
u can go to tcode se41 and create a menu example: zmenu. select normal
go inside and u can see 3
menu bar, application bar and function keys.
click on menu bar for displaying as menu items, app bar for pushbuttons.
in the program declare.
<b>SET PF-STATUS <b>zmenu.</b></b>
insetad of going to se41 , u can write the above statement in the report and double click on zmenu and go there directly
‎2007 Sep 21 9:59 AM
hi double click on set-pfstaus and under that provide buttons which u want
I hope it usefull for
if it usefull to give me reward points.