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

Interactive reports coding

Former Member
0 Likes
490

How to create Reports with Radio Buttons, which gives sales information, Delivery information and Billing information. plz mention the detail coding

Thanks,

Priya Ranjan

3 REPLIES 3
Read only

Former Member
0 Likes
474

Hi,

The following is the code which demonistrates the ussage of radiobuttons.

Modify as per ur requirement.

**USAGE OF RADIO BUTTONS**

&----


*& Report ZJE_REPORT2

*&

&----


*&

*&

&----


REPORT zje_report2 NO STANDARD PAGE HEADING MESSAGE-ID zmsg44 LINE-SIZE 120 LINE-COUNT 65(3)..

  • Declerations :

TABLES : ekko, ekpo.

TYPES : BEGIN OF s_ekpo,

ebeln(10),

ebelp(5),

aedat(8),

matnr(18),

bukrs(4),

werks(4),

END OF s_ekpo.

DATA : i_ekpo TYPE STANDARD TABLE OF s_ekpo,

w_ekpo TYPE s_ekpo.

TYPES : BEGIN OF s_ekko,

ebeln LIKE ekko-ebeln,

bukrs LIKE ekko-bukrs,

aedat LIKE ekko-aedat,

ernam LIKE ekko-ernam,

lifnr LIKE ekko-lifnr,

END OF s_ekko.

DATA : i_ekko TYPE STANDARD TABLE OF s_ekko,

w_ekko TYPE s_ekko.

DATA : v_lines LIKE sy-tabix,

v_i TYPE i.

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

SELECT-OPTIONS : s_bukrs FOR ekko-bukrs OBLIGATORY MODIF ID m1.

SELECT-OPTIONS : s_ebeln FOR ekko-ebeln OBLIGATORY MODIF ID m2 .

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : r1 RADIOBUTTON GROUP g1 USER-COMMAND ucom DEFAULT 'X' .

SELECTION-SCREEN COMMENT 5(12) text-003 FOR FIELD r1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : r2 RADIOBUTTON GROUP g1.

SELECTION-SCREEN COMMENT 5(12) text-004 FOR FIELD r2.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b2.

INITIALIZATION.

s_bukrs-low = '0001'.

APPEND s_bukrs.

CLEAR s_bukrs.

AT SELECTION-SCREEN output.

LOOP AT SCREEN.

IF r1 = 'X' AND screen-group1 = 'M2'.

screen-input = 0.

MODIFY SCREEN.

endif.

IF r2 = 'X' AND screen-group1 = 'M1'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

AT SELECTION-SCREEN.

SELECT ebeln bukrs aedat ernam lifnr

FROM ekko

INTO TABLE i_ekko

WHERE ebeln IN s_ebeln.

IF sy-subrc NE 0.

SET CURSOR FIELD s_ebeln-low.

MESSAGE i999 WITH 'Enter VALID PO NUMBER'.

ENDIF.

START-OF-SELECTION.

IF r1 = 'X'.

SELECT ebeln

bukrs

aedat

ernam

lifnr

FROM ekko

INTO TABLE i_ekko

WHERE ebeln IN s_ebeln.

LOOP AT i_ekko INTO w_ekko.

WRITE : / sy-vline,

2 w_ekko-ebeln,

14 sy-vline,

15 w_ekko-bukrs,

25 sy-vline,

26 w_ekko-aedat,

36 sy-vline,

37 w_ekko-ernam,

50 sy-vline,

51 w_ekko-lifnr,

63 sy-vline.

ENDLOOP.

ULINE AT /(63).

DESCRIBE TABLE i_ekko LINES v_lines.

WRITE 😕 'NO OF LINES(RECORDS)', v_lines.

ENDIF.

v_i = ( 62 - v_lines ).

RESERVE v_i LINES.

TOP-OF-PAGE.

ULINE AT /(63).

WRITE : / sy-vline,

2 'PO-NUMR',

14 sy-vline,

15 'COMP CODE',

25 sy-vline,

26 'DATE',

36 sy-vline,

37 'PERSON CRET',

50 sy-vline,

51 'VE-A/C NUM',

63 sy-vline.

ULINE AT /(63).

END-OF-PAGE .

IF r1 = 'X'.

WRITE : / 'PERSON CREATED' ,sy-uname.

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

ENDIF.

Read only

Former Member
0 Likes
474

Hi,

Do one simple thing

write different different report for all the requirements then based on the radio button submit corresponding report then it will be easy for u

hope i am clear to u..

Regards

Sunil Kumar Mutyala

Read only

Former Member
0 Likes
474

hi,,

&----


*& Report Z50813_SD_REPT_SALESDATA1

*&

&----


*&

*&

&----


REPORT Z50813_SD_REPT_SALESDATA1.

*-----TABLES DECLARATION

TABLES : KNA1, "Customer Master

vbak, "Sales Document Header

VBAP, "Sales Document Item

SSCRFIELDS. "Screen Field Table

&----


&

& D A T A D E C L A R A T I O N &

&----


&

DATA : BEGIN OF IT_KNA1 OCCURS 0,

KUNNR TYPE KNA1-KUNNR, "Customer Number

LAND1 TYPE KNA1-LAND1, "Country Key

NAME1 TYPE KNA1-NAME1, "Name

ORT01 TYPE KNA1-ORT01, "City

END OF IT_KNA1.

DATA : BEGIN OF IT_KNA2 OCCURS 0,

KUNNR TYPE KNA1-KUNNR, "Customer Number

LAND1 TYPE KNA1-LAND1, "Country Key

NAME1 TYPE KNA1-NAME1, "Name

ORT01 TYPE KNA1-ORT01, "City

END OF IT_KNA2.

DATA: BEGIN OF IT_VBAK OCCURS 0,

VBELN TYPE VBAK-VBELN, "Sales Document

ERDAT TYPE VBAK-ERDAT, "Date

ERNAM TYPE VBAK-ERNAM, "Name of Person

AUART TYPE VBAK-AUART, "Sales Document Type

END OF IT_VBAK.

DATA: BEGIN OF IT_VBAP OCCURS 0,

VBELN TYPE VBAP-VBELN, "Sales Document

POSNR TYPE VBAP-POSNR, "Sales Document Item

MATNR TYPE VBAP-MATNR, "Material Number

MATKL TYPE VBAP-MATKL, "Material group

END OF IT_VBAP.

DATA: V_COUNT TYPE INT4, "Current Row Index

V_LINE LIKE SY-LISEL, "Contents of selected line

V_KUNNR LIKE KNA1-KUNNR.

&----


&

& S E L E C T I O N S C R E E N &

&----


&

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

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : RB1 RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD RB1.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS : SO_KUNNR FOR KNA1-KUNNR OBLIGATORY.

PARAMETERS : P_HITS(3) TYPE C.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : RB2 RADIOBUTTON GROUP G1.

SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD RB2.

SELECTION-SCREEN END OF LINE.

PARAMETERS : P_FILE LIKE RLGRAP-FILENAME DEFAULT 'c:\test'.

SELECTION-SCREEN PUSHBUTTON /33(10) CUSTL USER-COMMAND PUSH1.

SELECTION-SCREEN PUSHBUTTON 58(10) CUSTD USER-COMMAND PUSH2.

SELECTION-SCREEN END OF BLOCK B1.

&----


&

& I N I T I A L I Z A T I O N &

&----


&

INITIALIZATION.

MOVE 'LOAD' TO CUSTL.

MOVE 'DISP' TO CUSTD.

&----


&

& A T L I N E S E L E C T I O N &

&----


&

AT SELECTION-SCREEN.

PERFORM VALIDATE_KUNNR.

&----


&

& A T S E L E C T I O N S C R E E N O N V A L U E-R E Q U E S T &

&----


&

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

FIELD_NAME = ' '

IMPORTING

FILE_NAME = P_FILE.

&----


&

& S T A R T O F S E L E C T I O N &

&----


&

START-OF-SELECTION.

PERFORM CUST_DETAILS.

&----


&

& S T A R T O F S E L E C T I O N &

&----


&

TOP-OF-PAGE.

FORMAT COLOR 3 INTENSIFIED OFF.

WRITE :/02(25) SY-REPID.

WRITE : 39(15) 'Page'(010), SY-PAGNO.

FORMAT COLOR OFF.

FORMAT COLOR 6 INTENSIFIED OFF.

FORMAT COLOR COL_HEADING.

ULINE AT :/1(60).

WRITE: /1 SY-VLINE,

2 'Cust Number'(000),

14 SY-VLINE,

16 'Country'(007),

25 SY-VLINE,

26 'City'(008),

42 SY-VLINE,

43 'Region'(009),

60 SY-VLINE.

ULINE AT :/1(60).

FORMAT COLOR COL_HEADING OFF.

&----


&

& T O P O F P A G E D U R I N G L I N E S E L E C T I O N &

&----


&

TOP-OF-PAGE DURING LINE-SELECTION.

IF SY-LSIND EQ 1 OR SY-UCOMM EQ 'VBAK'.

FORMAT COLOR COL_HEADING.

ULINE AT :/1(60).

WRITE : /1 SY-VLINE,

2 'Docu No.'(011),

14 SY-VLINE,

16 'Date'(012),

26 SY-VLINE,

27 'Name'(013),

42 SY-VLINE,

43 'DType'(014),

60 SY-VLINE.

ULINE AT :/1(60).

ELSEIF SY-LSIND EQ 2 OR SY-UCOMM EQ 'VBAK'.

SET PF-STATUS SPACE.

ULINE AT :/1(60).

WRITE : /1 SY-VLINE,

2 'Docu No.'(015),

14 SY-VLINE,

16 'Sales Item'(016),

25 SY-VLINE,

26 'Mat No'(017),

42 SY-VLINE,

43 VBAP-MATKL,

50 'Mat Grp'(018),

60 SY-VLINE.

ULINE AT :/1(60).

ENDIF.

&----


&

& AT USER-COMMAND &

&----


&

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'VBAK'.

PERFORM SALES_ITEM.

WHEN 'DELIVERY'.

CLEAR IT_VBAK-VBELN.

GET CURSOR VALUE IT_VBAK-VBELN.

SET PARAMETER ID 'AUN' FIELD IT_VBAK-VBELN.

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

WHEN 'DISP'.

PERFORM DISPLAY_BASIC.

ENDCASE.

&----


&

& AT LINE SELECTION &

&----


&

AT LINE-SELECTION.

IF SY-LSIND = 1.

SET PF-STATUS 'DDDD'.

PERFORM SALES_HEADER.

ELSEIF SY-LSIND = 2.

CASE SY-UCOMM.

WHEN 'PICK'.

SET PF-STATUS SPACE.

PERFORM SALES_ITEM.

WHEN 'DELIVERY'.

CLEAR IT_VBAK-VBELN.

GET CURSOR VALUE IT_VBAK-VBELN.

SET PARAMETER ID 'AUN' FIELD IT_VBAK-VBELN.

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

WHEN 'DISP'.

PERFORM DISPLAY_BASIC.

ENDCASE.

PERFORM sales_item.

ENDIF.

&----


&

& AT USER-COMMAND &

&----


&

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'VBAK'.

PERFORM SALES_ITEM.

WHEN 'DELIVERY'.

CLEAR IT_VBAK-VBELN.

GET CURSOR VALUE IT_VBAK-VBELN.

SET PARAMETER ID 'AUN' FIELD IT_VBAK-VBELN.

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

WHEN 'DISP'.

PERFORM DISPLAY_BASIC.

ENDCASE.

&----


&

& Form CUST_DETAILS &

&----


&

FORM CUST_DETAILS .

SELECT KUNNR

LAND1

NAME1

ORT01

FROM KNA1

INTO TABLE IT_KNA1

WHERE KUNNR IN SO_KUNNR.

IF SY-SUBRC 0.

MESSAGE 'SELECT VALID CUST NO' TYPE 'I'.

ELSE.

LOOP AT IT_KNA1.

v_count = v_count + 1.

IF SY-TABIX < P_HITS.

IF v_count <= p_hits.

MOVE IT_KNA1 TO IT_KNA2.

APPEND IT_KNA2.

ELSE.

EXIT.

ENDIF.

ENDLOOP.

ENDIF.

IF NOT IT_KNA2[] IS INITIAL.

LOOP AT IT_KNA2.

WRITE : /1 SY-VLINE,

2 IT_KNA2-KUNNR,

14 SY-VLINE,

16 IT_KNA2-LAND1,

25 SY-VLINE,

26 IT_KNA2-NAME1,

42 SY-VLINE,

43 IT_KNA2-ORT01,

60 SY-VLINE.

ULINE AT :/1(60).

ENDLOOP.

ENDIF.

ENDFORM. " CUST_DETAILS

*&----


**& Form load_file

*&----


*form load_file .

*

*endform. " load_file

*&----


**& Form disp_file

*&----


*form disp_file .

*

*endform. " disp_file

&----


*& Form VALIDATE_KUNNR

&----


FORM VALIDATE_KUNNR .

SELECT SINGLE KUNNR

FROM KNA1

INTO KNA1

WHERE KUNNR = SO_KUNNR.

ENDFORM. " VALIDATE_KUNNR

&----


*& Form SALES_HEADER

&----


FORM SALES_HEADER .

DATA : V_KNA1(13).

V_KNA1 = 'IT_KNA2-KUNNR'.

*get cursor line sy-lilli value v_line

CLEAR V_KUNNR.

GET CURSOR FIELD V_KNA1 VALUE V_KUNNR.

v_kunnr = v_line+1(10).

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = V_KUNNR

IMPORTING

OUTPUT = V_KUNNR.

SELECT VBELN

ERDAT

ERNAM

AUART

FROM VBAK

INTO TABLE IT_VBAK

WHERE KUNNR = V_KUNNR.

IF SY-SUBRC = 0.

LOOP AT IT_VBAK.

WRITE : /1 SY-VLINE,

2 IT_VBAK-VBELN,

14 SY-VLINE,

16 IT_VBAK-ERDAT,

26 SY-VLINE,

27 IT_VBAK-ERNAM,

42 SY-VLINE,

43 IT_VBAK-AUART,

60 SY-VLINE.

ULINE AT :/1(60).

ENDLOOP.

ENDIF.

ENDFORM. " SALES_HEADER

&----


*& Form SALES_ITEM

&----


FORM SALES_ITEM .

DATA : V_VBELN(13).

V_VBELN = 'IT_VBAK-VBELN'.

CLEAR IT_VBAK-VBELN.

GET CURSOR FIELD V_VBELN VALUE IT_VBAK-VBELN.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = IT_VBAK-VBELN

IMPORTING

OUTPUT = IT_VBAK-VBELN.

SELECT VBELN

POSNR

MATNR

MATKL

FROM VBAP

INTO TABLE IT_VBAP

WHERE VBELN = IT_VBAK-VBELN.

LOOP AT IT_VBAP .

WRITE : /1 SY-VLINE,

2 IT_VBAP-VBELN,

14 SY-VLINE,

16 IT_VBAP-POSNR,

25 SY-VLINE,

26 IT_VBAP-MATNR,

42 SY-VLINE,

43 IT_VBAP-MATKL,

60 SY-VLINE.

ULINE AT :/1(60).

ENDLOOP.

ENDFORM. " SALES_ITEM

&----


*& Form DISP_DOCU

&----


FORM DISPLAY_BASIC .

LOOP AT IT_KNA1 INTO IT_KNA1.

FORMAT HOTSPOT ON.

WRITE : /03 IT_KNA1-KUNNR,

24 IT_KNA1-NAME1.

HIDE IT_KNA1-KUNNR.

ENDLOOP.

ENDFORM. " display_basic

pls reward if useful

regards,

rekha