https://blog.csdn.net/stone0823/article/details/71057172

1:通过 事物码 se11 创建 数据库表  zemp。表 zemp中 含有empid, empname, empadd 字段。 激活。

2: 通过事物码 segw  创建服务。

3:  创建 project。  点击project>create, 给定工程名> zempprj3

4:  根据外部的数据结构来定义一个 数据模型。

DATA MODEL 右键>  import >ddic structure(导入外部结构)。

定义 模型名 为employee ,结构与表 zemp 相同。

5: 选择数据模型使用哪些字段

6: 将empid 设置为主键key

7: 创建entity   set (直接使用EmployeeSet也一样), 在右边的entity set 上面右键>  输入 entity set 的名字和类型名字(与上面创建的data model名字一样)

8: 为上面创建的 employeeCollection 选择都能进行那些操作。(赋予哪些权限)

9:生成运行时对象。

保存,激活。 弹出下面的框

或者选中左边 Panel 的 Runtime Artifacts,点击 Generate Runtime Objects 按钮,系统进入下面的界面:

10: 生产运行时对象。

11:注册服务, 点击 register

12: 给定系统别名

13: 保存,给定服务名等。

14: 点击 maintain

15: 点击 call browser 或者  gatway

16: 返回状态码200 ,说明开启服务成功。

17: 编辑 create 方法,使其能够向数据库添加数据, create 右键> go to abap workbench

18:选中需要重写的方法,右键 redefine。

重写employeecollect_create_entity 如下。 保存激活。


method EMPLOYEECOLLECTI_CREATE_ENTITY.

DATA: ls_employee TYPE zemp.

" Get requested data from input
    io_data_provider->read_entry_data( IMPORTING es_data = er_entity ).

MOVE-CORRESPONDING er_entity TO ls_employee.
    INSERT zemp FROM ls_employee.

endmethod.

重写 getentityset 方法。

method EMPLOYEECOLLECTI_GET_ENTITYSET.
      SELECT * FROM zemp
      INTO CORRESPONDING FIELDS OF TABLE et_entityset.
  endmethod.

重写 delete方法

method EMPLOYEECOLLECTI_DELETE_ENTITY.
  DATA: ls_key_tab  TYPE /iwbep/s_mgw_name_value_pair,
    l_empid     TYPE zemp-empid,
    ls_employee TYPE zemp.

WRITE 'PROCESS'.
    READ TABLE it_key_tab WITH KEY name = 'Empid' INTO ls_key_tab.
    l_empid = ls_key_tab-value.

DELETE FROM zemp  WHERE EMPID = l_empid.

endmethod.

19: 使用get 方法查询 数据库中的数据。/sap/opu/odata/sap/ZEMPPRJ3_SRV/EmployeeCollection?$format=json

20: 向数据库添加数据,调用 create方法,使用post方法,后台根据 提交方式决定调用哪一个方法。

可以将查询的数据save as request,查询的数据将会 放入 到 提交内容框内, 改变其中的数据,进行post。

返回状态码 201 代表插入成功。

21: 查询数据库内容如下:

22: 对数据内容进行删除

23: 返回 204 ,代表删除成功。

24: 数据库表

sap 创建odata服务,通过http向数据库 进行增删改查的更多相关文章

  1. django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面

    1.为test.DB数据库预先创建下面数据 1    张三    16    2015-01-02    12    李四    17    2015-01-04    13    王五    14  ...

  2. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  3. 9.5Django操作数据库的增删改查

    2018-9-5 18:10:52 先贴上笔记 day61 2018-04-28 1. 内容回顾 1. HTTP协议消息的格式: 1. 请求(request) 请求方法 路径 HTTP/1.1\r\n ...

  4. java程序设计课期中考试——数据库的增删改查和简单的js界面

    首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他 ...

  5. java web数据库的增删改查详细

    本次课上实验是完成数据库的增删改查. 包括增加用户信息.删除用户信息.多条件查找用户信息.修改用户信息(主要是复选框单选框等的相关操作.) 下面下看一下各个界面的样子. 总页面:显示全部页面:增加页面 ...

  6. Android学习---数据库的增删改查(sqlite CRUD)

    上一篇文章介绍了sqlite数据库的创建,以及数据的访问,本文将主要介绍数据库的增删改查. 下面直接看代码: MyDBHelper.java(创建数据库,添加一列phone) package com. ...

  7. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  8. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. Asp.net MVC4 使用EF实现数据库的增删改查

    EF的使用 步骤: (1)将EF添加到项目:在Model右击添加新建项 找到ADO.NET实体数据模型,接着... (2)实现数据库的增删改查       查询 (因为在Model中已经添加EF实体了 ...

  10. 使用EF实现数据库的增删改查

    EF的使用步骤:(1)将EF添加到项目:在Model右击添加新建项找到ADO.NET实体数据模型,接着…(2)实现数据库的增删改查查询(因为在Model中已经添加EF实体了,所以就可以在Control ...

随机推荐

  1. Git工作流程最佳实践总结

    Git作为一个目前非常流行的版本管理工具,深受开发者的喜爱.那么怎样才能将Git的作用发挥的更好呢?我根据实际的项目经验,归纳总结了以下Git工作流的最佳实践.这里所谓的最佳,是经过多次项目经验后,根 ...

  2. [原]openstack-kilo--issue(八)NovaException: Unexpected vif_type=binding_failed

    2016-12-06 11:11:22.593 1505 INFO nova.scheduler.client.report [req-43897fe4-800f-436a-a13b-1a0098c8 ...

  3. tomcat如何在server.xml中配置contexts

    https://tomcat.apache.org/tomcat-8.5-doc/deployer-howto.html#A_word_on_Contexts 例如你的程序 名字是hello端口是80 ...

  4. 我是怎样使用javassist将代码注入到帝国OL并进行调试的

    帝国OL是拉阔一款手机网络游戏(腾讯也有代理),我在中学时代玩儿过. 帝国OL还维护着KJava版本游戏客户端,这意味着我们可以在PC端使用模拟器玩儿游戏. 不过这篇文章我主要是关注如何通过代码注入拦 ...

  5. 如何设置Mac电脑的DNS

    这两天我的Mac不能上网了,虽然正常连接了internet,但是网页.App Store.以及各种应用都无法连接到网络. 这是什么问题呢? 于是,我就寻着下面的方法对我的Mac进行了体检: 首先找到右 ...

  6. Luogu P3919【模板】可持久化数组(可持久化线段树/平衡树)

    题面:[模板]可持久化数组(可持久化线段树/平衡树) 不知道说啥,总之我挺喜欢自己打的板子的! #include<cstdio> #include<cstring> #incl ...

  7. .NET Core开发日志——从搭建开发环境开始

    .NET Core自2016年推出1.0版本开始,到目前已是2.1版本,在其roadmap计划里明年更会推出3.0版本,发展不可不谓之迅捷.不少公司在经过一个谨慎的观望期后,也逐步开始将系统升级至最新 ...

  8. /usr/bin/ld: 找不到 -lmsc----解决方案

    系统的默认搜索依赖库路径为,/usr/local/lib 在camkelists.txt文件中对可执行文件链接libmsc.so add_executable(iat_publish src/iat_ ...

  9. SQL Server 2012 安装过程详解(包含每一步设置的含义)

    转http://www.cnblogs.com/EastLiRoar/p/4051969.html 一.启动安装程序,点击“安装”选项卡,选择“全新SQL Server独立安装或向现有安装添加功能”. ...

  10. 删除一个cjson导致系统死机

    一个未使用,未分配的cjson指针应该被删除,如果尝试删除一个 未分配,未启用的cjson将导致内存出错,死机.