abap中message后面接的各种关键字?及各关键字的意思?像with...
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap中message后面接的各种关键字?及各关键字的意思?像with...相关的知识,希望对你有一定的参考价值。
通常使用 ABAP/4 语句 MESSAGE 发送消息, 使用消息类 型表示错误 类型。例如 ,在以下语 句中:IF SY-SUBRC NE 0.
MESSAGE E001.
ENDIF.
消息号是 001, E 是消息类型 (错误)。
可以在消息 号前面添上 五种不同的 消息类型( E、W、I、 A、S)。 例如,对于 消息号 001,可 以指定:
E001 发 送错误消息 001
W001 发 送警告消息 001
I001 发 送信息消息 001
A001 发 送异常终止 消息 001(A=异 常终止)
S001 发 送成功消息 001
输出消息时 ,产生的错 误处理取决 于消息类型 和环境。 参考技术A MESSAGE E000 WITH &1 &2
E:
A:Abend, 终止当前事 务
E:错误 ,系统等待 新输入数据
I:信息 ,处理 ENTER 之后,系统 继续处理
S:确认 ,消息出现 在下一屏上
W:警告 ,可以更改 输入数据或 通过按 ENTER 继续
000:
自己所定义的message番号
WITH:
需要向message的占位符中传递的参数本回答被提问者和网友采纳
abap中 内表的问题
data:begin of gt_data ,
matnr like mard-matnr,
werks like mard-werks,
lgort like mard-lgort,
labst like mard-labst,
end of gt_data.
data: so_data like table of gt_data.
select matnr
werks
lgort
labst
into table gt_data
请教 上面这个程序中 select 后面是不是一定得是这4个关键字,可以少一个吗?如果在上面结构体中再多定义几个元素,那么在into后面这个内表还可以这样用吗,求解~
其实大体就是想知道内表中的字段可以比select要取的字段多吗!
如果select后的字段与into table的内表中的字段数量一样,且table中的字段类型与数据库表中的一样,用select XX into table YYY的时候不会Dump,但字段类型的顺序要一样。
例如:
DATA: BEGIN OF wa_a,
bname TYPE xubname,
spdb TYPE xuspdb,
col1 TYPE xuspda,
END OF wa_a,
it_a LIKE TABLE OF wa_a.
SELECT bname
spdb
spda
FROM usr01
INTO TABLE it_a.
这样可以取到3个字段的值
DATA: BEGIN OF wa_a,
bname TYPE xubname,
spdb TYPE xuspdb,
col1 TYPE xuspda,
END OF wa_a,
it_a LIKE TABLE OF wa_a.
SELECT bname
spdb
spda
FROM usr01
INTO CORRESPONDING FIELDS OF TABLE it_a.
这样可以取到前两个字段的值
DATA: BEGIN OF wa_a,
bname TYPE xubname,
spdb TYPE xuspdb,
END OF wa_a,
it_a LIKE TABLE OF wa_a.
SELECT bname
spdb
spda
FROM usr01
INTO TABLE it_a.
这样程序就会Dump 参考技术A SELECT 后面的字段 与 into table 后面的内表结构 有什么必然关系
如果说你select后面没写labst 就是gt_data中的labst没有数据 其它正常
这种情况太普遍了 gt_data中字段比select后面多
因为这些字段这个地方不用别的地方可能用
如果说你定义的gt_data中没有labst,但是select后面有 那gt_data种labst肯定也没数据
这个一般不会这么写 既然写在了select后面 肯定需要这个字段 但是接收数据的内表里没有
只有在某些特殊情况下才这么去写追问
可是我在运行时如果gt_data中字段比select后面多 它会报错内表字段比所选字段多,应该怎么解决?
追答仅仅是字段多 肯定不会报错 一般是一个黄色警告提示 不用管
以上是关于abap中message后面接的各种关键字?及各关键字的意思?像with...的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在写ABAP程序的时候不会自动生成关键字。 像我打DATA,只要打了D后面的就都会显示出来要怎么设置
ABAP中的报出消息语句的关键字是啥?请至少说出三种消息类型.消息文本使用哪个TC