‎2007 Sep 03 11:49 AM
Hi all,
Can anybody please give me the examples for all system fields for interctive reporting.
(like sy-listi,sy-lilli,sy-lisel,sy-curow,sy-cucol,sy-cpage,sy-staro,sy-staco,sy-ucomm,sy-pfkey).
Thanks in advance.
‎2007 Sep 03 11:53 AM
hi ranjith,
go thro these demo programs.
DEMO_LIST_INTERACTIVE_1
DEMO_LIST_INTERACTIVE_2
DEMO_LIST_INTERACTIVE_3
DEMO_LIST_INTERACTIVE_4
DEMO_LIST_HIDE
Regards...
Arun.
Reward points if useful.
‎2007 Sep 03 11:59 AM
Hi ranjith
Please try this program.
REPORT Z_Interactive_report_1 NO STANDARD PAGE HEADING.
TABLES: LFA1, LFB1, BSIK.
DATA: BEGIN OF DOCTAB OCCURS 100,
BELNR LIKE BSIK-BELNR,
BUDAT LIKE BSIK-BUDAT,
GSBER LIKE BSIK-GSBER,
DMBTR LIKE BSIK-DMBTR,
END OF DOCTAB.
START-OF-SELECTION.
GET LFB1.
WRITE: LFA1-LIFNR, LFB1-BUKRS, (20) LFA1-NAME1, (20) LFA1-ORT01.
HIDE: LFA1-LIFNR, LFB1-BUKRS.
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE: SY-LISEL.
ULINE. SKIP.
WRITE: 'COMPANY CODE:'(001), LFB1-BUKRS.
WRITE: / 'DOC. NO. POST.DATE BA LOCAL CURRENCY'(002).
ULINE /(45).
END-OF-SELECTION.
CLEAR LFA1-LIFNR.
AT PF13.
WRITE: 'PF13 SY-LSIND = ', SY-LSIND.
CHECK NOT LFA1-LIFNR IS INITIAL.
SELECT * FROM BSIK WHERE LIFNR = LFA1-LIFNR AND BUKRS EQ LFB1-BUKRS.
WRITE: / BSIK-BELNR, BSIK-BUDAT DD/MM/YYYY, BSIK-GSBER, 23 BSIK-DMBTR.
DOCTAB-BELNR = BSIK-BELNR.
DOCTAB-BUDAT = BSIK-BUDAT.
DOCTAB-GSBER = BSIK-GSBER.
DOCTAB-DMBTR = BSIK-DMBTR.
APPEND DOCTAB.
CLEAR DOCTAB.
ENDSELECT.
IF SY-SUBRC NE 0.
SKIP 5.
WRITE: '*** NO DOCUMENTS AVAILABLE. ***'(003).
ENDIF.
CLEAR LFA1-LIFNR.
AT PF14.
WRITE: 'AT PF14 SY-LSIND = ', SY-LSIND.
SY-LSIND = SY-LSIND - 1.
SORT DOCTAB BY BUDAT.
PERFORM DOCPRINT.
AT PF16.
WRITE: 'AT PF16 SY-LSIND = ', SY-LSIND.
SY-LSIND = SY-LSIND - 1.
SORT DOCTAB BY DMBTR.
PERFORM DOCPRINT.
FORM DOCPRINT.
LOOP AT DOCTAB.
WRITE: / DOCTAB-BELNR, DOCTAB-BUDAT DD/MM/YYYY, DOCTAB-GSBER,
23 DOCTAB-DMBTR.
ENDLOOP.
ENDFORM.
Regards
Wiboon
‎2007 Sep 03 12:03 PM
Hi,,
Just copy paste dis program.
A good example on interactive report:
REPORT z_CHECKBOX NO STANDARD PAGE HEADING LINE-SIZE
150 LINE-COUNT 37.
************************************************************************
***********************************************************************
*TABLES
**
************************************************************************
***********************************************************************
TABLES: MARA , MARC , MARD , MAKT , T001L.
************************************************************************
***********************************************************************
DATA: BOX(1) TYPE C, LINES TYPE I.
DATA: BEGIN OF IT_MATERIAL_REC OCCURS 0,
MATNR LIKE MARA-MATNR, " MAT NO
MTART LIKE MARA-MTART, " TYPE
MAKTX LIKE MAKT-MAKTX, " MATERIAL DESCRIPTION
END OF IT_MATERIAL_REC,
BEGIN OF IT_PLANT_REC OCCURS 0,
MATNR LIKE MARC-MATNR, " MAT NO
WERKS LIKE MARC-WERKS, " PLANT
NAME1 LIKE T001W-NAME1, " PLANT NAME
LABST LIKE MARD-LABST, " QTY
END OF IT_PLANT_REC,
BEGIN OF IT_STORAGE_REC OCCURS 0,
MATNR LIKE MARD-MATNR, " MAT NO
LGORT LIKE MARD-LGORT, " WT TYPE
LGOBE LIKE T001L-LGOBE, " TYPE
LABST LIKE MARD-LABST, " QTY
END OF IT_STORAGE_REC,
TOTAL LIKE MARD-LABST. " FOR TOTAL QTY
CLEAR: IT_MATERIAL_REC,
IT_PLANT_REC,
IT_STORAGE_REC.
REFRESH: IT_MATERIAL_REC,
IT_PLANT_REC,
IT_STORAGE_REC.
************************************************************************
***********************************************************************
SELECTION-SCREEN
BEGIN OF BLOCK MAT WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : V_MATNR FOR MARA-MATNR.
SELECTION-SCREEN END OF BLOCK MAT.
************************************************************************
***********************************************************************
START-OF-SELECTION.
SET PF-STATUS 'AK01' EXCLUDING 'PICK'.
REFRESH IT_MATERIAL_REC.
CLEAR IT_MATERIAL_REC.
SELECT DISTINCT MARAMATNR MAKTMAKTX INTO CORRESPONDING FIELDS OF
TABLE IT_MATERIAL_REC
FROM ( MARA INNER JOIN MAKT ON MARAMATNR = MAKTMATNR )
WHERE MARAMATNR IN V_MATNR AND MAKTSPRAS = SY-LANGU.
LOOP AT IT_MATERIAL_REC.
SELECT SUM( LABST ) INTO TOTAL
FROM MARD
WHERE MARD~MATNR = IT_MATERIAL_REC-MATNR.
WRITE:/ BOX AS CHECKBOX, 2 IT_MATERIAL_REC-MATNR , 22
IT_MATERIAL_REC-MAKTX , 115 TOTAL.
HIDE IT_MATERIAL_REC-MATNR.
HIDE IT_MATERIAL_REC-MAKTX.
HIDE TOTAL.
CLEAR IT_MATERIAL_REC.
ENDLOOP.
END-OF-SELECTION.
LINES = SY-LINNO - 1.
************************************************************************
*********************************************************************
AT LINE-SELECTION.
IF sy-lsind = 4.
sy-lsind = 0.
ENDIF.
CASE SY-LSIND.
WHEN '2'.
CLEAR V_MATNR.
CLEAR IT_PLANT_REC.
SELECT MARCMATNR MARCWERKS T001W~NAME1 INTO CORRESPONDING FIELDS
OF TABLE IT_PLANT_REC
FROM MARC INNER JOIN T001W
ON MARCWERKS = T001WWERKS
WHERE MARC~MATNR = IT_MATERIAL_REC-MATNR.
LOOP AT IT_PLANT_REC.
SELECT SUM( LABST ) INTO IT_PLANT_REC-LABST
FROM MARD
WHERE MARDMATNR = IT_MATERIAL_REC-MATNR AND MARDWERKS =
IT_PLANT_REC-WERKS.
MODIFY IT_PLANT_REC.
ENDLOOP.
WRITE:/2 IT_MATERIAL_REC-MATNR , 22 IT_MATERIAL_REC-MAKTX , 115
TOTAL.
LOOP AT IT_PLANT_REC.
WRITE:/50 IT_PLANT_REC-WERKS , 62 IT_PLANT_REC-NAME1, 115
IT_PLANT_REC-LABST .
HIDE IT_PLANT_REC-WERKS.
HIDE IT_PLANT_REC-NAME1.
HIDE IT_PLANT_REC-MATNR.
ENDLOOP.
CLEAR: IT_MATERIAL_REC-MATNR.
WHEN '3'.
CLEAR IT_STORAGE_REC.
SELECT LGORT LABST INTO CORRESPONDING FIELDS OF TABLE
IT_STORAGE_REC
FROM MARD
WHERE MATNR = IT_PLANT_REC-MATNR AND WERKS = IT_PLANT_REC-WERKS.
LOOP AT IT_STORAGE_REC.
SELECT SINGLE LGOBE INTO CORRESPONDING FIELDS OF
IT_STORAGE_REC
FROM T001L
WHERE LGORT = IT_STORAGE_REC-LGORT.
MODIFY IT_STORAGE_REC.
ENDLOOP.
WRITE:/2 IT_PLANT_REC-MATNR , 22 IT_MATERIAL_REC-MAKTX , 115 TOTAL
.
WRITE:/50 IT_PLANT_REC-WERKS , 62 IT_PLANT_REC-NAME1.
LOOP AT IT_STORAGE_REC.
WRITE:/80 IT_STORAGE_REC-LGORT , 92 IT_STORAGE_REC-LGOBE
, 115 IT_STORAGE_REC-LABST.
CLEAR IT_STORAGE_REC.
ENDLOOP.
CLEAR IT_PLANT_REC-WERKS.
WHEN OTHERS.
WRITE:/ 'SORRY !!!!!!!! PRESS F12'.
EXIT.
ENDCASE.
************************************************************************
*********************************************************************
MENU
************************************************************************
*********************************************************************
AT USER-COMMAND.
SET PF-STATUS 'AK01'.
CASE SY-UCOMM.
WHEN 'EXT1'.
SET SCREEN 0.
LEAVE SCREEN.
WHEN 'EX01'.
DO LINES TIMES.
READ LINE SY-INDEX FIELD VALUE BOX.
IF BOX = 'X' .
WRITE:/2 IT_MATERIAL_REC-MATNR, 22 IT_MATERIAL_REC-MAKTX .
HIDE: IT_MATERIAL_REC-MATNR,
IT_MATERIAL_REC-MAKTX .
ENDIF.
ENDDO.
WHEN 'SELALL'.
DO LINES TIMES.
READ LINE SY-INDEX FIELD VALUE BOX.
IF BOX <> 'X' .
BOX = 'X'.
ENDIF.
ENDDO.
WHEN 'DESELALL'.
DO LINES TIMES.
READ LINE SY-INDEX FIELD VALUE BOX.
IF BOX = 'X' .
BOX = ' '.
ENDIF.
ENDDO.
ENDCASE.
************************************************************************
*********************************************************************
TOP-OF-PAGE.
ULINE 1(135).
WRITE:/ SY-VLINE , 135 SY-VLINE .
WRITE:2'RAPIDIGM INDIA LIMITED' COLOR 1.
WRITE:/ SY-VLINE , 135 SY-VLINE.
WRITE:2
' MATERIAL STOCK D' &
'ETAILS '
COLOR 6.
WRITE:/ SY-VLINE , 135 SY-VLINE.
WRITE: 120 'DATE' COLOR COL_HEADING , SY-DATUM.
WRITE:/ SY-VLINE , 135 SY-VLINE.
ULINE 1(135).
WRITE:/ SY-VLINE , 135 SY-VLINE.
ULINE 1(135).
WRITE:/ SY-VLINE , 135 SY-VLINE.
WRITE:2'MATERIAL NO' , 22 'DESCRIPTION', 50 'PLANT ID', 62
'PLANT NAME ' , 80 'STORAGE ID', 92 'LOC NAME' RIGHT-JUSTIFIED, 115
'QUANTITY' COLOR 6.
WRITE:/ SY-VLINE , 135 SY-VLINE.
ULINE 1(135).
TOP-OF-PAGE DURING LINE-SELECTION.
ULINE 1(135).
WRITE:/ SY-VLINE , 135 SY-VLINE .
WRITE:2'RAPIDIGM INDIA LIMITED' COLOR 1.
WRITE:/ SY-VLINE , 135 SY-VLINE.
WRITE:2
' MATERIAL STOCK D' &
'ETAILS '
COLOR 6.
WRITE:/ SY-VLINE , 135 SY-VLINE.
WRITE: 120 'DATE' COLOR COL_HEADING , SY-DATUM.
WRITE:/ SY-VLINE , 135 SY-VLINE.
ULINE 1(135).
WRITE:/ SY-VLINE , 135 SY-VLINE.
ULINE 1(135).
WRITE:/ SY-VLINE , 135 SY-VLINE.
WRITE:2'MATERIAL NO' , 22 'DESCRIPTION', 50 'PLANT ID', 62
'PLANT NAME ' , 80 'STORAGE ID', 92 'LOC NAME' RIGHT-JUSTIFIED, 115
'QUANTITY' COLOR 6.
WRITE:/ SY-VLINE , 135 SY-VLINE.
ULINE 1(135).
regards,
S.Agarwal