2008 Apr 23 12:36 PM
How to create Reports with Radio Buttons, which gives sales information, Delivery information and Billing information. plz mention the detail coding
Thanks,
Priya Ranjan
How to create Reports with Radio Buttons, which gives sales information, Delivery information and Billing information. plz mention the detail coding
Thanks,
Priya Ranjan
2008 Apr 23 12:38 PM
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.
2008 Apr 23 12:39 PM
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
2008 Apr 23 12:48 PM
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
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |