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

Push Button

Former Member
0 Likes
1,134

hi,

how to create push button in simple abap report. plz send with coding

waiting for reply

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,092

Hi,

-


This statement is used to create a block within the screen.

EG. CODE:

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T1.

PARAMETERS : A(10), B(10), C(10), D(10).

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE T2.

PARAMETERS : CH1 AS CHECKBOX, CH2 AS CHECKBOX, CH3 AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE T3.

PARAMETERS : RB1 RADIOBUTTON GROUP A, RB2 RADIOBUTTON GROUP A.

SELECTION-SCREEN END OF BLOCK B3.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN PUSHBUTTON /10(10) LB1 USER-COMMAND PB1.

SELECTION-SCREEN PUSHBUTTON 50(10) LB2 USER-COMMAND PB2.

INITIALIZATION.

T1 = 'INPUT FIELDS'.

T2 = 'CHECKBOXES'.

LB1 = 'PRINT'.

LB2 = 'EXIT'.

CH1 = 'X'.

RB2 = 'X'.

AT SELECTION-SCREEN.

CASE SY-UCOMM.

WHEN 'PB1'.

LEAVE TO LIST-PROCESSING.

WRITE 😕 A, B, C, D.

WHEN 'PB2'.

LEAVE PROGRAM.

ENDCASE.

Regards,

Priya.

8 REPLIES 8
Read only

Former Member
0 Likes
1,092

Hi,

Observe the code bellow.

PARAMETERS: A TYPE I,

B TYPE I,

C TYPE I.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN PUSHBUTTON /10(10) LB1 USER-COMMAND PB1.

SELECTION-SCREEN PUSHBUTTON 30(10) LB2 USER-COMMAND PB2.

INITIALIZATION.

LB1 = ‘ADD’.

LB2 = ‘EXIT’.

AT SELECTION-SCREEN.

CASE SY-UCOMM.

WHEN ‘PB1’.

C = A + B.

WHEN ‘PB2’.

LEAVE PROGRAM.

ENDCASE.

Reward points,if it is useful.

Regards,

Chandu.

Read only

Former Member
0 Likes
1,093

Hi,

-


This statement is used to create a block within the screen.

EG. CODE:

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T1.

PARAMETERS : A(10), B(10), C(10), D(10).

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE T2.

PARAMETERS : CH1 AS CHECKBOX, CH2 AS CHECKBOX, CH3 AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE T3.

PARAMETERS : RB1 RADIOBUTTON GROUP A, RB2 RADIOBUTTON GROUP A.

SELECTION-SCREEN END OF BLOCK B3.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN PUSHBUTTON /10(10) LB1 USER-COMMAND PB1.

SELECTION-SCREEN PUSHBUTTON 50(10) LB2 USER-COMMAND PB2.

INITIALIZATION.

T1 = 'INPUT FIELDS'.

T2 = 'CHECKBOXES'.

LB1 = 'PRINT'.

LB2 = 'EXIT'.

CH1 = 'X'.

RB2 = 'X'.

AT SELECTION-SCREEN.

CASE SY-UCOMM.

WHEN 'PB1'.

LEAVE TO LIST-PROCESSING.

WRITE 😕 A, B, C, D.

WHEN 'PB2'.

LEAVE PROGRAM.

ENDCASE.

Regards,

Priya.

Read only

Former Member
0 Likes
1,092

Hi,

syntax:

selection-screen: pushbutton /<pos><len> pname user-command uname

selection-screen: pushbutton /5(10) push1 user-command us1.

Regards

Read only

Former Member
0 Likes
1,092

Hi

tables: sscrfields.

selection-screen pushbutton <size of button> <name of button> user-command <function code>.

ex. selection-screen pushbutton 10(20) hello user-command abc.

regards

Aditya

Read only

Former Member
0 Likes
1,092

hi,

SELECTION-SCREEN : PUSHBUTTON /50(25) R1 .

INITIALIZATION.

R1 = 'any'.

reward point if helpful

regards,

pankaj

Read only

Former Member
0 Likes
1,092

hi,

get the solution of all ur queries....

run it to gain the depth.

selection-screen :

begin of block b1 with frame title text-001.

parameters: a type i , b type i , c type p decimals 2 .

parameters: mul radiobutton group r user-command RADI,

div radiobutton group r ,

add radiobutton group r,

sub radiobutton group r,

again radiobutton group r ,

back radiobutton group r ,

addi radiobutton group g user-command RAD,

subt radiobutton group g ,

exit1 as checkbox,

exit as checkbox user-command XT .

selection-screen: pushbutton /6(8) P1 user-command AD,

pushbutton /6(8) P2 user-command SB ,

pushbutton /6(8) P3 user-command AG,

pushbutton /6(8) P4 user-command BK,

  • selection-screen:

end of block b1.

  • end of screen 1001.

  • call selection-screen 1001.

*at user-command.

at selection-screen.

case sy-ucomm.

when 'AD'.

c = a + b.

when 'SB'.

c = a - b.

WHEN 'AG'.

CLEAR : a , b, c .

when 'BK'.

leave program.

when 'RAD'.

if addi = 'X'.

c = a + b .endif.

if subt = 'X'. c = a - b . endif.

when 'RADI'.

if mul = 'X'.

c = a * b .

endif.

if div = 'X'.

c = a / b .

endif.

if add = 'X'.

c = a + b .

endif.

if sub = 'X'.

c = a - b .

endif.

if again = 'X' .

clear : a , b , c.

endif.

if back = 'X' .

leave program.

endif.

when 'XT'. "as soon as tick is pressed , the program returns.

leave program.

*when 'BK'.

*leave program.

endcase.

if exit1 = 'X' ."here user have to press execute.

leave program.

endif.

initialization . P1 = 'ADD'. P2 = 'Subtract'. P3 = 'AGAIN'. P4 = 'BACK'.

*initialization . t1 = 'testing'.

*selection-screen: function key 1,

*

*function key 2,

*function key 3,

*function key 4,

Read only

Former Member
0 Likes
1,092

HI.....

SELECTION-SCREEN : BEGIN OF SCREEN 2100,BEGIN OF BLOCK B1 WITH FRAME TITLE T1.

PARAMETER : A(10) TYPE P DECIMALS 2, B(10) TYPE P DECIMALS 2, C(15) TYPE P DECIMALS 2 .

SELECTION-SCREEN : PUSHBUTTON /10(15) AD USER-COMMAND ADD,

PUSHBUTTON 25(15) S USER-COMMAND SUB,

PUSHBUTTON 40(15) E USER-COMMAND CLEAR.

SELECTION-SCREEN : END OF BLOCK B1,

END OF SCREEN 2100.

CALL SELECTION-SCREEN 2100.

AT SELECTION-SCREEN.

CASE SY-UCOMM.

WHEN 'ADD'.

C = A + B.

WHEN 'SUB'.

C = A - B.

WHEN 'CLEAR'.

CLEAR : A , B , C .

ENDCASE.

INITIALIZATION.

AD = 'ADDITION'.

S ='SUBSTRACTION'.

E = 'CLEAR'.

I think u clear from this.....

Regards...

Sudarsan

Read only

Former Member
0 Likes
1,092

Hi

i am sending the code.

*-- Declaring the structure,internal table and workarea for Kna1 table.--*

TYPES:BEGIN OF st_kna1,

kunnr TYPE kunnr,

name1 TYPE name1,

END OF st_kna1.

DATA:it_kna1 TYPE STANDARD TABLE OF st_kna1,

wa_kna1 TYPE st_kna1.

*-- Declaring the structure,internal table and workarea for vbak table.--*

TYPES:BEGIN OF st_vbak,

vbeln TYPE vbeln,

erdat TYPE erdat,

netwr TYPE netwr,

vkorg TYPE vkorg,

kunnr TYPE kunnr,

END OF st_vbak.

DATA:it_vbak TYPE STANDARD TABLE OF st_vbak,

wa_vbak TYPE st_vbak.

*-- Declaring the structure,internal table and workarea for vbap table.--*

TYPES:BEGIN OF st_vbap,

posnr TYPE posnr,

matnr TYPE matnr,

posar TYPE posar,

pstyv TYPE pstyv,

vbeln TYPE vbeln,

END OF st_vbap.

DATA:it_vbap TYPE STANDARD TABLE OF st_vbap,

wa_vbap TYPE st_vbap.

--


Declaring Variable--

DATA:v_kna1 TYPE kna1,

v_field(50) TYPE c,

v_value1 TYPE kna1-kunnr ,

v_value2 TYPE kna1-kunnr ,

v_tcode(4) VALUE 'VA03',

wa_cust TYPE kna1-kunnr.

--


Selection-Screen block--

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

--


select options for customer number--

SELECT-OPTIONS:so_cust FOR v_kna1-kunnr OBLIGATORY.

SELECTION-SCREEN SKIP.

--


parameter for maximum hits--

PARAMETER:p_hits(10).

SELECTION-SCREEN END OF BLOCK b1.

&----


*& Start-of-Selection Event -- To select customer no, name from kna1 table

&----


START-OF-SELECTION.

SELECT kunnr

name1

FROM kna1 UP TO p_hits ROWS

INTO TABLE it_kna1

WHERE kunnr IN so_cust.

IF sy-subrc <> 0.

MESSAGE e003(z50886message).

ENDIF.

SET PF-STATUS 'SALESDETAILS'."here i put push button.double click on this then you find application bar.then extract that one there you write your push button name.

&----


*& End Of SElection Event-- To Write the selected Field values

&----


END-OF-SELECTION.

LOOP AT it_kna1 INTO wa_kna1.

WRITE:/1 sy-vline,

3 wa_kna1-kunnr,

20 sy-vline,

30 wa_kna1-name1,

100 sy-vline.

ENDLOOP.

ULINE AT /1(100).

&----


*& Top-of-Page Event--To display field Headings on every page

&----


TOP-OF-PAGE.

WRITE:/50 text-001.

SKIP.

ULINE AT /1(100).

WRITE:/1 sy-vline,

3 text-002,

20 sy-vline,

30 text-003,

100 sy-vline.

ULINE AT /1(100).

&----


*& At line-selection Event --To Display the Secondary List accordingly

&----


AT LINE-SELECTION.

CASE sy-lsind.

WHEN 1.

PERFORM salesheader.

WHEN 2.

PERFORM salesitem.

ENDCASE.

&----


*& Top-of-page during line selection--To display feild heading for

*& secondary lists on every page of the list.

&----


TOP-OF-PAGE DURING LINE-SELECTION.

CASE sy-lsind.

WHEN 1.

WRITE:/50 text-012.

WRITE:/ text-002,':', v_value1.

ULINE AT /1(100).

WRITE:/1 sy-vline,

3 text-004,

25 sy-vline,

30 text-005,

40 sy-vline,

45 text-006,

65 sy-vline,

70 text-007,

100 sy-vline.

ULINE AT /1(100).

WHEN 2.

WRITE:/50 text-013.

WRITE:/ text-002, ':', v_value1,

/20 text-004, ':', v_value2.

ULINE AT /1(100).

WRITE:/1 sy-vline,

3 text-008,

25 sy-vline,

30 text-009,

45 sy-vline,

50 text-010,

65 sy-vline,

70 text-011,

100 sy-vline.

ULINE AT /1(100).

ENDCASE.

&----


*&At- user-command --To Set the user defined keys

&----


AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'SAHE'.

PERFORM salesheader.

WHEN 'SAIT'.

PERFORM salesitem.

WHEN 'VA03'.

SET PARAMETER ID 'AUN' FIELD wa_vbak-vbeln.

CALL TRANSACTION v_tcode AND SKIP FIRST SCREEN.

ENDCASE.

&----


*& END-OF-PAGE

&----


END-OF-PAGE.

ULINE AT /1(100).

SKIP.

WRITE:/70 'PAGE NO.', sy-pagno.

--


Form salesheader--

FORM salesheader.

SET PF-STATUS 'SALESHEADER'."here also i put push buttons.

GET CURSOR FIELD v_field VALUE v_value1.

IF v_field = 'WA_KNA1-KUNNR'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = v_value1

IMPORTING

output = v_value1.

SELECT vbeln

erdat

netwr

vkorg

kunnr

FROM vbak INTO TABLE it_vbak

WHERE kunnr = v_value1.

LOOP AT it_vbak INTO wa_vbak.

IF sy-subrc <> 0.

MESSAGE e004(z50886message).

ENDIF.

WRITE:/1 sy-vline,

3 wa_vbak-vbeln,

25 sy-vline,

30 wa_vbak-erdat,

40 sy-vline,

50 wa_vbak-netwr CURRENCY 'INR',

65 sy-vline,

76 wa_vbak-vkorg,

100 sy-vline.

HIDE wa_vbak-vbeln.

ENDLOOP.

ULINE AT /1(100).

ELSE.

MESSAGE i005(z50886message).

ENDIF.

ENDFORM. "salesheader

--


Form SALESITEM--

FORM salesitem.

SET PF-STATUS ' '.

GET CURSOR FIELD v_field VALUE v_value2.

IF v_field = 'WA_VBAK-VBELN'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = v_value2

IMPORTING

output = v_value2.

SELECT posnr

matnr

posar

pstyv

vbeln

FROM vbap INTO TABLE it_vbap

WHERE vbeln = v_value2.

LOOP AT it_vbap INTO wa_vbap.

WRITE:/1 sy-vline,

3 wa_vbap-posnr,

25 sy-vline,

30 wa_vbap-matnr,

45 sy-vline,

50 wa_vbap-posar,

65 sy-vline,

70 wa_vbap-pstyv,

100 sy-vline.

ENDLOOP.

ULINE AT /1(100).

ELSE.

MESSAGE i006(z50886message).

ENDIF.

ENDFORM. "salesitem