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: 

regarding set pf-status in report

Former Member
0 Kudos

Hi All,

I want to put DELETE BUTTON and UPDATE BUTTON on my normal report. so how can i put this one. can i use set pf-status status? if yes, so in which event i use this statement..........

vishal....................

15 REPLIES 15

Former Member
0 Kudos

Yes, you can use SET PF-STATUS. If you are calling your own screen, do this in the PBO (Process Before Output). In a regular list type program, do it in the START-OF-SELECTION or END-OF-SELECTION events.

0 Kudos

Hi Kevin,

PBO is for the dialog programing. right na??? I want to put in our normal report so, what code i write for this statement.... can u give me some example for this query....

Vishal

0 Kudos

Yes, PBO is for dialog programming.

For a normal report, do this:

1st - create status 100 for your program in SE41. Then do this code.

START-OF-SELECTION.

SET PF-STATUS '100'.

...

write...

...

0 Kudos

Hi Vishal,

You can put it in START-OF-SELECTION or END-OF-SELECTION.

And the code is SET PF-STATUS <status name>

Regards,

Atish

0 Kudos

Hi,

I want to crate DELETE BUTTON and UPDATE BUTTON, left side corner......so it is possible through set pf-status......

give me some code for that.....

Thanks

Vishal

0 Kudos

Hi Vishal,

There is no code for PF-STATUS. You need to create it using SE41. It is like a creating screen so there is no code for it.

Regards,

Atish

0 Kudos

In your program just write this single statement

set pf-status 'STAT'.

and then double click on STAT, which will take you to the PF-Status screen.

Just create new buttons what ever you want on the application tool bar.

These buttons will be reflected in your output screen.

Regards

Gopi

Former Member
0 Kudos

Hi Vishal,

Just put a statement like this - set pf-status '100'

anywhere in program may be after start of selection.

U can give any name also other than 100.

1) Double click on - set pf-status '100'

2) It will give message - " GUI Status 100 does not exist.Create Object ?"

3) Give option "YES"

4)Give a Short Text

5)Click on NORMAL SCREEN ( it will be default )

6)Choose the option "Application Toolbar "

7) Give name DELETE on the space provided there on ROW Items 1 - 7.

😎 Click on Save above

9) It will prompt to choose any button, choose any one like F7 or F2 like that

10) Do the same from step 7 to 9 for UPDATE also

10) Click on Menu "User Interface"- Generate.

11) Activate ..Come back to main program Activate main Program

12) Run the main program U can see the Buttons at output

Regards

Avi........

0 Kudos

Hi Avi,

I follow ur step in my report but i not get any button when i run this prog.....

below is my code.......

REPORT ZDESKDLC_NEW.

----


  • DATA DECLARATION

----


TABLES : ZDESKDLC.

DATA: LW_SELECT TYPE zdeskdlc,

LW_UPDATE TYPE ZDESKDLC.

*DATA : FLAG_CLEAR TYPE C.

*DATA: BEGIN OF FINAL_UPDATE_ITAB occurs 200,

  • SR_MANAG type ZDESKDLC-SR_MANAGEMENT,

  • LASTNAME type ZDESKDLC-LAST_NAME,

  • FIRSTNM type ZDESKDLC-FIRST_NAME,

  • DEPART type ZDESKDLC-DEPARTMENT,

  • ADM_SYS type ZDESKDLC-ADMIN_SYSTEM,

  • RACF_ID type ZDESKDLC-RACF_ID,

  • OPEN_DT type ZDESKDLC-OPEN_DATE,

  • CLOSE_DT type ZDESKDLC-CLOSE_DATE,

  • SAPUSRID type ZDESKDLC-SAP_USER_ID,

*

  • END of FINAL_UPDATE_ITAB.

*data: flag type c.

----


  • SELECTION SCREEN

----


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

PARAMETERS: CCOD LIKE ZDESKDLC-CCODE MODIF ID ABC.

PARAMETERS: DESKCODE LIKE ZDESKDLC-DESK_CODE MODIF ID ABC.

SELECTION-SCREEN END OF BLOCK B1.

----


  • SELECTION SCREEN WITH RADIO BUTTON

----


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

PARAMETERS: DELETE RADIOBUTTON GROUP G1 USER-COMMAND R DEFAULT 'X'.

PARAMETERS: UPDATE RADIOBUTTON GROUP G1.

SELECTION-SCREEN END OF BLOCK B2.

----


  • SELECTION SCREEN

----


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

PARAMETERS: CCOD1 LIKE ZDESKDLC-CCODE MODIF ID DEF,

DESKCD LIKE ZDESKDLC-DESK_CODE MODIF ID DEF,

SR_MANAG LIKE ZDESKDLC-SR_MANAGEMENT MODIF ID DEF,

LASTNAME LIKE ZDESKDLC-LAST_NAME MODIF ID DEF,

FIRSTNM LIKE ZDESKDLC-FIRST_NAME MODIF ID DEF,

DEPART LIKE ZDESKDLC-DEPARTMENT MODIF ID DEF,

ADM_SYS LIKE ZDESKDLC-ADMIN_SYSTEM MODIF ID DEF,

RACF_ID LIKE ZDESKDLC-RACF_ID MODIF ID DEF,

OPEN_DT LIKE ZDESKDLC-OPEN_DATE MODIF ID DEF,

CLOSE_DT LIKE ZDESKDLC-CLOSE_DATE MODIF ID DEF,

SAPUSRID LIKE ZDESKDLC-SAP_USER_ID MODIF ID DEF.

SELECTION-SCREEN END OF BLOCK B3.

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

**

**SELECTION-SCREEN PUSHBUTTON /10(20) TEXT-003 USER-COMMAND ABCD

    • .

**SELECTION-SCREEN PUSHBUTTON /10(20) TEXT-004 USER-COMMAND EFGH .

**

**

**SELECTION-SCREEN END OF BLOCK B4.

*INITIALIZATION.

AT SELECTION-SCREEN OUTPUT.

*data prog like sy-repid.

*

*move 'ZDESKDLC_NEW' to prog.

*

*set pf-status 'BUTTON'.

IF DELETE = 'X'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'DEF'.

SCREEN-ACTIVE = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

IF UPDATE = 'X'.

SELECT SINGLE * FROM ZDESKDLC

INTO lW_SELECT

WHERE CCODE = CCOD AND DESK_CODE = DESKCODE.

MOVE LW_SELECT-CCODE TO CCOD1.

MOVE LW_SELECT-DESK_CODE TO DESKCD.

move LW_select-SR_MANAGEMENT to SR_MANAG.

MOVE LW_SELECT-Last_name TO LASTNAME.

MOVE LW_SELECT-FIRST_NAME TO FIRSTNM.

move LW_select-DEPARTMENT to DEPART.

move LW_select-ADMIN_SYSTEM to ADM_SYS.

move LW_select-RACF_ID to RACF_ID.

move LW_select-OPEN_DATE to OPEN_DT.

move LW_select-CLOSE_DATE to CLOSE_DT.

move LW_select-SAP_USER_ID to SAPUSRID.

*FREE MEMORY ID 'back'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'ABC'.

SCREEN-ACTIVE = '0'.

screen-invisible = '1'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

----


  • AT SELECTION-SCREEN.

----


AT SELECTION-SCREEN.

IF UPDATE = 'X'.

*clear: lastname,firstnm.

clear lw_update.

LW_UPDATE-SR_MANAGEMENT = SR_MANAG.

LW_UPDATE-LAST_NAME = LASTNAME.

LW_UPDATE-FIRST_NAME = FIRSTNM.

LW_UPDATE-DEPARTMENT = DEPART.

LW_UPDATE-ADMIN_SYSTEM = ADM_SYS.

LW_UPDATE-RACF_ID = RACF_ID.

LW_UPDATE-OPEN_DATE = OPEN_DT.

LW_UPDATE-CLOSE_DATE = CLOSE_DT.

LW_UPDATE-SAP_USER_ID = SAPUSRID.

SELECT SINGLE * FROM ZDESKDLC

INTO lW_SELECT

WHERE CCODE = CCOD1 and

DESK_CODE = DESKCD OR CCODE = CCOD AND DESK_CODE = DESKCODE.

move LW_select-SR_MANAGEMENT to SR_MANAG.

MOVE LW_SELECT-Last_name TO LASTNAME.

MOVE LW_SELECT-FIRST_NAME TO FIRSTNM.

move LW_select-DEPARTMENT to DEPART.

move LW_select-ADMIN_SYSTEM to ADM_SYS.

move LW_select-RACF_ID to RACF_ID.

move LW_select-OPEN_DATE to OPEN_DT.

move LW_select-CLOSE_DATE to CLOSE_DT.

move LW_select-SAP_USER_ID to SAPUSRID.

CLEAR LW_SELECT.

ENDIF.

----


  • START-OF-SELECTION

----


start-of-selection.

SET PF-STATUS 'BUTTON'.

  • DELETE QUERY

IF DELETE = 'X'.

DELETE from zdeskdlc where

CCODE = CCOD AND

DESK_CODE = DESKCODE.

IF SY-SUBRC = 0.

MESSAGE S001(zjig)." WITH 'Data Delete successfully'.

ELSE.

MESSAGE S002(zjig)." WITH 'NO RECORD FOUND'.

ENDIF.

ENDIF.

  • UPDATE QUERY

IF UPDATE = 'X'.

UPDATE zdeskdlc SET SR_MANAGEMENT = LW_UPDATE-SR_MANAGEMENT

LAST_NAME = LW_UPDATE-LAST_NAME

FIRST_NAME = LW_UPDATE-FIRST_NAME

DEPARTMENT = LW_UPDATE-DEPARTMENT

ADMIN_SYSTEM = LW_UPDATE-ADMIN_SYSTEM

RACF_ID = LW_UPDATE-RACF_ID

OPEN_DATE = LW_UPDATE-OPEN_DATE

CLOSE_DATE = LW_UPDATE-CLOSE_DATE

SAP_USER_ID = LW_UPDATE-SAP_USER_ID

WHERE CCODE = CCOD1

AND DESK_CODE = DESKCD.

IF SY-SUBRC = 0.

MESSAGE S003(zjig)." WITH 'data modified successfully'.

ENDIF.

CLEAR LW_UPDATE.

ENDIF.

*END-OF-SELECTION.

END-OF-SELECTION.

CLEAR: SR_MANAG, LASTNAME, FIRSTNM, DEPART, ADM_SYS, RACF_ID, OPEN_DT, CLOSE_DT, SAPUSRID.

FREE MEMORY.

set parameter id 'DEF' field CCOD1.

set parameter id 'DEF' field DESKCD.

set parameter id 'DEF' field SR_MANAG.

set parameter id 'DEF' field LASTNAME.

set parameter id 'DEF' field FIRSTNM.

set parameter id 'DEF' field DEPART.

set parameter id 'DEF' field ADM_SYS.

set parameter id 'DEF' field RACF_ID.

set parameter id 'DEF' field OPEN_DT.

set parameter id 'DEF' field CLOSE_DT.

set parameter id 'DEF' field SAPUSRID.

harimanjesh_an
Active Participant
0 Kudos

hi vishal,

u have to use AT USER-COMMAND event for button of GUI status in report program. Create a button in GUI status, assign the function code for example FCODE.

Then in ur report program, write like this.

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'FCODE'.

........................... " Your Logic

ENDCASE.

sy-ucomm catches all the function codes of the system.

For further reference, check these links.

http://help.sap.com/saphelp_47x200/helpdata/en/9f/dba3ae35c111d1829f0000e829fbfe/frameset.htm

http://help.sap.com/saphelp_47x200/helpdata/en/9f/dba2c435c111d1829f0000e829fbfe/frameset.htm

reward if useful,

Harimanjesh AN

Former Member
0 Kudos

You're not actually writing anything to the list screen so this screen isn't showing up. Do you want the buttons on the selection screen or on a following screen?

0 Kudos

Hi Kevi,

Thanks for reply.....

I want to button on left side corner.... so its possible for that....

Vishal

Former Member
0 Kudos

Yes, just write something to the screen.

WRITE: / 'Please choose an option'.

If you would rather have them show up on the selection screen, use

selection-screen function key 1.

selection-screen function key 2.

when you are defining the selection screen. You will then have to respond to these in the AT SELECTION-SCREEN event.

case ucomm.

when 'FC01'.

do something

when 'FC02'.

do something else

endcase.

0 Kudos

Hi Kevi,

I follow ur coding in my report, its working fine now i have to see button on left side corner but when i click on delete button or update button so both function not working, after i see in debug mode so debug point that function not working is at selection screen, i tried also at user command......

so in which event i write for delete and update function....

Vishal

Message was edited by:

VISHAL BHARDWAJ

0 Kudos

Hi Kevi,

I follow ur code its working fine. Thank you very much.

vishal