10-22-2007 9:17 AM
................DATE................... | ||
..DAY.. | ....MONTH... | ..YEAR.. |
....02... | .......12........ | ...2003... |
....23... | .......03........ | ...2000... |
Can do it with alv grid (2 heads)?
Thanks
10-22-2007 9:21 AM
check the following program :
REPORT ERGP2140 LINE-SIZE 90 NO STANDARD PAGE HEADING.
*----------------------------------------------------------------------*
* Report ERGP2140: Einzeilige Liste mit hierarchischen Überschriften *
* Entspricht: ERGO2140, 2145 *
* mit/ohne Streifenmuster (Standard), *
*----------------------------------------------------------------------*
* Programmversion; angelegt: 1.2.1995, Gerd Waloszek *
*----------------------------------------------------------------------*
* Letzte Änderung: 25.2.98, Gerd Waloszek *
*----------------------------------------------------------------------*
************************************************************************
************************* Global data **********************************
************************************************************************
DATA: LENGTH TYPE I VALUE 8. " Length of list
data: tp like textpool occurs 0 with header line.
DATA: TXT_REPORT LIKE DOKHL-OBJECT. "Reportname für Erläuterungsaufruf
DATA: BEGIN OF MYLIST OCCURS 10, " Internal table for preparing
E3AA(12) TYPE P DECIMALS 2, " the list
E3AB(12) TYPE P DECIMALS 2,
E3BA(12) TYPE P DECIMALS 2,
E3BB(12) TYPE P DECIMALS 2,
END OF MYLIST.
DATA: STRIPES TYPE C VALUE ' '. " Stripes Y/N
DATA: SEED1 TYPE I, " Rand number seed 1
SEED2 TYPE I, " Rand number seed 2
SEED3 TYPE I, " Rand number seed 3
WIDTH TYPE I. " Width of list
************************************************************************
*************************** Main Program *******************************
************************************************************************
START-OF-SELECTION.
SET PF-STATUS 'LIBS1'.
READ TEXTPOOL SY-REPID INTO TP LANGUAGE SY-LANGU.
LOOP AT TP WHERE ID = 'R'.
SET TITLEBAR '001' WITH TP-entry.
EXIT.
ENDLOOP.
* Start seed for random number generator
SEED1 = 123. SEED2 = 2345. SEED3 = 23.
PERFORM FILL_ITAB. " Fill internal table with pseudo-data
* List output
WIDTH = 69. " Width of list
PERFORM MAIN.
************************************************************************
*************************** Form Routines ******************************
************************************************************************
*---------------------------------------------------------------------*
* FORM MAIN *
*---------------------------------------------------------------------*
* List output *
*---------------------------------------------------------------------*
FORM MAIN.
PERFORM HEADING. " Heading
PERFORM BODY. " First body
PERFORM FINISH(ERGPHELP) USING WIDTH.
PERFORM LEGEND(ERGPHELP)
USING 'X' STRIPES ' ' ' ' ' ' ' ' ' ' ' '.
ENDFORM.
*---------------------------------------------------------------------*
* FORM FILL_ITAB *
*---------------------------------------------------------------------*
* Fills the internal table for the list output *
*---------------------------------------------------------------------*
FORM FILL_ITAB.
DATA: RAN TYPE F,
RANI TYPE I,
RANP TYPE P DECIMALS 2.
DO LENGTH TIMES.
PERFORM RANDOM(ERGPHELP) USING SEED1 SEED2 SEED3 RAN.
RANI = 1000000 * RAN. RANP = RANI.
MOVE RANP TO MYLIST-E3AA.
PERFORM RANDOM(ERGPHELP) USING SEED1 SEED2 SEED3 RAN.
RANI = 1000000 * RAN. RANP = RANI.
MOVE RANP TO MYLIST-E3AB.
PERFORM RANDOM(ERGPHELP) USING SEED1 SEED2 SEED3 RAN.
RANI = 1000000 * RAN. RANP = RANI.
MOVE RANP TO MYLIST-E3BA.
PERFORM RANDOM(ERGPHELP) USING SEED1 SEED2 SEED3 RAN.
RANI = 1000000 * RAN. RANP = RANI.
MOVE RANP TO MYLIST-E3BB.
APPEND MYLIST.
ENDDO.
ENDFORM.
*---------------------------------------------------------------------*
* FORM HEADING *
*---------------------------------------------------------------------*
* Writes the heading of the list *
* This list has hierarchical headings *
* *
*---------------------------------------------------------------------*
FORM HEADING.
DATA: WIDTH2 TYPE I.
WIDTH2 = WIDTH - 2. " Width without borders
FORMAT INTENSIFIED OFF. " Remove any INTENSIFIED
ULINE AT (WIDTH). " Upper frame border
FORMAT COLOR COL_HEADING INTENSIFIED." Title color
WRITE: / SY-VLINE NO-GAP. " Left border
WRITE: AT (WIDTH2) TEXT-U10 CENTERED NO-GAP.
WRITE: AT WIDTH SY-VLINE. " Right border
ULINE AT (WIDTH).
FORMAT COLOR COL_HEADING INTENSIFIED OFF. " Secondary title color
WRITE: / SY-VLINE NO-GAP. " Left border
WRITE: (33) TEXT-V10 CENTERED NO-GAP.
WRITE: SY-VLINE NO-GAP . " Middle border
WRITE: (33) TEXT-V20 CENTERED NO-GAP.
WRITE: AT WIDTH SY-VLINE. " Right border
ULINE AT (WIDTH). " Line below titles
FORMAT COLOR COL_HEADING INTENSIFIED OFF. " Third title color
WRITE: / SY-VLINE NO-GAP. " Left border
WRITE: (15) TEXT-W10 RIGHT-JUSTIFIED.
WRITE: SY-VLINE NO-GAP . " Middle border
WRITE: (15) TEXT-W20 RIGHT-JUSTIFIED.
WRITE: SY-VLINE NO-GAP . " Middle border
WRITE: (15) TEXT-W30 RIGHT-JUSTIFIED.
WRITE: SY-VLINE NO-GAP . " Middle border
WRITE: (15) TEXT-W40 RIGHT-JUSTIFIED.
WRITE: AT WIDTH SY-VLINE. " Right border
ULINE AT (WIDTH). " Line below titles
ENDFORM.
*---------------------------------------------------------------------*
* FORM BODY *
*---------------------------------------------------------------------*
* Writes the body of the list *
*---------------------------------------------------------------------*
* Important: *
* Use SY-VLINE or '|' for vertival lines *
* Use NO-GAP for avoiding free space behind fields *
* Use FORMAT COLOR COL_NORMAL INTENSIFIED OFF for light list body *
* Use COLOR behind fields for individualized coloring *
* *
* Caution: the actual field values are pure dummies! *
* *
* Stripes in the list body *
* If You want a striped list body, You have to set up a counter. *
* If the counter starts with zero You have to set the body color to: *
* even counter values: COL_NORMAL INTENSIFIED
* odd counter values: COL_NORMAL INTENSIFIED OFF
*---------------------------------------------------------------------*
FORM BODY.
DATA: COUNT TYPE I VALUE 0, " Loop counter for list body
EVEN TYPE I VALUE 0. " Checker even/odd
* max type i value 8, " Number of rows in list
* helpn type p.
LOOP AT MYLIST.
* Stripe handling
IF STRIPES EQ ' '. " No Stripes
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
ELSE. " Stripes
EVEN = COUNT MOD 2. " Check for even/odd
IF EVEN = '0'.
FORMAT COLOR COL_NORMAL INTENSIFIED.
ELSE.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
ENDIF.
ENDIF.
* List row
WRITE: / SY-VLINE NO-GAP.
WRITE: (16) MYLIST-E3AA NO-GAP, SY-VLINE NO-GAP.
WRITE: (16) MYLIST-E3AB NO-GAP, SY-VLINE NO-GAP.
WRITE: (16) MYLIST-E3BA NO-GAP, SY-VLINE NO-GAP.
WRITE: (16) MYLIST-E3BB NO-GAP.
WRITE: AT WIDTH SY-VLINE.
ADD 1 TO COUNT.
ENDLOOP.
ENDFORM.
************************************************************************
*************************** Events *************************************
************************************************************************
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'ERLE'.
TXT_REPORT = 'ERGP2140'.
CALL FUNCTION 'ERGO_TEXT_SHOW'
EXPORTING
TEXTNAME = TXT_REPORT
ID = 'RE'
LANGU = SY-LANGU
EXCEPTIONS
TEXT_NOT_FOUND = 01.
WHEN 'STRI'.
SY-LSIND = 0.
IF STRIPES EQ 'X'.
STRIPES = ' '.
ELSE.
STRIPES = 'X'.
ENDIF.
PERFORM MAIN.
ENDCASE.
10-22-2007 9:41 AM
10-22-2007 9:45 AM
Hi,
in TOP_OF_PAGE event display your main header using WRITE statement
................DATE................... |
for 2nd part pass your fieldcatalog for column descriptions.
Regards,
Raghavendra
10-22-2007 10:16 AM
Thanks, but it wouldn't have better aspect. The aspect of the 2 header rows must be the same.