*&---------------------------------------------------------------------*
*& 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