云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

腾讯云_萧山网站建设_多少钱

小七 141 0

简介

Advanced adobe使用OData服务作为数据提供者从后端系统获取数据。OData服务转换从后端获取的数据,将数据转换为XML格式,并将其返回到Adobe布局。Adobe layout使用XML数据打印表单,使用Adobe层提供的绑定概念。

流程

以下是创建基于OData的Adobe表单的步骤。

OData服务详细信息–

在t代码SFP中打开Adobe表单(将OData用作后端)。在properties选项卡中,您可以看到作为网关服务维护的OData服务。下面是相同的截图。在本文档中,我将使用采购订单作为举例来说采购订单的标准基于数据的adobe表单是MM\u PUR\u采购订单。我已将标准表单复制到ZMM\u PUR\u采购订单。

以便使用本项目的网关服务。我们需要在t-code/IWFND/MAINT\u服务中注册OData服务。

点击添加服务按钮(如下面的屏幕截图所述)。一个新的屏幕将打开。输入服务名称为FDP\u EF\u PURCHASE\u ORDER\u SRV。系统别名为本地或后端系统别名(如果适用)。输入上述详细信息后。单击"获取服务"按钮。相应的服务将显示在最终输出中。只需选择服务并单击addservice按钮。*如果服务已经注册,系统将抛出一条信息消息。说-已经注册了。添加服务后–再次转到t-code/IWFND/MAINT\u服务。现在用服务名称过滤数据–ZFDP\u EF\u PURCHASE\u ORDER\u SRV。此步骤只是检查服务注册是否成功不是。注意–有时ICF节点被停用。您只需要在t-code/IWFND/MAINT\ u服务中激活它。截图如下。现在,智能物联,一旦服务注册成功。我们需要在OData项目中编写自定义代码。可通过t代码SEGW访问。如果你不知道项目名称。下面是可用于获取项目名称的步骤的详细信息。–在t代码SE11中打开表/IWBEP/I\ U SBD\ U SV。–只需传递从adobe表单获得的服务名称,并将其作为/IWBEP/I_SBD_SV-TECHNICAL_name传递即可。您将获得项目名称。现在,打开这个项目,你可以从上表的t代码SEGW中得到它。这个项目将开放。在数据模型下创建的实体包含采购订单所需的数据。一些重要的SAP笔记。根据SAP note–2292646–SAP S/4HANA output control–带有片段的表单模板。建议增强标准网关服务,而不是创建自定义网关服务。下面是一个小示例,通过创建一个自定义实体集来在表单上打印徽标,从而增强标准服务。–创建只有一个字段的实体类型。Logo(比如说)。–Create required associations–Association–PurchaseOrderNode是基于采购订单的服务的主节点。因此,添加关联(基数)将决定GET\u实体将触发还是GET\u ENTITYSET将触发扳机。跟着以下步骤-–弹出窗口。输入所需的详细信息。在我的例子中,我正在创建一个名为mediaControl的实体类型。–输入详细信息后–按OK。–按OK按钮–在数据模型下创建实体类型。–如果我们展开实体类型。(在我的例子中是mediaControl)。属性不可用。–现在,我们需要创建一个属性–徽标。–双击"属性"选项卡。将打开一个新视图。在右边。在那里我们可以添加需要添加到实体集中的字段。在我的例子中,我正在创建一个类型为Edm.字符串.––在"属性"选项卡中添加字段徽标。–现在,实体集添加成功。保存项目。–现在为了创建所需的数据提供程序方法–我们需要重新生成项目,以便生成mediaControl实体的运行时工件。–单击GENERATE(红色)图标。检查是否有任何错误…如果有,请解决相同的问题,云机服务器,然后再次单击"重新生成"图标。–现在,下一步是创建关联。然而,这不是强制性的步骤。但是,它是决定需要触发方法实体或实体集的因素之一。下面是如何创建关联的屏幕截图。–选择"数据模型"文件夹下的"关联"选项卡。右击它。然后选择"创建"。–弹出窗口将打开。输入关联名称。在本例中,大数据是啥意思,我将创建ENTITYSET以打印徽标。因此,将PurchaseOrder视为主要实体时,大数据和数据分析区别,依赖关系为1:1。现在单击下一步。在新窗口中。–选择从属属性。在这种情况下。这是商标。–选择field徽标并单击NEXT。–在下一个窗口–您可以看到,所有已创建的属性。按FINISH。–单击FINISH按钮后,企业信息管理软件,将创建关联和AssociationSet。–您将能够看到日志。如果发生任何错误,请解决它并再次按照相同的过程创建关联。–如果操作成功。您可以在节点关联下看到创建的关联。–由于结构现在以ENTITYSET的形式提供。现在下一步是将数据填充到ENTITYSET中。为此,我们需要扩展数据提供者类。–您可以在t-code SEGW中的节点运行时工件下找到数据提供程序类。对于采购订单,类名是–CL\u FDP\u EF\u Purchase\u ORD\u DPC\u EXT。–如果我们需要在自定义实体集中填充数据。然后我们需要在DPC\u EXT类中编写代码。我们用来编写代码来填充数据的方法类似于ENTITYSET name的名称。对于读取操作,我们使用GET\ u ENTITY方法。对于查询操作,我们使用getentityset方法。–现在,为了编写代码。双击runtime artifacts下的类DPC\u EXT。ALV会打开的。–双击上面屏幕截图中突出显示的对象名称。–单击对象时,类将打开。现在转到与自定义实体类型相关的方法。或者您可以直接右键单击DPC\u EXT类。单击Go to Workbench选项。课程将开放。选择相关方法(如上图所示)。或者直接打开SE24中的DPC\u EXT类。并用相应的方法编写代码。现在,基数是1:1。因此,一个采购订单总是有一条记录。因此,我们将增强GET\ u ENTITY方法。–现在,在增强标准网关服务时,我们需要使用隐式增强来填充自定义数据。这些类是不可修改的。–为了编写自定义代码–我们需要重新定义方法。以下是步骤。1.转到更改模式。2.选择要编写代码的方法。然后单击"重定义"按钮。3.请参考以下截图-4.单击重定义按钮–窗口将打开一些标准注释代码。不可修改。使用隐式增强选项编写自定义代码。5.在高级Adobe中,没有创建图形节点的选项。因为高级adobe中没有提供上下文。以基于ABAP的adobe格式提供。因此,实现这一点的另一种方法是调用方法cl\u ssf\u xsf\u utilities=>获取图形作为bmp。7.就像我们通常在基于ABAP的adobe表单中所做的那样。此方法将图像转换为十六进制格式。8.附加步骤是–调用函数模块ssfc\u base64\u encode并传递cl\u ssf\u xsf\u utilities=>get\u bds\u graphic\u as\u bmp的输出。9.执行FM ssfc\ U base64\编码后,最终输出将为字符串格式。这样,我们可以直接将字符串输出绑定到Adobe布局中的IMAGE字段。而且,我们可以在表单输出中实现logo(SE78中提供)。下面是相同的代码。->以下是相同的代码:___________________________________________________________________________数据:lv_object type tdobjectgr value'GRAPHICS',lv\u name type stxbitmaps tdname value'SAP\u LOGO',lv_id类型tdidgr值'BMAP',lv_btype类型tdbtype值'BCOL',lv_字段类型xstring,GVU标志类型字符串。*调用类来填充测试打印。这在SE78中可用。call method cl\u ssf\u xsf\u utilities=>get\u bds\u graphic\u as\u bmp导出p\u object=lv\u object"'图形'p_name=lv_name"引号内SE78徽标的名称p\U id=lv\U id"'BMAP"p_btype=lv_btype接收p_bmp=lv_field"v_field和g_logo必须键入xstring例外情况未找到=1内部错误=2其他=3。*将图像的十六进制值转换为字符串格式(Base64编码)调用函数'SSFC\u BASE64\u ENCODE'导出bindata=lv\u字段导入B64数据=gv\ U徽标。如果sy subrc=0。er\ U实体标识=gv\ U标识。结束。___________________________________________________________________________–在编写代码之后。激活增强和类。 –关于装订的重要说明。当我们在adobelayout中绑定数据时,我们需要知道实体、实体集和属性。有时,ENTITYSET与我们在AdobeLayout中用于绑定数据的不同。因此,要获得实体集的确切名称。打开MPC类并打开DEFINE\u ASSOCIATIONS方法。方法将打开。向下滚动并转到导航。上面屏幕截图中突出显示的属性是更新的实体类型名称,我们必须使用它来访问adobe中的数据。关于绑定–如果是GET\实体,则只能通过实体\类型访问数据。但是在实体集的情况下,我们需要使用路径作为->