首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用生成的“表单”将记录添加到SAP数据库

用生成的“表单”将记录添加到SAP数据库
EN

Stack Overflow用户
提问于 2011-05-19 09:52:30
回答 1查看 1.3K关注 0票数 0

我已经创建了一个屏幕,在布局绘制器中,我根据表创建了一个“表单”(使用当您点击F6时出现的向导)。所以现在我有了所有的字段来创建行,我已经创建了一个“保存”按钮,但是显然什么也没有发生。

有人能帮我联系到一些关于如何使这个功能发挥作用的guid吗?我是ABAP的初学者,在这方面我遇到了一些麻烦。谢谢!

编辑

我还试图更新数据库中的一行,但是使用这段代码,数据库中的每一行都会被删除,而不仅仅是具有指定ID的行。有人知道我做错了什么吗?

代码语言:javascript
复制
  UPDATE zmotoren_jat SET:
  prijs = zmotoren_jat-prijs,
  naam = zmotoren_jat-naam
  WHERE motorid = zmotoren_jat-motorid. "this line doesn't seem to work!
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-19 12:27:19

简单回答:将字段内容放入具有正确表结构的变量中,并将此变量插入表中(如果要修改现有值,则更新该变量)

代码语言:javascript
复制
DATA line LIKE Txxxx.   'Txxxx is the table you want to insert into
line-v1 = inputfield1.  'inputfield1 is your first inputfield
line-v2 = inputfiled2.  'inputfield1 is your second inputfield

INSERT Txxxx FROM line.
if sy-subrc ne 0.
* an error has occured...
endif.

如果您使用表定义中的向导,那么输入字段可能已经类似于Txxxx-v1和Txxxx-v2。在这种情况下,它会更简单,因为您只需执行以下操作:

代码语言:javascript
复制
INSERT Txxxx.

请注意,对于你的问题,这只是一个非常肮脏的回答。您可能需要检查这些值是否有任何意义,至少它们在表中还不存在。

问候

编辑:关于你的更新..。逗号将更新分隔为两部分。你应该把它移走。

另外,您应该使用一个工作区:一个与您填充的结构相同的变量。然后使用它在表中创建/读取/更新/延迟..。这将简化代码读取。

类似于:

代码语言:javascript
复制
* define the working area
data wa_zmotoren_jat like zmotoren_jat.  " wa_ stand for "working area"
* modifiy the variable
wa_zmotoren_jat-motorid = ....
wa_zmotoren_jat-prijs = ...
wa_zmotoren_jat-naam = ...
* use it to update...
UPDATE zmotoren_jat SET:
  prijs = wa_zmotoren_jat-prijs,
  naam = wa_zmotoren_jat-naam
  WHERE motorid = wa_zmotoren_jat-motorid. 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6056820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档