Wednesday, January 13, 2010

Simple Interactive Report

*&---------------------------------------------------------------------*
*& Report Y_INTERACTIVE_1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT y_interactive_1 LINE-SIZE 250
LINE-COUNT 65(3)
NO STANDARD PAGE HEADING.

TABLES: bseg.

*****************DECLARATION of InternalTables**************************
TYPES : BEGIN OF ty_bseg ,
bukrs TYPE bseg-bukrs, "Company Code
belnr TYPE bseg-belnr, "Document Number
gjahr TYPE bseg-gjahr, "Fiscal Year
lifnr TYPE bseg-lifnr, "Vendor
kunnr TYPE bseg-kunnr, "Customer
koart TYPE bseg-koart, "Accouunt Type
END OF ty_bseg.

DATA : it_bseg TYPE STANDARD TABLE OF ty_bseg,
wa_bseg TYPE ty_bseg.

DATA: v_line TYPE sy-lisel,
v_lifnr TYPE lfa1-lifnr,
v_name1 TYPE lfa1-name1,
v_name2 TYPE lfa1-name2,
v_ort01 TYPE lfa1-ort01,
v_name(30) TYPE c,
v_nam(30) TYPE c,
v_kunnr TYPE kna1-kunnr,
v_nam1 TYPE kna1-name1,
v_nam2 TYPE kna1-name2,
v_ort1 TYPE kna1-ort01,
f1(13) TYPE c,
v1(10) TYPE c,
v_koart TYPE bseg-koart.


********************selection-screen****************************
SELECTION-SCREEN BEGIN OF BLOCK b1k1 WITH FRAME TITLE text-001.

PARAMETERS : p_bukrs TYPE bseg-bukrs OBLIGATORY .
SELECT-OPTIONS : s_belnr FOR bseg-belnr OBLIGATORY.
PARAMETERS : p_gjahr TYPE bseg-gjahr OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1k1.

*****************START-OF-SELECTION ***************************


START-OF-SELECTION.

******************************************************************
* Fetching the data from BSEG table
******************************************************************

PERFORM get_bseg.

******************************************************************
* Displaying the Output
******************************************************************
PERFORM output_1.

************************TOP-OF-PAGE*************************

TOP-OF-PAGE.

WRITE:/ 'Company Code'(002),
'Document Number'(003),
'Fiscal Year'(004),
'Vendor'(005),
'Customer'(006),
'Account Type'(007).

END-OF-PAGE.

WRITE : /5 'Page No:'(016) COLOR COL_NORMAL, sy-pagno COLOR COL_TOTAL.

************************AT LINE-SELECTION*************************


AT LINE-SELECTION.

GET CURSOR FIELD f1 VALUE v1.

READ LINE sy-lilli LINE VALUE INTO v_line.

v_lifnr = v_line+41(7).

v_kunnr = v_line+48(8).

v_koart = v_line+57(1).

CASE f1.

WHEN 'WA_BSEG-LIFNR'.

IF v_koart = 'K'.

IF sy-lsind = 1.
WRITE: /1 'Account No'(008) COLOR 2,
31 'Name'(012) COLOR 7,
84 'City'(011) COLOR 5.

ENDIF.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_lifnr
IMPORTING
output = v_lifnr.


SELECT SINGLE lifnr
name1
name2
ort01
FROM lfa1
INTO (v_lifnr, v_name1, v_name2, v_ort01)
WHERE lifnr = v_lifnr.

IF sy-subrc <> 0.
MESSAGE 'Select Query is wrong'(013) TYPE 'E'.
ENDIF.

CONCATENATE v_name1 v_name2 INTO v_name.


WRITE : / v_lifnr COLOR = 4 UNDER text-008,
v_name COLOR = 7 UNDER text-012 ,
v_ort01 COLOR = 6 UNDER text-011.
ELSE.
MESSAGE 'Invalid Record'(014) TYPE 'E'.
ENDIF.

WHEN 'WA_BSEG-KUNNR'.

IF v_koart = 'D'.

IF sy-lsind = 1.
WRITE: /1 'Customer'(006) COLOR 2,
31 'Name'(012) COLOR 7,
62 'City'(011) COLOR 5.

ENDIF.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kunnr
IMPORTING
output = v_kunnr.

SELECT SINGLE kunnr
name1
name2
ort01
FROM kna1
INTO (v_kunnr, v_nam1, v_nam2, v_ort1)
WHERE kunnr = v_kunnr.

IF sy-subrc <> 0.
MESSAGE 'Select Query is wrong'(013) TYPE 'E'.
ENDIF.

CONCATENATE v_nam1 v_nam2 INTO v_nam.


WRITE : / v_kunnr COLOR = 4 UNDER text-006,
v_nam COLOR = 7 UNDER text-012 ,
v_ort1 COLOR = 6 UNDER text-011.

ELSE.
MESSAGE 'Invalid Record'(014) TYPE 'E'.
ENDIF.
ENDCASE.



*&---------------------------------------------------------------------*
*& Form get_bseg
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_bseg .
SELECT bukrs
belnr
gjahr
lifnr
kunnr
koart
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg
WHERE bukrs = p_bukrs AND
belnr IN s_belnr AND
gjahr = p_gjahr .

IF sy-subrc <> 0.
MESSAGE 'Entered values are wrong'(015) TYPE 'E'.
ENDIF.


ENDFORM. " get_bseg
*&---------------------------------------------------------------------*
*& Form output_1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM output_1 .

LOOP AT it_bseg INTO wa_bseg.

WRITE : / wa_bseg-bukrs COLOR = 1 UNDER text-002,
wa_bseg-belnr COLOR = 2 UNDER text-003,
wa_bseg-gjahr COLOR = 3 UNDER text-004,
wa_bseg-lifnr COLOR = 4 UNDER text-005 HOTSPOT ON,
wa_bseg-kunnr COLOR = 5 UNDER text-006 HOTSPOT ON,
wa_bseg-koart COLOR = 6 UNDER text-007.

ENDLOOP.

ENDFORM. "output_1

" output_1

No comments:

Post a Comment