fdfe 发表于 2015-9-17 12:35:57

SAP 直接修改表

1.1.1 SAP表修改概览
  SAP中的表分为配置表和业务数据表二大类,正常来说
  后台的表中如果有错误,应该通过修改配置的方式来修改。
  前台的表中如果有错误,应该修改相应的单据,如果该单据无法修改,应采用冲销单据,然后重新创建新的单据的方法。
  但在某些情况下,我们可能需要采用暴力手段,直接修改表,最典型的情况是在一台无数人使用、非规范管理的Ides系统中,在这个Ides系统中有时会有一些错误存在,譬如本人使用的一台Ides系统中,MRP运行后,产生541的预留69014,查看该预留时,系统出现错误。


  正常来说是通过事务代码OMJJ来配置移动类型,但是字段预留是无法修改的,此时只能通过暴力方法。

  直接修改表最重要的原则就是,在采用暴力手段之前,务必保证修改的值是准确的,否则将导致不可预测的结果,我们首先要在另外一台SAP服务器中查看,该字段正确的值是什么,可以看到该字段正确的值为U。

1.2 修改表的方法
  SAP中,具体而言,可以有以下三种方法可以直接修改表
  本例中,移动类型的参数预留对应的表字段为T156-rstyp,移动类型为541.
  1.2.1 方法1:通过SE16N用&SAP_EDIT直接修改表记录
  引用来源:通过SE16N用&SAP_EDIT直接修改表记录
  SE16N,输入表名、移动类型以及选择相应字段,然后输入&sap_edit,回车,即提示,点击执行(F8)

  此时系统为可编辑状态
  可以直接修改值,可以插入值、删除值


  
  1.2.2 方法2:事务代码SE16进入Debug界面,直接修改表字段值
  事务代码SE16,输入表T156,移动类型541,执行,在下图中命令输入框中,输入/H,系统则将进入debug,出现提示

  在Debug的界面中的第八十六行,设置断点(BreakPoint),然后执行到断点,修改字段Code的值,从Show(显示)修改为Edit(编辑)。
  修改Code值完毕后,继续执行,则可以修改表字段的值,当修改晚相应的字段值,点击保存

1.2.3 方法3通过ABAP程序更改表
  譬如在本例中,通过以下程序,可直接修改表字段值
  
  REPORT zchange_t156_rstyp.
  tables t156.
  UPDATE T156 SET rstyp = 'U'
  WHERE bwart = '541'.
  if sy-subrc is initial.
  WRITE / 'Field T156-RSTYP changed from " " to "U"'.
  else.
  WRITE / 'Field T156-RSTYP could not be changed'.
  endif.
页: [1]
查看完整版本: SAP 直接修改表