可以通过以下两种流程来创建一个数据库表并维护
本文要介绍的是第二种流程
1.创建请求
进入到SE01界面后,单击图示按钮新建请求。
在弹出的窗口中选择“工作台请求”,单击确定。
输入描述,单击保存。
请求建立完成,如下图。
2. 数据库表,数据元素,域的创建
进入到SE11界面后,选择数据库表,输入名称,单击创建。
填写简短描述,交付类选择A(应用表),数据浏览器/表视图维护选择X(允许显示/维护)。
Ctrl+S保存,在弹出窗口中填写相应包的名称,单击保存。
在弹出窗口中输入开始建好的请求号,单击确定。
转到 字段 选项卡,在第一列 字段 处输入“MANDT”,勾选 键 和 初始值 ,在 数据元素 处输入“MANDT”。回车确定输入,后面列的数据会自动匹配。
在 字段 列,接着输入目标表格的列标题(自定代称)。本例为公司,日期,资产描述,现有价值,数量,单位,总价,登记人,状态 八项。
PS:此处的代称(如:ZCOMP)不是我们想要显示的列标题,只是程序中的代号。
勾选所有维护数据时的必填项后的 键 和 初始值。本例中,除必填项 公司 之外,还勾选了 日期, 资产描述, 登记人三项,原因是以上三项交叉比对能产生唯一结果。
下面我们给每个自定项目创建 数据元素 和 域。以ZCOMP(公司)为例。
在对应的 数据元素 列中输入自定的数据元素名。(例:ZDECOMP_JC)
在刚输入的自定数据元素名上双击,会跳出对话框提醒当前数据元素未被创建,是否创建,选择是。
填写 简短描述 后,转到 字段标签选项卡。
填写 长度 与 字段标签,意思是在某个显示长度下最终显示的列标题。
回到 数据类型 选项卡,默认选择 基本类型,在 域 后的输入框中填写我们要创建的域的名称,Ctrl+S保存。
同样的,在弹出的对话框中填入开发包名称,单击保存。
在接下来弹出的对话框中填入请求号,单击确定。
在刚才输入的 域 的名称上双击。
会弹出对话框提示不存在当前域,是否创建。选择是。
输入 简短描述 (这里我输入的是“公司名技术参数”),数据类型,字符数和小数位。
PS:这里定义的是我们 公司名 这一列下数据的输入规则,数据类型 CHAR 代表的是字符串
(更多的数据类型及其简短描述可以通过单击上面这个按钮来查看/选择)。
因为本例中的维护表仅用于维护一家公司的数据,所以可以把此列中的数据限定为一个固定值。
进入 值范围 选项卡。在 单值 下填写我们希望限定的值及其简短描述。Ctrl+S保存。
同样的,在弹出的对话框中填入开发包名称,单击保存。
在接下来弹出的对话框中填入请求号,单击确定。
保存成功后,单击检查(Ctrl+F2),如果没有问题,单击激活(Ctrl+F3)。
检查按钮
激活按钮
弹出窗口会自动选择当前要激活的对象(ZDDCOMP_JC,即刚刚创建的 域 ),单击确定。
激活完成后 域 的名称后会显示“激活”,然后单击后退(F3)一次,回到 数据元素 界面。
后退按钮
回到数据元素界面后,如果刚才的域创建成功,在域 后面会显示对应的信息。因为已经设定过 字段标签 中的规则,再此可以直接检查,没有问题即可激活。
因为本例使用的是日语系统,建立的数据库表及其中的数据元素和域的原语言为日语,会导致其他用语言系统维护本表时无法显示数据元素中设定的字段标签。
为了可以使中文系统用户能够正常维护本表,我们需要给字段标签添加翻译。
在数据元素界面打开 转到 下拉菜单,单击 翻译。
在弹出的对话框中,系统会自动填上原语言(此处为日语),在目标语言中填入ZH(代表汉语)。单击确定。
在每一项下输入对应的翻译,注意长度限制。Ctrl+S保存。
图中所示的区域由红色变成黄色,则说明翻译已经设定成功。后退(F3)一次,回到数据元素界面。保存,检查,激活后,再后退一次,回到数据库表界面。
至此,一个 数据表 内包含的一个 数据元素 及其 域 就已经创建完成了。
重复以上步骤,将每一个 数据元素 及其 域 创建并激活。
补充一点,勾选了 键 与 初始值 的 数据元素 需要排在优先排在上方,否则激活时会出错。
(本文开头创建数据表时将ZUSER这一主键数据元素排在了下方,在此已修正。)
在已经创建好的数据元素中,数据类型为CURR/QUAN的数据元素需要参考数据类型为CUKY/UNIT的数据元素。
转到 货币/数量字段 选项卡, 参考表中填入要参考的表(本例中是创建的数据库表本身)及 参考字段。
运行检查(Ctrl+F2)
弹出了两条黄色的警告提醒缺少用于表的增强类别。
本例不设置增强类别,可以忽视该警告提醒。
PS:如果出现红色警告提醒,则说明表中存在问题,不能正常激活,需要返回修改。
检查没有问题,后退(F3)返回数据库表界面,激活(Ctrl+F3)数据库表。
因为未设定技术设置,会跳转到数据库表技术设置页面。
数据类选择APPL0,大小类别选择0,缓冲选择不允许缓冲。然后点击 已修订<->活动 按钮,激活技术设置。
返回(F3),程序会继续之前的数据表激活进程。
因为没有设定增强类别,还是会弹出黄色警告。
本例不设置增强类别,可以忽视该警告提醒。
PS:如果出现红色警告提醒,则说明表中存在问题,不能正常激活,需要返回修改。
至此,数据库表 及其包含的 数据元素,域均已建立,激活完成。
3.创建数据库表维护程序
在刚刚激活完成的数据库表界面,打开 实用程序 下拉菜单,单击 表维护生成器。
跳转到了表维护生成界面,权限组选择“&NC&”,维护类型选择 一步 ,维护屏幕编号 概述屏幕填“1”, 记录例程选择 标准记录例程。
图中还有一个函数组未填数据,我们需要创建一个函数组填入此处空白。
创建函数组使用T-Code SE37。在左上的输入框中输入“/ose37”来打开一个新的窗口运行se37。
在SE37的主界面单击 转到→函数组→创建组。
输入函数组名称和说明,单击保存。保存在数据库表同一个包/请求下。
打开SE80 对象浏览器。 对应位置选择 函数组,然后在下面输入刚才创建的函数组,回车。
展开文件夹可以看到已经生成了两行函数,在函数组名的文件夹上右键单击,选择激活。
确定。
函数组激活后,回到刚才的维护表生成页面,将刚创建激活的函数组填入函数组输入框中。
单击新建。将其保存到包中。
新建按钮
保存完成后,我们就可以用T-Code SM30来维护表中的数据。
打开SM30,在 表/视图 后输入数据库表的名称,需要查看/维护数据时,点击维护按钮进入数据维护页面。
为了提高程序的易用性,我们还要建立一个事物码(T-Code),以使用户能直接维护本表。
4.创建事物码
进入SE93。输入想要创建的事务代码名称,单击创建。
输入短文本描述,启动对象 选择使用参数的事务(参数事务)
事务 后填SM30, 勾选跳过初始屏幕。下方缺省值部分手动填写两行,屏幕字段名称“viewname”对应的值写之前建立的数据库表的名称;“update”对应的值写“X”。
然后点击执行(F8)。将事务码保存到包和请求中。
执行按钮
至此,事物码创建完成。
我们可以在SAP初始界面直接输入创建的事物码来直接维护本表。
为了方便打开程序,可以在收藏夹上右键,选择 插入事务。
输入我们创建好的事物码,点击确定。
之后就可以在收藏夹中双击事物码来直接维护数据库表。
最后效果图
今天的数据维护程序详解就到这里了,你有get到吗?想要了解更多SAP技巧可以微信搜索关注迈思诚