zoukankan      html  css  js  c++  java
  • 使用ABAP代码返回S/4HANA Material上维护的Attachment明细

    在事务码 MM02里为ID为16的material维护附件:

    如何使用ABAP代码获得如下附件的名称和文件内容?

    
    REPORT zgos_api.
    
    DATA ls_appl_object     TYPE gos_s_obj.
    
    DATA lo_gos_api         TYPE REF TO cl_gos_api.
    
    DATA lt_attachment_list TYPE gos_t_atta.
    
    DATA lt_role_filter     TYPE gos_t_rol.
    
    DATA ls_attachment   TYPE gos_s_atta.
    
    DATA ls_attachm_cont TYPE gos_s_attcont.
    
    DATA ls_atta_key     TYPE gos_s_attkey.
    
    DATA: lv_id  TYPE matnr VALUE '16',
    
          lt_att TYPE TABLE OF sibflporb.
    
    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
    
      EXPORTING
    
        input  = lv_id
    
      IMPORTING
    
        output = lv_id.
    
    ls_appl_object-typeid = 'BUS1001006'.
    
    ls_appl_object-instid = lv_id.
    
    ls_appl_object-catid  = 'BO'.
    
    START-OF-SELECTION.
    
      TRY.
    
          lo_gos_api = cl_gos_api=>create_instance( ls_appl_object ).
    
          APPEND cl_gos_api=>c_attachment TO lt_role_filter.
    
          lt_attachment_list = lo_gos_api->get_atta_list( lt_role_filter ).
    
        CATCH cx_gos_api INTO DATA(error).
    
          WRITE:/ error->get_text( ).
    
          RETURN.
    
      ENDTRY.
    
      DATA: ls_key TYPE gos_s_attkey.
    
      LOOP AT lt_attachment_list ASSIGNING FIELD-SYMBOL(<id>).
    
        ls_key-atta_id = <id>-atta_id.
    
        ls_key-atta_cat = <id>-atta_cat.
    
        DATA(ls) = lo_gos_api->get_al_item( ls_key ).
    
      ENDLOOP.
    
    

    执行结果:

    要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    PHP脚本如何正确启用sg11安全组件?
    android修改系统时系统黑屏时不进入休眠状态
    计算机自考视频汇总【福利资料】[转]
    解决MySql报错:1130
    “领导想提拔你,看的从不是努力
    interTbale ___AlterTable
    MySQL数据库管理系统概述
    《分布式任务调度平台XXL-JOB》
    mysql 在线文档
    Oracle19c 数据库在线文档
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/9218480.html
Copyright © 2011-2022 走看看