**************************ZWTEST3**************************
REPORT ZWTEST3 LINE-SIZE 50 NO STANDARD PAGE HEADING.
data: pos(2) type C,
len type c,
FIVE TYPE P DECIMALS 2.
DO 20 TIMES.
FIVE = SY-INDEX / 5.
FIVE = FIVE MOD 2.
IF FIVE = 1.
CONTINUE.
ENDIF.
POS = SY-INDEX.
LEN = SY-INDEX MOD 3.
IF POS < 10.
WRITE: /1 '|',10 POS.
ELSE.
WRITE: /1 '|',9 POS.
ENDIF.
IF LEN = '0'.
WRITE: 20 '|', 30 LEN COLOR 6,40 '|'.
ELSE.
WRITE: 20 '|', 30 LEN, 40 '|'.
ENDIF.
ULINE /(40).
ENDDO.
TOP-OF-PAGE.
ULINE /(40).
WRITE: /1 '|', (38) 'my first report' CENTERED ,40 '|'.
ULINE /(40).
**************************ZWTEST3**************************
**************************ZWTEST4************************
REPORT ZWTEST4 NO STANDARD PAGE HEADING LINE-SIZE 50.
datA: BEGIN OF tab OCCURS 0,
one(2) type c,
two type c,
END OF tab.
data: five type p DECIMALS 2.
DO 20 TIMES.
tab-one = sy-index.
tab-two = sy-index mod 3.
append tab.CLEAR tab.
ENDDO.
LOOP AT tab.
FIVE = tab-one / 5.
FIVE = FIVE MOD 2.
IF FIVE <> 1.
IF tab-one < 10.
WRITE: /1 '|',10 tab-one.
ELSE.
WRITE: /1 '|',9 tab-one.
ENDIF.
IF tab-two = '0'.
WRITE: 20 '|', 30 tab-two COLOR 6,40 '|'.
ELSE.
WRITE: 20 '|', 30 tab-two, 40 '|'.
ENDIF.
ULINE /(40).
ENDIF.
ENDLOOP.
TOP-OF-PAGE.
ULINE /(40).
WRITE: /1 '|', (38) 'my first report' CENTERED ,40 '|'.
ULINE /(40).
**************************ZWTEST4**************************
**************************ZWTEST5**************************
REPORT ZWTEST5 NO STANDARD PAGE HEADING.
TABLES: mara.
data: zmara like mara OCCURS 0 WITH HEADER LINE.
DATA: N TYPE I VALUE 1.
*SELECT MATKL MATNR FROM MARA INTO CORRESPONDING FIELDS OF ZMARA WHERE MATKL = '1001'.
* APPEND ZMARA.CLEAR ZMARA.
*ENDSELECT.
*
*
*SELECT MATKL MATNR FROM MARA INTO (ZMARA-MATNR,ZMARA-MATKL) WHERE MATKL = '1001'.
* APPEND ZMARA.CLEAR ZMARA.
*ENDSELECT.
*
SELECT MATKL FROM MARA INTO CORRESPONDING FIELDS OF TABLE ZMARA WHERE MATKL = '1001'.
SELECT MAX( BRGEW ) FROM MARA INTO ZMARA-BRGEW WHERE MTART = 'KROH'.
*APPEND zmara. CLEAR zmara.
SELECT MIN( ntgew ) FROM MARA INTO ZMARA-ntgew WHERE MEINS = 'CL'.
*APPEND zmara. CLEAR zmara.
SELECT avg( volum ) FROM MARA INTO ZMARA-volum WHERE MEINS = 'CL' AND MTART = 'KROH'.
APPEND zmara. CLEAR zmara.
LOOP AT ZMARA.
IF N <> 6.
ZMARA-BRGEW = N.
CASE N.
WHEN 1 OR 3 OR 5.
ZMARA-NTGEW = 1.
WHEN 2 OR 4.
ZMARA-volum = 2.
ENDCASE.
* IF N = 1 OR N = 3 OR N = 5.
* ZMARA-ntgew = 1.
* ENDIF.
* IF N = 2 OR N = 4.
* ZMARA-volum = 2.
* ENDIF.
MODIFY ZMARA.
ENDIF.
N = N + 1.
ENDLOOP.
LOOP AT ZMARA.
WRITE: / ZMARA-MATKL,ZMARA-BRGEW,ZMARA-ntgew,ZMARA-volum.
ENDLOOP.
**************************ZWTEST5**************************
学习体会:
ZWTEST4 这个程序,我写的方法和老师一样都是
select <itab> from <table> where .....
select <itab> from <table> where .....
select <itab> from <table> where .....
select <itab> from <table> where .....
但是奇怪的是我调试的时候总是提示我要加endselect。
ABAP语言的有些标点符号的应用和以前知道的程序还有和纯sql数据库里的select不大一样。
还在摸索学习中。