码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SAP SEGW 事物码里的 ABAP 类型和 EDM 类型映射的一个具体例子


    本文的示例主要关注 Edm属性的 ABAP Datetime 处理逻辑。Datetime 只是在映射ABAP 类型和 EDM 类型时可能出现不一致的例子之一。

    对于 Edm.Datetime 属性,在后端,ABAP 字段可以表示为一个简单的日期或时间戳,可以带有也可以不带有小数秒。

    因此,在 Service Builder 中对于一个EDM.Datetime 类型的属性,需要额外的信息来将这个 EDM 类型映射到后端中正确的 ABAP 字段类型。如果没有正确地映射,就会导致错误的类型赋值。

    正确的类型赋值对于 MPC 的自动生成是至关重要的,因为 DPC 的实现是基于 MPC 类中生成的类型。

    在 Service Builder 中实现这一目标的最初解决方案是:

    • 如果 precision = 0 并且 scale = 0, 那么 ABAP internal type 为 type D.

    • 如果 precision = 8 并且 scale = 0, 那么 ABAP internal type 为 type P,length 为 8 decimals 为 0 (timestamp without fractional seconds)

    • 如果 scale = 7, 那么 ABAP internal type 为 type P,length 11 decimals 7 (timestamp with fractional seconds)

    除了使用上面示例中的 precision 和 scale 属性之外,也可以使用 Service Builder 中的ABAP Type Editor来直接设置内部类型。在 ABAP 类型编辑器中,可以手动设置类别为内部类型,规则如下:

    • Type Kind = Date, Length = 8, Decimals = 0 ( 代表 Simple Date, internal type 为 D)
    • Type Kind = Packed, Length = 15, Decimals = 0 (timestamp without fractional seconds, internal type 在 MPC 中显示为 type P length 8 decimals 0)
    • Type Kind = Packed, Length = 21, Decimals = 7 (timestamp with fractional seconds, internal type 在 MPC 中显示为 type P,length 11 decimals 7)

    以上描述规则在下面的截图里得到体现:

    或者,您可以使用ABAP类型编辑器将一个 Data Element 分配给一个属性。在 ABAP 类型编辑器中,可以手动将 Category 设置为 Date,并在关联类型字段中输入数据元素名称。

    当使用 RFC/BOR 导入或分配 DDIC 类型时,如果将结构分配给父构件(也就是 Entity Type 或复杂类型),则不会在 property 级别进行分配。

    当使用从 DDIC 结构导入选项时,日期字段按以下方式处理:

    • 如果字段的域是 类型 TZNTSTMPS ,那么没有小数秒的时间戳,MPC的内部类型是类型 P, 长度 8, 小数点 0

    • 如果该字段的域类型为 TZNTSMPl,则 MPC 内部类型为 P 类型,长度为 11 位,小数位为 7

  • 相关阅读:
    令人头秃,Java到底该怎么学啊?!零基础的可以自学吗?这份“限量版”Java零基础宝典让你不再烦恼,学习也能如此轻松!
    横向扩展统一存储备份解决方案的特点与优势
    【C++】泛型编程 ⑦ ( 类模板常用用法 | 类模板声明 | 类模板调用 | 类模板作为函数参数 )
    FaceBook 遭遇有史以来全球最大宕机
    用好快捷键事半功倍!如何在Excel中快速取消隐藏的行
    GnuTLS recv error (-110): The TLS connection was non-properly terminated
    裁员浪潮,回顾一下自己去年的毕业吧(二)
    C++和汇编混编开发
    C++语言基础Day3-内联函数
    神经网络的优化器
  • 原文地址:https://blog.csdn.net/i042416/article/details/125531181
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号