SAP透明表字段的内外码转换以及GUI的设置

本文详细介绍了在SAP系统中,如何处理透明表字段的转换前和转换后的值,通过示例展示了如何调用CONVERSION_EXIT_CUNIT_OUTPUT功能模块来获取所需数据,并提供了在GUI设置中选择转换值的方法。

在SAP中,一些透明表的字段存在转换前和转换之后的值,而且一般2个值的数据是不一样的,这个时候需要作出转换,否则可能得到的值并不是想要的那一个。

图片的里面的2个功能模块名对应的是获取转换前或者转换之后的数据,下面是其中的一个使用方法举例

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
                  EXPORTING
                    input          = ls_mara-meins
                    language       = sy-langu
                  IMPORTING
                    long_text      = ls_out2-zmeins
*                   OUTPUT         =
*                   SHORT_TEXT     =
                  EXCEPTIONS
                    unit_not_found = 1
                    OTHERS         = 2.
                IF sy-subrc <> 0.
* Implement suitable error handling here
                ENDIF.

或者可以让使用人在GUI的设置中进行设置,就可以获得对应的转换前或者转换之后的值

 

 

 

 

SAP 系统中,透明表(Transparent Table)是与数据库表一对一映射的 ABAP 字典对象。透明表的关键字段(Key Fields)决定了数据库表的主键结构。修改透明表的关键字段是一项敏感操作,因为这可能会影响数据库结构、程序逻辑、接口、报表等。以下是修改透明表关键字段的步骤和注意事项。 ### 修改透明表关键字段的步骤 1. **检查现有表结构** 使用事务码 `SE11` 打开透明表,查看当前的关键字段设置。关键字段在“Key Fields”部分列出。记录当前的主键字段及其顺序。 2. **确认是否允许更改主键字段** 若表中已有数据,则不能直接更改主键字段。必须先删除所有数据,或者将数据导出到临时表,修改结构后再重新导入。 3. **修改表结构** 在 `SE11` 中,进入表维护界面,切换到“Change”模式,修改字段的“Key` 属性。保存更改后,系统会提示需要激活并可能需要调整数据库表结构。 4. **激活表结构** 激活时,系统会尝试将字典结构同步到数据库。如果表中有数据,系统可能会提示需要执行“Database Utility”操作。 5. **执行数据库实用程序(SE14)** 使用事务码 `SE14`,选择“Adjust Structure”选项,根据提示执行表结构调整。这将更新数据库表的主键结构。 6. **测试更改** 更改完成后,应测试所有依赖该表的程序、报表、接口和功能模块,确保它们仍能正常运行。 ### 注意事项 - **性能影响**:主键字段的更改会影响索引结构,可能影响数据库查询性能。 - **一致性检查**:确保所有引用该表的程序、视图和接口都适应新的主键结构。 - **版本控制**:建议在更改前使用事务码 `SE10` 创建一个传输请求,以便跟踪和迁移更改。 - **备份数据**:在执行结构更改前,应备份表数据,以防出现意外问题。 ### 示例代码:使用 SE11 修改透明表结构 虽然大多数操作通过 GUI 完成,但可以使用 ABAP 代码检查表结构: ```abap DATA: lt_table TYPE TABLE OF dd03vt, ls_table TYPE dd03vt. CALL FUNCTION 'DDIF_TABL_GET' EXPORTING name = 'YOUR_TABLE_NAME' TABLES dd03v_tab = lt_table EXCEPTIONS not_found = 1 OTHERS = 2. LOOP AT lt_table INTO ls_table. WRITE: / ls_table-fieldname, ls_table-keyflag. ENDLOOP. ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值