
2008-6-28 12:11
z7253514
WRITE显示中 如何自动换行?
各位大侠,如何在WRITE输出显示中,实现数据的自动换行?
例如100CHAR的数据,输出时分2行显示,可以节约输出的宽度。
2008-6-28 15:29
rosefish
SE38显示程序代码时,把光标放在REPORT关键字上,按F1
2008-6-28 21:03
ryq0000
列宽度设一下应该就可以了吧
2008-6-28 23:35
z7253514
补充下,我是输出若干个字段,其中对个别字段需要这种自动换行的功能,定义REPORT的长度仅仅是针对整个REPORT的长度吧。。
2008-6-29 15:08
ryq0000
[quote]原帖由 [i]z7253514[/i] 于 2008-6-28 23:35 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10799633&ptid=1013200][img]http://www.itpub.net/images/common/back.gif[/img][/url]
补充下,我是输出若干个字段,其中对个别字段需要这种自动换行的功能,定义REPORT的长度仅仅是针对整个REPORT的长度吧。。 [/quote]
这样啊,就没做过了。
不知道那个字段中加个回车符在里面行不行,没试过,楼主可以试下。
2008-6-30 16:30
dreamgift
LEN = STRLEN(STR).
IF LEN > 50.
WRITE: 010 STR+0(50),
/
010 STR+50(LEN).
ELSE.
WRITE 010 STR.
ENDIF.
不知道这样行不 LZ可以试试.
2008-6-30 19:21
ryq0000
[quote]原帖由 [i]dreamgift[/i] 于 2008-6-30 16:30 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10811931&ptid=1013200][img]http://www.itpub.net/images/common/back.gif[/img][/url]
LEN = STRLEN(STR).
IF LEN > 50.
WRITE: 010 STR+0(50),
/
010 STR+50(LEN).
ELSE.
WRITE 010 STR.
ENDIF.
不知道这样行不 LZ可以试试. [/quote]
/是什么意思?明天上班试试
2008-6-30 22:47
sorrowlich
[quote]原帖由 [i]ryq0000[/i] 于 2008-6-30 19:21 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10813110&ptid=1013200][img]http://www.itpub.net/images/common/back.gif[/img][/url]
/是什么意思?明天上班试试 [/quote]
:hit: :hit: :hit:
2008-7-1 10:27
ryq0000
[quote]原帖由 [i]sorrowlich[/i] 于 2008-6-30 22:47 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10814436&ptid=1013200][img]http://www.itpub.net/images/common/back.gif[/img][/url]
:hit: :hit: :hit: [/quote]
晕,糊涂了,这种换行也行?估计不行吧.
2008-7-1 11:32
ryq0000
这种方法不对,试了.
2008-7-2 13:32
dreamgift
[code]REPORT ZZTEST021.
TYPES: BEGIN OF TYP,
A(10),
B TYPE I,
END OF TYP.
DATA: TBL TYPE STANDARD TABLE OF TYP WITH KEY A WITH HEADER LINE.
DATA WORK_LINES TYPE I.
TBL-A = 'ABCDEFGHIJ'.
TBL-B = 1.
APPEND TBL.
TBL-A = 'A'.
TBL-B = 2.
APPEND TBL.
TBL-A = 'ABCDEFGHIJ'.
TBL-B = 3.
APPEND TBL.
TBL-A = 'B'.
TBL-B = 1.
APPEND TBL.
TBL-A = 'B'.
TBL-B = 2.
APPEND TBL.
LOOP AT TBL INTO TBL.
WORK_LINES = STRLEN( TBL-A ).
IF WORK_LINES > 5.
WORK_LINES = WORK_LINES - 5.
WRITE: /010 TBL-A+0(5),
020 TBL-B,
/010 TBL-A+5(WORK_LINES).
ELSE.
WRITE: /010 TBL-A,
020 TBL-B.
ENDIF.
ENDLOOP.[/code]结果:
ZZTEST021
ABCDE 1
FGHIJ
A 2
ABCDE 3
FGHIJ
B 1
B 2
2008-7-2 15:46
ryq0000
楼上的可以,我测试的时候咱就不行了呢,奇怪了.
2008-7-2 17:19
dreamgift
汗.. 那就不晓得了!
2008-7-2 17:34
tieshou444
学学大家的思想
2008-7-22 11:20
ping4482000
諸君大德,
在SAP的報表中, 用write的方式產生的報表, 不可能可以自動換行, 通常都是自行寫程式的, 因為SAP的輸出是一行一行的輸出, 所以通常這樣寫法:
loop at itab.
write:/001 itab-matnr,
020 itab-maktx+0(30),
050 itab-meins,
056 itab-labst unit itab-meins,
/020 itab-maktx+31(20).
endloop.
讓料號說明分成兩行輸出, 自己做點手工業吧,
页:
[1]

Powered by ITPUB论坛