当前位置: 首页 > ops >正文

SAP-增删改查

 查

REPORT  z_demo_database.TABLES: sflight.SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE '数据查询'.SELECT-OPTIONS: s_carrid FOR sflight-carrid,s_connid FOR sflight-connid.
SELECTION-SCREEN END OF BLOCK b1.START-OF-SELECTION.SELECT carrid connid fldate priceFROM sflightINTO CORRESPONDING FIELDS OF TABLE @DATA(lt_sflight)WHERE carrid IN @s_carridAND connid IN @s_connid.LOOP AT lt_sflight INTO DATA(wa_sflight).WRITE: / wa_sflight-carrid, wa_sflight-connid, wa_sflight-fldate, wa_sflight-price.ENDLOOP.

REPORT  z_demo_database_insert.TABLES: sbook.PARAMETERS: p_carrid TYPE sbook-carrid OBLIGATORY,p_connid TYPE sbook-connid OBLIGATORY,p_fldate TYPE sbook-fldate OBLIGATORY,p_bookid TYPE sbook-bookid OBLIGATORY,p_passname TYPE sbook-passname OBLIGATORY.START-OF-SELECTION.DATA: wa_sbook TYPE sbook.wa_sbook-carrid   = p_carrid.wa_sbook-connid   = p_connid.wa_sbook-fldate   = p_fldate.wa_sbook-bookid   = p_bookid.wa_sbook-passname = p_passname.wa_sbook-bookdate = sy-datum.wa_sbook-booktime = sy-uzeit.INSERT sbook FROM wa_sbook.IF sy-subrc = 0.WRITE: / '数据插入成功'.ELSE.WRITE: / '数据插入失败,错误码:', sy-subrc.ENDIF.

 改

REPORT  z_demo_database_update.TABLES: sbook.PARAMETERS: p_carrid TYPE sbook-carrid OBLIGATORY,p_connid TYPE sbook-connid OBLIGATORY,p_fldate TYPE sbook-fldate OBLIGATORY,p_bookid TYPE sbook-bookid OBLIGATORY,p_newstatus TYPE sbook-status OBLIGATORY.START-OF-SELECTION.DATA: wa_sbook TYPE sbook.SELECT SINGLE * FROM sbookINTO wa_sbookWHERE carrid  = p_carridAND connid  = p_connidAND fldate  = p_fldateAND bookid  = p_bookid.IF sy-subrc = 0.wa_sbook-status = p_newstatus.UPDATE sbook FROM wa_sbook.IF sy-subrc = 0.WRITE: / '数据更新成功'.ELSE.WRITE: / '数据更新失败,错误码:', sy-subrc.ENDIF.ELSE.WRITE: / '未找到匹配的数据记录'.ENDIF.

REPORT  z_demo_database_delete.TABLES: sbook.PARAMETERS: p_carrid TYPE sbook-carrid OBLIGATORY,p_connid TYPE sbook-connid OBLIGATORY,p_fldate TYPE sbook-fldate OBLIGATORY,p_bookid TYPE sbook-bookid OBLIGATORY.START-OF-SELECTION.DELETE FROM sbookWHERE carrid  = p_carridAND connid  = p_connidAND fldate  = p_fldateAND bookid  = p_bookid.IF sy-subrc = 0.WRITE: / '数据删除成功'.ELSE.WRITE: / '数据删除失败,错误码:', sy-subrc.ENDIF.

 查找数据

REPORT Z_ZFG_0616.TABLES: ZZFG_0320.START-OF-SELECTION." 定义内表和工作区
DATA: lt_employees TYPE STANDARD TABLE OF ZZFG_0320,ls_employee LIKE LINE OF lt_employees.SELECT * FROM ZZFG_0320 INTO TABLE lt_employees.LOOP AT lt_employees INTO ls_employee.WRITE: / '图书名称:', ls_employee-BOOK_NAME.
ENDLOOP.

 增加数据

REPORT Z_ZFG_0616.TABLES: ZZFG_0320.DATA: ls_employee TYPE ZZFG_0320.
DATA: lv_message TYPE string.ls_employee-BOOK_NAME = '大数据22'.INSERT INTO ZZFG_0320 VALUES ls_employee.
* 判断插入是否成功
IF sy-subrc = 0.lv_message = '数据插入成功'.
ELSE.lv_message = '数据插入失败'.
ENDIF.* 输出结果
WRITE: lv_message.

删除数据

REPORT Z_ZFG_0616.TABLES: ZZFG_0320.DATA: ls_employee TYPE ZZFG_0320.
DATA: lv_message TYPE string.ls_employee-BOOK_NAME = '大数据22'.DELETE FROM ZZFG_0320 WHERE BOOK_NAME = '大数据22'.* 判断插入是否成功
IF sy-subrc = 0.lv_message = '数据删除成功'.
ELSE.lv_message = '数据删除失败'.
ENDIF.* 输出结果
WRITE: lv_message.

修改数据

REPORT Z_ZFG_0616.TABLES: ZZFG_0320.DATA: ls_employee TYPE ZZFG_0320.
DATA: lv_message TYPE string.UPDATE ZZFG_0320SET BOOK_NAME = 'MySQL数据库'WHERE BOOK_NAME = 'MYSQL'.* 判断插入是否成功
IF sy-subrc = 0.lv_message = '数据修改成功'.
ELSE.lv_message = '数据修改失败'.
ENDIF.* 输出结果
WRITE: lv_message.

 


REPORT Z_ZFG_0616.TABLES: ZZFG_0320.SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.PARAMETERS:old_name TYPE string,new_name TYPE string.
SELECTION-SCREEN END OF BLOCK b1.DATA: ls_employee TYPE ZZFG_0320.
DATA: lv_message TYPE string.UPDATE ZZFG_0320SET BOOK_NAME = new_nameWHERE BOOK_NAME = old_name.* 判断插入是否成功
IF sy-subrc = 0.lv_message = '数据修改成功'.
ELSE.lv_message = '数据修改失败'.
ENDIF.* 输出结果
WRITE:/ lv_message.SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.PARAMETERS:nt_name TYPE string.
SELECTION-SCREEN END OF BLOCK b2.DATA: ls2_employee TYPE ZZFG_0320.
DATA: lv2_message TYPE string.ls2_employee-BOOK_NAME = nt_name.INSERT INTO ZZFG_0320 VALUES ls2_employee.
* 判断插入是否成功
IF sy-subrc = 0.lv2_message = '数据插入成功'.
ELSE.lv2_message = '数据插入失败'.
ENDIF.* 输出结果
WRITE:/ lv2_message.DATA: lt1_employees TYPE STANDARD TABLE OF ZZFG_0320,ls1_employee LIKE LINE OF lt1_employees.SELECT * FROM ZZFG_0320 INTO TABLE lt1_employees.LOOP AT lt1_employees INTO ls1_employee.WRITE: / '图书名称:', ls1_employee-BOOK_NAME.
ENDLOOP.

http://www.xdnf.cn/news/14355.html

相关文章:

  • 中介者模式Mediator Pattern
  • 鸿蒙智行5月全系交付新车破4.4万辆,销量再创新高
  • FTP 并不适合用在两个计算机之间共享读写文件 为什么
  • 获取全国行政区划数据
  • Sklearn 机器学习 缺失值处理 过滤掉缺失值的行并统计
  • 大模型在垂直领域的应用:金融、医疗、教育等行业的创新案例分析
  • Leetcode 3585. Find Weighted Median Node in Tree
  • day54python打卡
  • 【git】有两个远程仓库时的推送、覆盖、合并问题
  • 数据管道架构设计指南:5大模式与最佳实践
  • Shakker-Labs提出RepText方法,提升FLUX处理文本能力
  • 每天宜搭宜搭小知识—报表组件—日历热力图
  • C++第一阶段——语言基础与核心特性
  • Kafka Connect 存在任意文件读取漏洞(CVE-2025-27817)
  • 【OpenVINO™】使用OpenVIN.CSharp.API在C#平台快速部署PP-OCRv5模型识别文本
  • 【保姆级开发文档】安卓开发四大组件及其生命周期详解
  • 最新版MATLAB R2025a ,支持Windows10/11
  • Laravel 12 更新与之前版本结构变更清单
  • XxlJob热点文章定时计算
  • 001微信小程序入门
  • 向量外积与秩1矩阵的关系
  • Path.mkdir vs os.makedirs:为什么Ruff建议替换?
  • node中Token刷新机制:给你的数字钥匙续期的奇妙之旅
  • RADIUS服务器的核心应用场景与ASP认证服务器的快速对接指南
  • Linux--存储系统探秘:从块设备到inode
  • 基于STM32单片机RLC检测仪
  • TabSyncer:浏览器标签页管理工具
  • 【freertos互斥量补充】递归锁
  • 1.18 进程管理PM2
  • 山东大学项目实训-创新实训-法律文书专家系统-项目报告(六)