首页 > 其他分享 >什么是 SAP ABAP 的 Draft Handling 特性

什么是 SAP ABAP 的 Draft Handling 特性

时间:2023-12-12 13:08:00浏览次数:22  
标签:administrator Handling lo DRAFT 用户 ABAP draft Draft

ABAP 中的 Draft handling 是 SAP Fiori 应用程序中的一个重要特性,它允许用户保存他们正在工作的实体的未完成的状态,这可以使得用户在任何时候停止工作,然后在稍后的任何时间点继续。这种方式不仅保存了实体的数据,而且也保持了用户的 UI 状态,例如滚动位置,焦点等。

Draft handling 在 ABAP 编程中的主要目的是提供一种机制,允许用户保存他们的工作的当前状态,即使这个状态尚未完成。这在很多情况下都非常有用,例如,当用户需要中断他们的工作去处理其他的任务,或者当用户需要在完成他们的工作之前先做一些研究或者寻求一些建议。

实现 Draft handling 的基本方法是使用 SAP 的 ABAP 编程语言来编写代码,这个代码会将用户的工作状态保存到数据库中。然后,当用户准备继续他们的工作时,这个代码会从数据库中提取出这个状态,并将它加载到用户的界面中。这个过程是透明的,用户不需要做任何额外的操作。

为了说明 Draft handling 的使用,让我们看一个简单的例子。假设我们正在开发一个 Fiori 应用程序,这个应用程序允许用户创建和编辑销售订单。用户可以在创建或编辑销售订单的过程中随时保存他们的工作状态,然后在稍后的任何时间点继续。

在 ABAP 中,我们可以使用以下的代码来实现这个功能:

DATA: lo_draft_administrator TYPE REF TO /IWBEP/IF_MGW_DRAFT_ADMIN.

lo_draft_administrator = /IWBEP/CL_MGW_DRAFT_ADMIN=>GET_INSTANCE( ).
CALL METHOD lo_draft_administrator->CREATE_DRAFT
  EXPORTING
    iv_entity_name = 'SalesOrder'
    iv_entity_set_name = 'SalesOrders'
    iv_draft_data = ls_sales_order
  IMPORTING
    ev_draft_key = lv_draft_key.

在这个代码中,我们首先创建一个 Draft Administrator 对象,然后调用它的 CREATE_DRAFT 方法来创建一个新的草稿。这个方法需要三个参数:实体名称,实体集合名称,以及实体的数据。方法执行后,它会返回一个 Draft Key,我们可以使用这个 Key 在稍后的任何时间点提取出这个草稿。

当用户准备继续他们的工作时,我们可以使用以下的代码来提取出这个草稿:

DATA: lo_draft_administrator TYPE REF TO /IWBEP/IF_MGW_DRAFT_ADMIN.

lo_draft_administrator = /IWBEP/CL_MGW_DRAFT_ADMIN=>GET_INSTANCE( ).
CALL METHOD lo_draft_administrator->READ_DRAFT
  EXPORTING
    iv_entity_name = 'SalesOrder'
    iv_entity_set_name = 'SalesOrders'
    iv_draft_key = lv_draft_key
  IMPORTING
    ev_draft_data = ls_sales_order.



标签:administrator,Handling,lo,DRAFT,用户,ABAP,draft,Draft
From: https://blog.51cto.com/jerrywangsap/8785298

相关文章

  • ABAP Draft handling 在 SAP 现代 Fiori 应用中的重要作用
    在SAPABAP开发中,"Drafthandling"(草稿处理)是指一种处理业务对象的机制,使用户能够在事务过程中保存未提交的更改,以便随时回到之前的状态或者在适当的时候提交更改。这个机制的实现允许用户在长时间的事务中保存中间状态,而不必担心数据的不一致性或者丢失。"Drafthandling"的核心......
  • SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现试读版
    本教程之前的文章,对SAPABAP各种增强技术做了一个概述:122.SAPABAP各种增强技术(Enhancement)概述-所谓第一代,第二代,第三代增强技术的出处是?然后第62篇文章,针对下图红色区域的基于EnhancementFramework增强技术中的隐式增强之ABAP报表增强,做了详细介绍:62.如何通过增......
  • 什么是 SAP ABAP Modification-free enhancements
    "Modification-freeenhancements"是SAPABAP中一种开发技术,旨在允许开发者对SAP标准对象进行增强而无需进行修改。这种方法可以确保在将来升级或应用支包时,不会影响到已有的修改。Modification-freeenhancements的主要思想是通过使用EnhancementFramework提供的工具,如B......
  • 什么是 SAP ABAP System Change Option
    系统更改选项(SystemChangeOption)是SAP中用于控制对系统中对象的修改权限的一种机制。在SAP系统中,有许多关键的对象,如程序、表、视图等,这些对象的修改需要谨慎操作,以确保系统的稳定性和一致性。系统更改选项提供了一种灵活的方式,允许管理员对系统中的对象进行精细的权限控制,以防止......
  • SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍试读版
    本教程之前的文章,对SAPABAP各种增强技术做了一个概述:122.SAPABAP各种增强技术(Enhancement)概述-所谓第一代,第二代,第三代增强技术的出处是?然后第62篇文章,针对下图红色区域的基于EnhancementFramework增强技术中的隐式增强之ABAP报表增强,做了详细介绍:62.如何通过增......
  • SAP ABAP 各种增强技术(Enhancement)概述 - 所谓第一代,第二代,第三代增强技术的出处试
    本文回答笔者这篇教程:如何通过增强(Enhancement)的方式给SAPABAP标准程序增添新功能评论区的读者留言:这个和第一二三四代以及badi增强有什么联系呢?笔者从2007年一月就在SAP中国使用ABAP进行SAP产品开发了,说实话SAP内部不会把ABAP各种增强技术简单得冠之以第一代,第二......
  • 答知识星球朋友疑问:执行 ABAP 代码出现超时的原因,背后的理论和解决方案试读版
    有朋友在我的知识星球里提问:我在bw执行一个fm的时候,出现了运行超时的问题,请问这时候要如何优化这个fm因为这位朋友没有提供具体的FunctionModule名称,所以只能泛泛而谈一下ABAP代码的超时问题。我们首先要认识一点,为什么ABAP代码运行后,理论上会出现超时(timeout)问题......
  • SAP ABAP RZ11 事务码里 Instance Profile 和 Current Value 等参数值的解读
    首先,让我们了解在SAPABAP系统中通过事务码RZ11查看参数时,涉及的四个重要组件:KernelDefault、DefaultProfile、InstanceProfile和CurrentValue。KernelDefault:含义:KernelDefault表示系统中SAP内核(Kernel)的默认配置参数值。这是SAP系统内核的全局默认设置,通常在SAP系统......
  • SAP ABAP 系统里事务码 SMICM 的作用
    "SMICM"是SAP系统中的一个事务码,用于管理和监控SAP系统的通信管理。这个事务码的全名是"ICMMonitor",其中"ICM"代表"InternetCommunicationManager"。SMICM提供了一系列功能,帮助管理员监视和维护SAP系统的通信基础设施。SMICM的主要作用:监控服务和端口:SMICM......
  • SAP ABAP 系统里的事务码 SMICM keep Alive 参数的作用
    SMICM截图如下:SAPABAP系统中的事务码SMICM是用来访问InternetCommunicationManager(ICM)的监视。ICM是SAP系统中负责HTTP、SMTP、或者HTTPS通信的组件。在SMICM事务中,你可以看到关于ICM的各种信息,例如线程信息、服务信息、连接信息和缓存信息等。在服务列......