删除附件-GOS

2020-09-02 09:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在使用以下代码删除...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在使用以下代码删除GOS附件。

  数据:i_borident类型borident,
        i_attsrv类型对cl_gos_document_service的引用。

   i_objectd-objtype ='YATTA'。
   i_objectd-logsys ='BO'。
   i_objectd-objkey = inumber。

   选择* from srgbtbrel"获取GOS链接
            到表i_srgbtbrel
            其中instid_a eq i_objectd-objkey
              和typeid_a eq i_objectd-objtype
              和catid_a eq i_objectd-logsys
              和reltype eq'ATTA'。
   如果sy-subrc eq 0。
     创建对象i_attsrv。
     在i_srgbtbrel循环。
      i_borident-objkey = i_srgbtbrel-instid_b。
      调用方法i_attsrv-> delete_attachment
        出口
 * is_object = i_objectd
          ip_attachment = i_borident-objkey。
      提交工作。
     结束循环。
   万一。

 

我从表SRGBTBREL获取正确的二进制密钥,并将其传递给方法DELETE_ATTACHMENT,并获取sy-subrc eq 0,然后附件也显示在文档中。 但是,如果要通过服务对象删除,则它已完美删除了附件。 代码中有什么错误?

谢谢

aRs

消息的编辑者:

aRs

6条回答
渐行渐远_HoldOn
2020-09-02 09:34

嗨。

您缺少SO_OBJECT_DELETE_IN_VB:

...

数据ls_folder_id类型为soodk。

数据ls_object_id类型为soodk。

在i_srgbtbrel处循环。

i_borident-objkey = i_srgbtbrel-instid_b。

调用方法i_attsrv-> delete_attachment

导出

* is_object = i_objectd

ip_attachment = i_borident-objkey。

ls_folder_id = i_borident-objkey(17)。

ls_object_id = i_borident-objkey + 17(17)。

调用函数'SO_OBJECT_DELETE_IN_VB'

在更新任务中

导出

folder_id = ls_folder_id

object_id = ls_object_id。

结束循环。

提交工作并等待。

在cl_gos_document_service-> delete_attachment的末尾,有一行:

调用函数'GOS_ADD_KEY'导出ip_objkey = ip_attachment。

此函数将已删除的项目添加到表gt_obj_to_delete中。

此后,该标准使用gt_obj_to_delete以包含LSGOSITSF01的形式从DELETE_OBJECTS调用SO_OBJECT_DELETE_IN_VB。

谢谢。

一周热门 更多>