数据字典、透明表

SE16N缓存

比如SE11改了字段长度,SE16N没有变化,需要清缓存

/$SYNC

查看表对应的文本表

直接se16n输入表名,就能看到文本表了,比如ska1

数据元素

描述:在表dd04t中

修改记录

在数据元素勾更改文档,表修改记录就会存放在表CDHDR和CDPOS中,可以运行程序RSSCD100直接查询

程序RSTBCOUNT可以按时间查看表的变更日志条目数据,能看到占用资源最多的表

查看表的变更可以用SCU3看

NULL

  • NULL表示未知的值,称为空值(NULL VALUE),空值不是空字符串,而是一个特殊的值,空值表示该列的值未知

修改自定义表数据

使用FM SE16N_INTERFACE,输入 I_TAB(表名),I_EDIT = 'X',I_SAPEDIT = 'X'

取域值

*取域值(状态描述、订单类型描述)

perform domain_text_get using 'ZD_YBZ' mara-zzybz changing gs_des-zzybz.

form domain_text_get  using uv_domain_name

                               uv_value

                      changing cv_text.

  data lt_dd07v type table of dd07v with header line."描述

  call function 'DD_DOMVALUES_GET'

    exporting

      domname   = uv_domain_name

      text      = 'X' "TEXT 参数必填,否则默认只取域值不取文本

    tables

      dd07v_tab = lt_dd07v.

  read table lt_dd07v with key domvalue_l = uv_value.

  if sy-subrc = 0.

    cv_text = lt_dd07v-ddtext.

  endif.

endform.

域值作为F4搜索帮助

使用函数 HR_BEN_GET_F4_DOMVAL_AND_TEXT:可以返回域值和文本

查找表字段

SE11中显示的字段标签可能和字段描述不一样,和双击进去查看到的细节中的字段描述也不一样,所以在查找字段时,可以双击根据细节中的字段描述查找

域值范围

有固定值的字段可以查看对应的域的值范围和描述,域值可以做成搜索帮助,下拉框,做成下拉框时可以立即触发FCODE

转换例程

  1. 可以在定义时填写转换例程,转换例程是输入输出时的自动转换,例如PC->ST->PC,在SE16N,输入输出都会自动转换,在SE11中,输入会转换,输出不会转换。如果用户参数配置了考虑转换出口,双击SE16N未转换的值也会转换

  1. 转换例程固定命名格式:CONVERSION_EXIT_例程名_INPUT和CONVERSION_EXIT_例程名_OUTPUT。其中函数名为CONVERSION_EXIT_例程名_INPUT,填写例程时只需要填写例程名,例程名长度不能超过5。
  2. 转换例程的输入输出参数名是固定的,分别为INPUT和OUTPUT。
  3. 附:WRITE出来的数据默认使用了转换例程。
  4. 如果自建表的字段中有转换例程,向自建表保存数据就需要转换之后再存进去,否则取数时会出现问题。

SE11 创建透明表

  1. 当修改字段长度时,原透明表的数据不会丢,在SE14中调整并激活后,就可以在SE11中激活
  2. 创建透明表字段时,可以使用数据元素和数据类型,使用数据类型时,创建了表维护生成器后进入维护界面,显示的字段描述是 '+',
  3. 如果字段有前导零,一定要参考数据元素,且数据元素参考的域需要填写转换例程,否则SE11和SE16查询时需要输入前导零

SE14调整并激活表

如果se14激活表导致数据丢失,可以从临时表中获取

Step 1. Transaction SE14 - Table: MARA - select "Unlock table"

Step 2. Using FM DB_RENAME_TABLE - Pass in Parameter TABNAME_NEW = MARA and TABNAME_OLD = QCMMARA

Step 3. Transaction SE14 - Table: MARA - Select menu Table > Reconstruct

Step 4. (Since you said you've fixed the ZZ-fields error) Go to SE11 and reactivate MARA.

代码方式

DATA itab TYPE TABLE OF zmara WITH HEADER LINE.

EXEC SQL PERFORMING appenditab.

select * into :itab from QCMMARA

ENDEXEC.

INSERT zmara CLIENT SPECIFIED FROM TABLE itab .

COMMIT WORK.

BREAK-POINT.

*&---------------------------------------------------------------------*

*& Form appenditab

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

FORM appenditab.

APPEND itab.

ENDFORM. "appenditab

如果报错数据库对象不一致,需要用DDIC用户登陆重建表(不然重建按钮是灰的)

重建完如果报标签不一致不用管,se14继续调整即可

note 1248769 

SM30表维护

  • SM30表维护中显示的表字段文本为对应的数据元素长文本(仅有短文本依旧显示 '+')

所以在需要使用表维护的时候用数据元素好一点,输入自定义数据元素名,双击,输入自定义域,双击创建,分别激活

要删除已有的表维护时,进入SE11--实用程序--表维护生成器,会进入显示界面,按 ESC(取消) 即可看到修改和删除界面(F3无效),生产表维护对话TCODE SE56

  • 在SE11中生成表维护生成器,如果之前选择了两步维护么然后修改成一步维护,SM30中使用的依旧是两个屏幕,所以需要删除了重新建立一个
  • 如果自建表需要传输到别的系统,则需要在表维护生成器中选择记录例程为 标准记录例程。记录例程就是传输表改变数据的意思,SM30只传输改变的行,不是传输所有数据

  • 如果创建了表维护,就不能再SE11编辑透明表数据了,如果没有创建则可以
  • 如果不想使用SM30维护,可以直接在SE37使用FUNCTION VIEW_MAINTENCE_CALL

  • sm30字段最大长度是250,如果超了这个长度定义长度会变成40(而不是250),此时保存数据就会截断(截断位置在40个字符)
  • 表维护如果勾选了标准记录例程,修改时就会产生请求,在scc4配置了不允许修改的系统中会报错“客户 XX 有不可修改的状态”

SM30 变更日志

如果表技术设置开启了日志更改,sm30查不到变更日志,查一下rz10是不是只配了一个客户端

TCODE: RZ10

修改参数

rec/client = 800 client代表要启用日志记录的客户端

rec/client = all 代表所有客户端启用

rec/client = off (do not log)

重启系统

SE11里面对表激活、删除的LOG表:

DDPRH

DDPRS

视图簇维护

SE54创建

SM34维护

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值