`
JerryWang_SAP
  • 浏览: 1003141 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如何自行给指定的SAP OData服务添加自定义日志记录功能

阅读更多

有的时候,SAP标准的OData实现或者相关的工具没有提供我们想记录的日志功能,此时可以利用SAP系统强大的扩展特性,进行自定义日志功能的二次开发。

以SAP CRM Fiori应用“My Opportunity”为例:我们首先在其OData服务CRM_OPPORTUNITY的实现类CL_CRM_OPPORTUNITY_IMPL的构造函数方法CONSTRUCTOR里设置一个值为GET_BADI的动态断点,这样调试模式下,ABAP调试器会自动停在所有出现了GET BADI关键字调用的地方。

通过这个方法,我们很快找到了一个能够放置我们自定义日记记录逻辑的地方:就是代码85行的BAdI定义,CRM_OPPORTUNITY_ODATA_DB. 在SAP标准OData服务实现的读取操作里,每次从数据库调用One Order API读取Opportunity数据后,都要执行这个BAdI.

这是该BAdI执行的调用栈:

事务码SE18,根据我们刚刚找到的BAdI定义创建一个增强实现:

这个增强实现类ZCL_JERRY_ODATA_TRACE里,现在可以编写我们的日志记录逻辑了。

首先创建一个数据库表,用于存放我们的日志记录。为简单起见,我仅仅记录了请求的用户名,请求日期和时间,大家可以根据自己实际需求添加相关字段。

增强代码也很简单:

DATA(ls_log) = VALUE zorder_guid( user_name = sy-uname
      req_date = sy-datum req_time = sy-timlo ).

    CALL FUNCTION 'SYSTEM_UUID_CREATE'
      IMPORTING
        uuid = ls_log-guid.

    INSERT zorder_guid FROM ls_log.

激活这个增强后,到Fiori UI上随便做几个点击操作:

回到我们自定义的日志记录表里,发现填充了一些记录了,这个自定义日志记录功能就实现了。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
1
分享到:
评论

相关推荐

    JAVA调用SAP ODATA服务.docx

    ### JAVA调用SAP ODATA服务的关键知识点 在IT领域,特别是企业级应用开发中,Java与SAP系统的集成是一项非常重要的技术。SAP提供了多种API和服务来促进与其他系统的交互,其中ODATA(Open Data Protocol)是一种轻...

    JAVA调用SAP ODATA服务

    在Java开发中,调用SAP ODATA服务是企业级集成和数据交换的常见场景。在实际操作中,可能会遇到一些挑战,如身份验证、请求方法的使用、跨域问题以及错误处理。以下是对这些知识点的详细说明: 1. **身份验证 (401 ...

    SAP UI5 OData开发

    SAP Gateway是SAP NetWeaver的一个组件,用于创建基于OData的服务,这些服务可以被SAP UI5前端框架消费,以实现丰富的用户界面和交互功能。SAP NetWeaver则是SAP软件的综合技术平台,提供了一个集成的环境来开发、...

    SAP Fiori Odata 实施步骤

    3. **维护模型和服务**:随着时间的推移,可能需要更新数据模型或添加新的服务功能。这些变化可能会影响到元数据缓存的管理。 #### 四、RESTful应用程序的核心操作 RESTful应用程序使用HTTP请求来执行四种基本的...

    Sap Odata ABAP开发教程.zip

    在SAP系统中,ODATA(Open Data Protocol)是一种基于RESTful架构的Web服务协议,它使得客户端可以简便地访问和操作服务器上的数据。ABAP(Advanced Business Application Programming)是SAP公司的一种编程语言,...

    OData简单demo

    在这个"OData简单demo"中,开发者可能创建了一个基于OData V4的Web API服务,目的是为了测试和演示上述这些查询选项的功能。`ODataWebApi`可能是一个包含API控制器和服务配置的项目文件,通过这个项目,开发者可以...

    SAP Gateway and OData

    SAP Gateway的核心功能在于提供一个桥梁,将SAP业务逻辑和数据暴露给外部应用程序,如移动设备、Web应用或者基于云的服务。通过使用OData协议,SAP Gateway能够创建一个RESTful(Representational State Transfer)...

    SAP 后台ODATA开发步骤

    在SAP系统中,ODATA是一种基于RESTful协议的Web服务技术,用于提供与后端业务数据的交互接口。本文将详细介绍SAP后台ODATA开发的步骤,供初学者参考。 **一、数据结构** 在SAP ODATA开发中,首先需要定义数据结构,...

    SAP-odata文档

    2. **OData协议详解**:OData的版本、数据模型、操作类型、URL构造、查询选项等,以及如何使用OData服务来访问和操作SAP系统中的数据。 3. **SAP HANA Cloud Platform**:介绍SAP云平台的角色,它是如何与SAP ...

    SapAPI:读取SAP ODATA API

    SapAPI 该程序正在读取SAP API。 此API从防火墙后面的SAP ECC系统公开ODATA。 需要一个天蓝色的AD帐户,一个SAP-id,包括访问SAP系统中技术角色的权限。 SAP API已在Azure API管理中注册。

    OData与SAP.pdf

    OData:开放数据协议(Open Data Protocol,简称OData)是一种描述如何创建和访问Restful服务的OASIS标准。该标准由微软发起,前三个版本1.0、2.0、3.0都是微软开放标准,遵循微软开放规范承诺书(Microsoft Open ...

    OData经典入门.pdf

    OData不仅允许用户通过URI以HTTP GET方法获取数据,并且支持在URI中添加查询参数,实现类似于SQL的筛选和排序功能,因此,OData服务有时也被比喻为网络版的ODBC。 在SAP环境中,实现OData服务的关键组件是SAP ...

    SAP Gateway – Building OData V2 Services Gw100

    《SAP Gateway – 构建OData V2服务详解》 在信息技术领域,SAP Gateway是一个关键组件,它为各种应用程序提供了与SAP系统交互的能力。本教程将深入讲解如何利用SAP Gateway构建OData V2服务,以实现高效、灵活的...

    照片OData服务例子程序

    它提供了丰富的用户体验和强大的数据绑定功能,使得与OData服务的集成变得简单而直观。WPF允许开发者使用XAML(Extensible Application Markup Language)来声明式地定义用户界面,并且可以轻松地将UI元素与后台数据...

    SAP Gateway and OData.zip

    sap press doc 解压密码:abap_developer

    SAP ES 公有云开发-自定义字段增强

    在SAP ES(Enterprise Services)公有云开发中,自定义字段增强是一项关键功能,它允许开发者根据业务需求扩展标准应用程序的功能。以下是对这个主题的详细解析: 首先,要追加自定义字段到标准表单,你需要明确...

    OData Framework 3.0 英文

    - **端到端追踪与支持性**:提供完整的日志记录和故障排查能力。 - **多种认证类型支持**:包括匿名认证在内的多种认证方式。 - **性能度量**:衡量应用或客户端的性能表现。 - **SAP Client Hub – 共享SSO特性**:...

    The SAP Cloud for Customer OData API Developer’s Guide com.zip

    8. **扩展与自定义**:SAP Cloud for Customer允许开发者创建自定义OData服务和实体,这部分会指导如何实现这一功能,以及如何将自定义逻辑融入API。 9. **最佳实践与示例**:文档会包含大量代码示例,展示如何在...

    com.sap.core.odata.processor.api-0.7.0.zip

    SAP Core OData Processor API是SAP开发的一个关键组件,它主要用于处理OData(Open Data Protocol)服务的实现,这是一种基于RESTful架构的数据访问协议,广泛应用于企业级应用程序,特别是那些基于云服务的系统。...

Global site tag (gtag.js) - Google Analytics