关于SAP的字段和对象修改记录

SAP的字段和对象的修改都会保存旧值,数据保存在CDHDR和CDPOS表中,对于提取旧值你可以采用两种方法

1)使用sap的标准函数CHANGEDOCUMENT_READ_HEADERS 和CHANGEDOCUMENT_READ_POSITIONS

2)使用select语句直接从表中读取。

直接使用SELECT语句读取数据的示例:

*提取信用额度字段修改的抬头信息
select cdhdr~changenr cdhdr~udate cdhdr~utime
into corresponding fields of table p_cdhdr
from cdhdr
where cdhdr~objectclas = 'KLIM' and
cdhdr~objectid = wa_customerinfo-kunnr.
if sy-subrc = 0.
*提取信用额度字段修改的字段值
select cdpos~changenr cdpos~value_old cdpos~value_new
into corresponding fields of table p_cdpos
from cdpos
for all entries in p_cdhdr
where cdpos~objectclas = 'KLIM' and
cdpos~objectid = wa_customerinfo-kunnr and
cdpos~changenr = p_cdhdr-changenr and
cdpos~tabname = 'KNKK' and
cdpos~fname = 'KLIMK'.
if sy-subrc = 0.
endif.
endif.


可以在CHANGEDOCUMENT_READ_HEADERS 中设置中断获得对象类型。
SAP系统中,字段操作是开发配置过程中的核心内容之一,涉及查询、修改、增强配置等多方面。这些操作可以影响到系统的业务流程、数据处理逻辑以及用户界面展示。 ### 查询字段 查询字段通常是指从数据库表或视图中获取特定字段的数据。可以通过以下方式进行: - **ABAP SELECT语句**:使用标准的SQL语法进行数据检索。 ```abap DATA: lt_table TYPE TABLE OF mara, ls_table TYPE mara. SELECT * FROM mara INTO TABLE lt_table WHERE matnr = '000001'. ``` - **SE16N事务码**:通过事务代码SE16N可以直接查看表中的字段数据[^3]。 ### 修改字段 字段修改主要发生在业务需求变更或者系统升级时,需要调整现有字段的属性或。常见的修改方式包括: - **SE11事务码**:用于维护透明表的结构,如添加新字段、更改字段长度等。 - **ABAP UPDATE语句**:用于更新数据库表中的记录。 ```abap UPDATE mara SET mtart = 'ZNEW' WHERE matnr = '000001'. ``` - **批量输入(Batch Input)**:适用于大量数据更新的情况,通过录制事务并执行来实现自动化数据修改。 ### 增强字段 增强字段指的是在不改变原有程序逻辑的前提下,对字段的行为或显示进行扩展。SAP提供了多种增强机制: - **第一代增强(User Exit)**:早期版本中提供的子程序形式的出口点,允许开发者插入自定义代码。这增强通常需要直接修改SAP提供的标准程序[^2]。 - 查找方法:打开相关程序后点击工具栏上的“Display Object List”按钮,选择Subroutines,查找以“UserExit”开头的子程序[^3]。 - **第二代增强(BADI - Business Add-In)**:基于面向对象技术的新一代增强接口,支持多实现且易于管理[^1]。 - **第三代增强(Enhancement Spot & Enhancement Section)**:进一步简化了增强的创建与激活过程,使得非技术人员也能轻松应用定制化功能。 ### 配置字段 字段配置更多地涉及到如何通过SAP GUI或后台设置来控制字段的表现形式及其可用性: - **字段状态变式(Field Status Variant)**:定义哪些字段在特定场景下可见、可编辑或必填。 - 可通过事务码`OBC4`为不同的公司代码分配字段状态变式。 - **屏幕变式(Screen Variant)**:用于定制屏幕布局,包括隐藏/显示某些字段。 - 使用事务码`SHD0`创建屏幕变式,并将其分配给相应的用户角色或交易。 - **条件技术(Condition Technique)**:虽然主要用于定价确定,但也可以用来动态决定某些字段是否出现在屏幕上。 综上所述,在SAP环境中处理字段相关的任务时,应根据具体的需求选择合适的方法技术。对于复杂的定制化需求,建议采用最新的增强技术良好的项目实践以确保系统的稳定性可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值