Application Development and Automation 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: 
Read only

PF STATUS

Former Member
0 Likes
656

Hi all,

How to create a button using pf-status?

Actually I want to use in interactive report.......

Thanks...

Kiran

6 REPLIES 6
Read only

Former Member
0 Likes
603

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.

Read only

former_member189629
Active Contributor
0 Likes
603

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

Read only

Former Member
0 Likes
603

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

Read only

Former Member
0 Likes
603

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

Read only

hymavathi_oruganti
Active Contributor
0 Likes
603

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

Read only

Former Member
0 Likes
603

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.