主页 > 云主机 > > 正文

大带宽_automation服务器不能创建对象_怎么样

浏览:

ABAP开发人员经常面临的问题之一是需要存储任意值进行处理。这些值并不总是证明创建一个新表是正确的,并且没有方便的地方来存储这些值。例如,某些逻辑依赖于主数据值(如某个客户),或者开发人员提供了一些工具,提供了一些需要以非结构化方式保存的自定义选项。

如果不需要创建单独的配置表,开发人员通常会想出一些创造性的方法来存储值,以避免硬编码,例如将条目写入TVARV。然而,这并不是一个非常简洁的解决方案,有时会导致更具体的子案例的尴尬解决方法,比如发明将复合键放入名称的约定。

我在这里介绍的解决方案(参见下面的源代码链接)由一个分层值存储组成,与Microsoft Windows注册表没有什么不同。它允许开发人员检索和存储不能与某些配置整齐关联的值,大数据共享平台,并且不保证创建新表。

存储由INDX表支持,在每一个ABAP安装中,您都会发现它是标准的,通过EXPORT TO DATABASE和IMPORT FROM DATABASE语句可以方便地访问它。当然,没有理由不为此使用自定义表,但是使用INDX可以避免创建另一个表;尽管您担心其中的键与其他条目冲突,您可以使用search和replace来指定您自己的表。

解决方案以API的形式呈现,包含在include中的源。当然,您可以使用SE24中类编辑器中的源代码视图将类添加到存储库中,返利app怎么用,但是将代码作为包含进行分发非常方便,我完全是为了方便。

此外,这些值都存储为字符串,云服务器 免费,不过我认为如果您始终读取或写入相同类型的字段,这应该不是问题。也许在将来的版本中,我会考虑为存储的每个值添加一个类型规范。

此外,好评返现卡,还有一些乐观锁形式的并发控制,尽管我不完全确定是否有实际需要。向注册表中添加新条目(键)会立即保存新条目和父条目,而每个条目中的值必须显式保存(尽管在对条目进行更改时会自动保存这些值;我仍在考虑自动保存所有更改)。

解决方案的第二部分是注册表浏览器/编辑器,它类似于Windows上的RegEdit应用程序,允许管理员/顾问检查注册表的内容。

(编辑器与库一样,作为一段自包含的源代码提供,可以粘贴到报表程序中,从而避免您在存储库中创建其他项。请参阅下面的源代码链接)。

以下是如何使用注册表的示例:

*使注册表API可用于我们的程序

包括zlib\u注册表。

数据:reg\u root TYPE REF to lcl\u registry\u entry。

数据:reg\u entry TYPE REF to lcl\u registry\u entry。

数据:lv\u customer TYPE kunnr。

数据:lv\u run date TYPEd、

数据:lv\U timestamp TYPE timestamp.

启动选择。

*获取注册表的根条目

reg\U root=lcl\U registry\U entry=>获取\U root()。

*如果我们想在启动时确保某个条目存在,我们

*可以执行以下操作(例如,在加载程序中):

reg\ U root->create\ U by\ U path('销售/增强/处理\ XYZ')。

*检索特定条目。如果没有上述行,

*我们必须检查每次调用GET\u SUBENTRY()的结果

*以确保它已绑定。

reg\u entry=reg\u root->GET\u SUBENTRY('Sales')->GET\u SUBENTRY('Enhancements')->GET\u SUBENTRY('Process\u XYZ')。

*从条目获取特定值:

lv\u customer=reg\u entry->GET\u value('ProcessCustomer')。

*将值写入条目:

lv\u run\u date=sy–datum。

reg\u entry->set\u value(KEY='LastRunDate'value=lv\u run\u date)。

GET TIME STAMP FIELD lv\u timestamp。

reg\u entry->set\u value(KEY='LastRunDateTime'value=lv\u timestamp)。

*保存条目

reg\u entry->save()。

我已经给出了一些想法为了安全,您需要防止您的注册表部分被另一个应用程序或人员无意中覆盖。一种方法是锁定注册表,网站用云服务器,并要求应用程序写入其条目并提供适用的UI,这类似于Windows应用程序的操作方式,例如记录用户设置时。另一种方法是扩展编辑器,使其可以运行以仅访问注册表树的某个分支,并允许特定用户访问该分支。

您可以找到包含库的整个源代码,以及GitHub上的注册表编辑器和示例程序:https://gist.github.com/mydoghasworms/08ea60e95dd1fa90c90a

本文改编自我原来的博客文章:ABAP的任意值存储(注册表)

嗨,马丁,

感谢注册库和博客。

我以前创建了几个"设置表"。我认为一个分级注册表是存储我们的设置的更好的方法。

我注意到注册表路径名可能不包含数字。

你是故意排除数字的吗?

谢谢,

托马斯

你好,托马斯,

谢谢你的回复。

不,省略数字是疏忽。感谢您指出,我已经更改了要点上的代码。

问候,

马丁

太好了!

我使用的大多是全局接口的自定义表和常量(根据用途而定),但这是一种更加优雅和灵活的技术。

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 域名备案_阿里云销售顾问_最新活动
    <strong>域名备案_阿里云销售顾问_最新活动</strong>

    域名备案_阿里云销售顾问_最新活动

    高速互联网和功能强大的应用程序使得几乎所有有办公桌工作的人都可以在家工作。然而今天,大多数公司仍然坚持要求员工忍受有时令人心碎的上下班路...

  • 数据库_分布式消息中间件实践pdf_免费领
    <strong>数据库_分布式消息中间件实践pdf_免费领</strong>

    数据库_分布式消息中间件实践pdf_免费领

    作者:马库斯·瓦纳关于2017年趋势的讨论正在迅速而激烈地展开,职场也不例外。随着新的一年即将到来,职场趋势专家们正在为2017年列出自己的预测清单...

  • 域名注册_自考数据库_免费6个月
    <strong>域名注册_自考数据库_免费6个月</strong>

    域名注册_自考数据库_免费6个月

    正如Facebook和Twitter首席运营官(COO)上周在美国国会作证时所说,出现的一个突出主题是,这些公司在保护其平台免受网络攻击方面所扮演的角色。这些公...

  • 域名解析_阿里云是什么意思_怎么买
    <strong>域名解析_阿里云是什么意思_怎么买</strong>

    域名解析_阿里云是什么意思_怎么买

    类别工作日新闻与文化财务人力资源规划技术创新分析与见解客户和社区行业金融服务政府保健高等教育款待媒体和娱乐专业和商业服务零售技术更多播客...

  • 网站服务器_王者荣耀服务器未响应_限时
    网站服务器_王者荣耀服务器未响应_限时

    网站服务器_王者荣耀服务器未响应_限时

    日本甲骨文公司今天宣布,ISOU项目采用甲骨文区块链平台管理一种本币的发行和消费。日本甲骨文公司是ISOU项目的支持公司,该项目旨在解决人口稀少地...

云储存

更多 >
  • <strong>京东云_最新电影百度云_返利</strong>
    京东云_最新电影百度云_返利

    在之前的第1部分博客中,我描述了不同的过滤属性,这些属性目前可用于 (需要SAP Service Marketplace登录) 中新启动的云KPI目录https://go.support.sap.com/kpicata...

  • 香港带宽_百度云免费会员_评分榜
    香港带宽_百度云免费会员_评分榜

    亲爱的合作伙伴, 我们想邀请您参加即将推出的SAP enablement产品"S/4HANA DB Migration to HANA",请使用右侧的注册按钮立即预订您的座位! 在这里注册6月22日上午...

云储存对象存储_数据库连接类_价格
云储存服务器_好用的服务器_优惠券
云储存对象存储_西部数码虚拟主机_学生机
云储存香港带宽_六盘水网站建设_测评
云储存服务器_H漫画百度云_稳定性好