IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 如何对SAP数据库表进行增删改查操作(3) -> 正文阅读

[大数据]如何对SAP数据库表进行增删改查操作(3)

之前写过几篇:

如何对SAP数据库表进行增删改查操作
如何对SAP数据库表进行增删改查操作(2)
Functional ALV系列 (05) - ALV 作为数据编辑界面

本次来看看如何在不用编码的方式来修改 SAP 表中的数据,主要解决临时性修改的需求。

RS_TABLE_LIST_CREATE 函数

经测试,RS_TABLE_LIST_CREATE 函数在表没有维护维护视图的时候,可以作为一个方便的数据维护方法。在进入界面之前,可以对需要维护的数据进行选择。在我的 SAP 系统中,有两个用于测试的表,zemployee 创建了 table maintenance generator (即可以用 SM30 来维护),zemployee1 没有创建 table maintenance generator。

此时,通过 SE37 对 RS_TABLE_LIST_CREATE 函数的使用进行测试。

可以进入 display 界面,但不能维护数据:

而 zemployee1 数据表,因为没有创建 table maintenance generator,则可以用此函数来维护:

对于没有创建“维护视图”的表,这种方法比其它方法更加便捷,对于维护了维护视图的表来说,该函数也是调用 view_maintenance_call。需要能找到响应的 view,比如 T001 表,V_T001 表就是用于维护 T001 表的视图。

SE16N_INTERFACE 函数

该函数对任意表都可以进行增删改查操作,如果表的行数太多,可能不方便找到相应的行项目。假设我们想要修改 T001 表:

将 I_EDIT 参数和 I_SAPEDIT 参数的值设置为 X 即可。

网上比较流行的基于调试更改 gd-edit 参数和 gd-sapedit 参数的方式,跟这个方法是相同的原理。

因为讲述这个方法的文章太多,这里就不必重复了。如果需要临时修改表数据,调试的方法比 SE16N_INTERFACE 容易定位行一些。

DB**TABLE 函数

SAP 提供了一系列函数,用于操作数据库表的数据,包括:

由于这些函数需要基于内表来操作数据,使用 SE37 测试的方式来执行并不合适,这些函数也不能在外部使用。简单演示以下 ABAP 方式如何使用。

report  z_update_db.

data: gt_zstu like table of zstu,
      gs_zstu like line of gt_zstu.

start-of-selection.
  clear gs_zstu.
  gs_zstu-mandt = '001'.
  gs_zstu-zstuid = '6'.
  gs_zstu-zsname = '布鲁克'.
  append gs_zstu to gt_zstu.

  call function 'DB_UPDATE_TABLE'
    exporting
      tablename            = 'ZSTU'
*   IMPORTING
*     SQLCODE              =
    tables
      inttab               = gt_zstu
   exceptions
     db_error             = 1
     not_found            = 2
     wrong_param          = 3
     internal_error       = 4
     others               = 5
            .
  if sy-subrc <> 0.
    if sy-subrc eq 1.
      write 'Database error'.
    elseif sy-subrc eq 2.
      write 'Not found'.
    else.
      write 'Other errors'.
    endif.
  endif.
report  z_insert_db.

data: gt_zstu like table of zstu,
      gs_zstu like line of gt_zstu.

start-of-selection.
  clear gs_zstu.
  gs_zstu-mandt = '001'.
  gs_zstu-zstuid = '7'.
  gs_zstu-zsname = '罗宾劳利'.
  append gs_zstu to gt_zstu.

  call function 'DB_INSERT_TABLE'
    exporting
      tablename            = 'ZSTU'
* IMPORTING
*   SQLCODE              =
    tables
      inttab               = gt_zstu
   exceptions
     db_error             = 1
     duplicate_key        = 2
     wrong_param          = 3
     internal_error       = 4
     others               = 5
            .
  if sy-subrc <> 0.
    if sy-subrc eq 1.
      write 'Database error'.
    elseif sy-subrc eq 2.
      write 'duplicate key'.
    else.
      write 'Other errors'.
    endif.
  endif.
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:22:42  更:2022-09-13 11:24:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:22:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码