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

云数据库_服务器维护_好用

小七 141 0

这篇博文将详细描述如何使用GOS将文件附加到BO,用户可以上传文件用户可以查看附件列表用户可以删除附件用户可以在本博文中显示附件

的内容,我们将以从SAP Gateway将任何文件(PDF/DOC/JPG/XLS..)附加到ME23N中的对象的实时示例为例。

使用Net Weaver Gateway创建/显示内容/显示附件列表/删除PO(ME23N)中的附件

UI:

ME23N:

PO 4710000304的附件列表

要遵循的步骤:

用对象ID、对象类型、对象类别和文档ID的复合键。

附件的实体将被标记为"媒体类型"

模型提供程序扩展类应重新定义处理此媒体类型实体的定义方法。

四个主要方法GET\u ENTITYSET(附件列表)、GET\u STREAM,bi大数据,CREATE\u STREAM和DELETE\u STREAM在一个实用程序类中实现,该实用程序类将从每个需要对象服务附件的服务中重用。

GET\u ENTITYSET

此方法将检索业务对象的附件列表。

ABAP代码:

method ztgetattachments\u GET\u ENTITYSET。*————————————————————-*数据声明*---------------------

数据对象\u id TYPE zif\u zodata\u get\u po\u attachment=>sibfborid。数据对象类型zif\u zodata\u get\u po\u attachment=>sifftypeid。数据对象\u cat TYPE zif\u zodata\u get\u po\u attachment=>sibfcatid。数据文档\u id TYPE zif\u zodata\u get\u po\u attachment=>documentid。数据ztgetattachment TYPE zif\u zodata\u get\u po\u attachment=>ztgetattachment。数据ls\ztgetattachment类型zif\u zodata\u get\u po\u attachment=>ztgetattachment。数据lv\u rfc\u name TYPE tfdir funcname。数据lv\ U目标类型rfcdest。数据lv\ U subrc类型syst subrc。数据lv\u exc\u msg TYPE/iwbep/mgw\u bop\u rfc\u exep\u text。数据lx\u根类型引用到cx\u根。数据lou过滤器类型REF TO/iwbep/if\mgw\u req\u过滤器。数据lt\u filter\u select\u options TYPE/iwbep/t\u mgw\u select\u option。数据类型字符串。数据ls\u分页类型/iwbep/s\u mgw\u分页。数据被转换成了一行实体集。数据ls\u筛选器类型/iwbep/s\u mgw\u选择\u选项。数据ls\u筛选器\u范围类型/iwbep/s\u代码\u选择\u选项。数据lr\u object\u id LIKE ls\u转换的\u keys-object\u id的范围。数据ls\u object\u id类似于lr\u object\u id的行。数据lr\u object\u type像ls\u转换的\u键的范围-object\u type。数据ls\u object\u type类似于lr\u object\u type的行。数据lr\u object\u cat-LIKE ls\u-converted\u-keys-object\u cat的范围。数据ls\u object\u cat类似lr\u object\u cat的行。数据lr\u document\u id LIKE ls\u转换的\u键的范围-document\u id。数据ls\u document\u id像lr\u document\u id的行。数据lou dp\ u facade TYPE REF TO/iwbep/if\ mgw\ u dp\ u facade。数据ls\u gw\u ztgetachment-LIKE-LINE-OF-et-entityset。数据类型int4。数据lv\ U top类型int4。*————————————————————-*将运行时请求映射到RFC–仅映射属性*————————————————————-*从技术请求上下文对象获取所有输入信息*因为DPC使用内部属性名,而运行时API接口则持有外部属性名*流程需要从technicalrequest上下文对象获取所有需要的输入信息*获取筛选器或选择选项信息lofilter=io\u tech\u request\u context->get\u filter()。lt\u filter\u select\u options=lo\u filter->get\u filter\u select\u options()。lv\u filter\u str=lo\u filter->get\u filter\u string().

**检查提供的过滤器是否受标准网关运行时进程支持如果lv\u filter\u str不是初始值lt\u filter\u select\u options是初始值。"如果筛选系统查询选项的字符串未自动转换为筛选选项表(lt\u filter\u select\u options),消费返现,则不支持筛选组合"在应用程序日志中记录消息me->/iwbep/if\u sb\u dpc\u comm\u services~log\u消息(导出iv\u msg\u type='E'iv\u msg\uiv_msg_number=025)。"引发异常引发异常类型/iwbep/cx\u mgw\u tech\u异常导出textid=/iwbep/cx\u mgw\u tech\u exception=>内部错误。ENDIF.

**获取键表信息io\技术\请求\上下文->获取\转换的\源\密钥(导入es\u key\u values=ls\u conversited\u keys)。

ls\u paging-top=io\u tech\u request\u context->get\u top()。ls\u paging-skip=io\u tech\u request\u context->get\u skip().

**将过滤表行映射到功能模块参数循环在lt\u filter\u选择选项进入ls\u filter.

CASE ls\u filter-property。当"OBJECT\u ID"时。lou filter->convert\u select\u选项(导出是\u select \u option=ls\u filter吗导入et\u select\u option=lr\u object\u id)。

将表lr\u object\u id读入ls\u object\u id索引1。如果sy subrc=0。object\u id=ls\u object\u id-低。结束。"对象类型"时。lou filter->convert\u select\u选项(导出是\u select \u option=ls\u filter吗导入et_select_option=lr_object_type)。