‎2008 Mar 13 7:30 AM
hi,
how to create push button in simple abap report. plz send with coding
waiting for reply
‎2008 Mar 13 7:35 AM
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.
‎2008 Mar 13 7:34 AM
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.
‎2008 Mar 13 7:35 AM
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.
‎2008 Mar 13 7:36 AM
Hi,
syntax:
selection-screen: pushbutton /<pos><len> pname user-command uname
selection-screen: pushbutton /5(10) push1 user-command us1.
Regards
‎2008 Mar 13 7:36 AM
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
‎2008 Mar 13 7:41 AM
hi,
SELECTION-SCREEN : PUSHBUTTON /50(25) R1 .
INITIALIZATION.
R1 = 'any'.
reward point if helpful
regards,
pankaj
‎2008 Mar 13 7:59 AM
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,
‎2008 Mar 13 8:04 AM
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
‎2008 Mar 13 8:24 AM
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.
--
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 BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
--
SELECT-OPTIONS:so_cust FOR v_kna1-kunnr OBLIGATORY.
SELECTION-SCREEN SKIP.
--
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.
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.
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