首页 > 数据库 >如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段

如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段

时间:2023-01-16 10:08:10浏览次数:45  
标签:增强 增添 数据库 ABAP SAP Extensibility

​​如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段​​


有个朋友向我咨询关于 SAP 产品增强字段扩展(Field Extensibility) 的问题:

Jerry,你好。看过你写的SAP产品增强Field Extensibility文章,对扩展字段在物理数据库的结构还不是很清楚,创建一个扩展字段后,物理数据库中是在SAP标品的表中加列,还是有一个关联表?或者说这是不是有多种可选的策略?
想问一下这一块细节。

如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段_SAP

这位朋友应该看的是笔者这篇文章:​​SAP产品的Field Extensibility​​。

本文就通过一个实际的例子,讲解如何手动给 SAP ABAP 数据库表,通过增强的方式,增添新的字段。

所谓增强(enhancement),是一种升级安全的扩展方式,这种方式不会对 SAP 标准产品发布的数据库表造成直接修改,这意味着客户可以在自己的系统上,通过这种增强方式给 SAP 标准数据库表增添新的字段。其后如果 SAP 数据库表发生了版本更新,比如增添了新的标准字段,或者对已有字段进行重命名,客户增强的这些字段都不会受到影响。

客户增强字段存储在一个客户创建的名叫 append structure 的 ABAP DDIC 结构上,这个结构是独立于 SAP 标准数据库表,存储在客户自己的命名空间下的开发包里。

下图是 SAP CRM 产品主数据的明细页面,其中产品的描述信息,存放在数据库表 ​​COMM_PRSHTEXT​​ 里。

如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段_数据库表_02

COMM_PRSHTEXT 的主键为 PRODUCT_GUID 和 LANGU,这暗示我们一个产品可以分别基于不同的语言,分别维护多条描述信息。

SHORT_TEXT 字段存放产品描述​​大小写相关​​​的内容,这些描述信息字符,在对应语言里如果能转换成大写,则全部转换成大写形式,然后存放到另一个字段 ​​SHTEXT_LARGE​​ 里。

如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段_SAP_03

这两列的内容的一些例子,如下图所示:

如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段_SAP_04

本文我们介绍如何在这张数据库表里通过增强的方式,添加一个额外的自定义字段。假设我们添加的新字段数据类型为整数类型,用来存储一个产品描述信息的字符个数(通过 ABAP 标准函数 strlen 获得)。

最后添加的扩展字段效果如下图所示:

如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段_字段_05

具体的步骤如下。



标签:增强,增添,数据库,ABAP,SAP,Extensibility
From: https://blog.51cto.com/jerrywangsap/6010044

相关文章

  • 如何使用 SEGW 的 redefine 功能对 SAP 标准 OData 服务进行扩展
    ​​如何使用SEGW的redefine功能对SAP标准OData服务进行扩展​​ 正如本教程的开篇介绍文章​​SAPOData开发教程-从入门到提高(包含SEGW,RAP和CDP)......
  • 使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段
    ​​使用SAPCRMApplicationEnhancementTool(AET)创建扩展字段​​ 本文的英文版,发表在SAP社区wiki上,原文标题:​​StepbysteptocreatenewfieldsonU......
  • ABAP include structure 的一个具体用法
    ​​ABAPincludestructure的一个具体用法​​ 在客户系统中使用appendstructure增强SAP结构或SAP表,这种行为并不构成修改(modification)。这一点在SAP​......
  • 一文详解,数据仓库、数据库、数据中台、数据湖的区别
    数据时代,各行业的企业都已经开始通过数据库来沉淀数据,但是真的论起数据库、数据仓库、数据中台,还是新出现的数据湖,它们的概念和区别,可能知道的人就比较少了,今天我们详细来......
  • csapp 第一章 计算机系统漫游
    计算机系统由硬件和系统软件组成,共同工作来运行应用程序。#include<stdio.h>intmain(){printf("helloworld!C");return0;}追踪程序hello.c的生命周期—......
  • [Oracle19C 数据库管理] 管理存储
    存储概览存储的架构ControlFile:储存了数据物理存储的信息。存在多个副本来避免单点故障。没有控制文件,数据库无法打开。DATAFile:存储用户与应用的信息,以及元数据与......
  • 数据库服务器CPU不能全部利用原因分析
    背景客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢。现象通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说......
  • Spring Boot---(13)Spring Boot 使用JPA访问数据库
    摘要:Spring-data-jpa的强大和方便之处在于:可以仅仅用一层接口,就可以实现对数据库的访问和操作。本文详细介绍了,SpringBoot环境下如何使用Spring-data-jpa来访问和操作数据......
  • MySQL数据库基本操作-DML
     MySQL性能强劲,是目前使用最广泛的数据库之一,以 MySQL为学习原型也方便之后掌握其他数据库,下面就给大家全面讲解下MySQL8.0的新特性,从零基础到高阶一站式学习,结合实际案例......
  • linux数据库命令
    数据库篇1.查看数据库执行的sql/usr/sbin/tcpdump-ieth0-s0-l-w-dstport3306|strings|egrep-i'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|D......