ABAP 数据元素“部分激活”解决

背景阐述:

一般情况下,修改数据元素长度可能会出现部分激活的情况,这是因为该数据元素被用于表的主键,而修改表主键长度如果无法通过SE11激活,可以通过SE14激活。此次遇到场景是DDL视图导致的部分激活,系统是S/4 HANA,而DDL视图无法通过SE14激活,可以尝试用程序RUTDDLSACT激活。

问题描述:

用CMOD修改数据元素VKORG文本,如图所示

后通过SE11查看数据元素状态为“部分激活”,点击激活按钮,处理完成后存在报错(D0409):

DDLS XXXXXX 在活动版本中不一致

故SE11查看该DDLS,发现报错(E2302):

视图 XXXXXX 不在此数据库中

解决方法:

DB02查看数据库不一致对象

参照SAP NOTE 2198254 - DB02 shows missing views in the database进行处理,主要是通过程序 RUTDDLSCREATE 或者 RUTDDLSACT 处理,另RUTDDLSACT也可以用于处理调整自定义增强字段长度导致DDL SQL 视图未激活的场景。

附上NOTE 2198254 - DB02 shows missing views in the database内容

Symptom


If you check in DB02->Diagnostics->Missing Tables and Indexes, you find DDL SQL views below are listed as "Objects missing in the database", such as:

<1>

CDS_M_M2S_PD_ITM
CDS_M_M2S_PD_I_C
CDS_M_M2S_POIV_B
CDS_M_M2S_POIV_M
CDS_M_PHL_EKBE_C

......

M_V_M2S_POIV_VM_B
M_V_PD_ITM_STATUS
M_V_POH_VAL0

......

V_MRP_MFG_COMPS
V_MRP_MFG_ORDERS
V_MRP_PRE_TRANSF
V_MRP_PROD_DEM
V_MRP_TRANSF_DEM

......

<2>

ESJIFIDUNAREA

ESJIFIDUNAREATXT

ESJISDCUSTTXCLS

......

You have tried to click the "Create on DB" button in Action column in DB02, or reactivate the views in SE11, but all finished with error.
It may return a result as executed successfully for some views, however, if you go to SE11 to check the views again, you still get warning that this view is not existing in the database.

Environment

SAP system based on SAP NETWEAVER 7.40

Reproducing the Issue

SE11-> dislay the DDL SQL view -> message "View xxxxx is not in the database" occurs.

Cause

During system upgrade using SUM tool, some activation errors were ignored in the phase.

During new system installation or installing target system by system copy with SWPM tool, the job for creating or activating DDL SQL views didn't finish successfully(usually the job is excuted during PAS installation).

Resolution


<1>. Check the missing view by SE11 which will show its view type in front of the name, if it is a DDL SQL View, it can NOT be activated by SE11/SE14.

  • Run report RUTDDLSCREATE or RUTDDLSACT by SE38, input it in "Names of DDL Sources" and execute which will create the missing CDS SQL views.

After this, click “Refresh” button in DB02.

If these DDL SQL views fail the activation with error, or still marked as missing in database in DB02, you can refer to KBA 2421686 - CDS view(DDL SQL View) cannot be activated with RUTDDLSACT for more solutions.

<Attention>

Do NOT execute report RUTDDLSACT during system update, because the update tool (SUM, SPAM or SAINT) calls RUTDDLSACT automatically in update mode. Manually executing report RUTDDLSACT especially in shadow instance would lead to more problems.  DO NOT execute RUTDDLSACT manually during system update without consulting with SAP support.

<2>. For views like ESJIFIDUNAREA, if you check in SE11 menu->View->Check, warning message is displayed as below:
        View ESJIFIDUNAREA: at least one base object is a pooling or cluster table
        This is not supported on DB ORACLE; ESJIFIDUNAREA will not be created on database
        or
        View ESJIFIDUNAREA: At least one base view is external view (not supported on DB )
        This is not supported on DB ADABAS D; ESJIFIDUNAREA will not be created on database

These views could not be created in the database as their definition are concerned. This is handled in the corresponding application software, and the views therefore do not need to be reported as missing. You need to apply SAP Note 2140827 - Views reported as missing in DB in phase MAIN_POSTCLEAN/RUN_RSDB02CK_END_FA of upgrade.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP的Selection事件是在SAP系统中的ABAP程序中使用的一种事件类型。它用于处理用户在屏幕上进行的选择操作。 当用户在屏幕上选择某个选项时,Selection事件会被触发,并且可以执行相应的逻辑处理。通常,Selection事件与交互式报表和屏幕输入/输出(例如选择屏幕)一起使用。 在ABAP程序中,可以通过在代码中定义SELECTION-SCREEN BEGIN OF BLOCK和SELECTION-SCREEN END OF BLOCK语句来定义一个选择块。选择块包含用户可选择的选项,并且可以通过SELECTION-SCREEN COMMENT语句添加注释。 下面是一个简单的ABAP程序示例,演示了如何使用Selection事件: ``` REPORT Z_MY_REPORT. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. PARAMETERS: p_option1 RADIOBUTTON GROUP g1 DEFAULT 'X', p_option2 RADIOBUTTON GROUP g1. SELECTION-SCREEN END OF BLOCK b1. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF screen-group1 = 'G1'. screen-active = '1'. MODIFY SCREEN. ENDIF. ENDLOOP. AT SELECTION-SCREEN. IF sy-ucomm = 'ONLI'. IF p_option1 = 'X'. " 处理选项1的逻辑 ELSEIF p_option2 = 'X'. " 处理选项2的逻辑 ENDIF. ENDIF. START-OF-SELECTION. " 在此处理其他逻辑 ``` 在上述示例中,选择块b1包含两个单选按钮选项,用户可以选择其中之一。在AT SELECTION-SCREEN OUTPUT事件中,将所有属于组g1的屏幕元素设置为激活状态。在AT SELECTION-SCREEN事件中,根据用户选择的选项执行相应的逻辑处理。 请注意,上述示例只是一个简单的示例,实际使用时可能需要更复杂的逻辑和处理。ABAP的Selection事件提供了一种灵活且强大的方式来处理用户的选择操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值