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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    基于Yarp的http内网穿透库HttpMouse
    Redis+Lua解决高并发场景抢购秒杀问题
    SQL慢查询排查思路
    webrtc之TURE、STUN、摄像头打开实战
    WebService就该这么学
    超详细 Java 15 新功能介绍
    Java 14 新功能介绍
    Java 17 将要发布,补一下 Java 13 中的新功能
    Java 8 Function 函数接口
    PO/DO/VO/DTO/BO/POJO概念与区别
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/9218480.html
Copyright © 2011-2022 走看看