什么是 SAP ABAP 的 Draft Handling 特性

简介: 什么是 SAP ABAP 的 Draft Handling 特性

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.
相关文章
|
4月前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
|
4月前
|
存储 安全 数据库
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
|
4月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
|
4月前
|
SQL 负载均衡 监控
SAP ABAP DBSQL_SQL_ERROR 错误
SAP ABAP DBSQL_SQL_ERROR 错误
|
4月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
4月前
|
JSON 应用服务中间件 API
使用 ABAP 代码消费 SAP 系统的 OData 服务
使用 ABAP 代码消费 SAP 系统的 OData 服务
|
4月前
|
SQL 监控 Oracle
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
|
4月前
|
存储 前端开发 Linux
在 SAP ABAP 系统里访问 FTP 服务器
在 SAP ABAP 系统里访问 FTP 服务器
|
4月前
|
存储 前端开发 应用服务中间件
使用 SAP ABAP 执行 FTP 操作
使用 SAP ABAP 执行 FTP 操作