我必须在MIRO tcode中为附件(图像和文件,两种.TIF格式)创建报告/ FM。
在我的代码中,它正在table
中更新,但不会在MIRO'
tcode中更新。任何人都可以检查我的错误。
我必须传递Business对象,业务键
SELECTION-SCREEN BEGIN OF BLOCK b12 WITH FRAME TITLE text-001.
PARAMETERS: p_file TYPE localfile,
p_objid TYPE swo_typeid,
p_bo TYPE swo_objtyp.
SELECTION-SCREEN END OF BLOCK b1.
DATA:
li_content TYPE STANDARD TABLE OF soli,
ls_content TYPE soli,
li_objhead TYPE STANDARD TABLE OF soli,
lwa_folmem_k TYPE sofmk,
lwa_note TYPE borident,
lwa_object TYPE borident,
lwa_obj_id TYPE soodk,
lwa_content TYPE soli,
lwa_fol_id TYPE soodk,
lwa_obj_data TYPE sood1,
lv_ep_note TYPE borident-objkey,
lv_lifnr TYPE lifnr,
lv_file TYPE string,
lv_filename TYPE c LENGTH 100, " file name and ext
lv_extension TYPE c LENGTH 4. " extension only
REFRESH: li_content[], li_objhead[].
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'C:\Users\User\Desktop\123.TIF'
filetype = 'BIN'
TABLES
data_tab = lt_data
CALL FUNCTION 'SO_CONVERT_CONTENTS_BIN'
EXPORTING
it_contents_bin = li_content[]
IMPORTING
et_contents_bin = li_content[].
CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
region = 'B'
IMPORTING
folder_id = lwa_fol_id
EXCEPTIONS
communication_failure = 1
owner_not_exist = 2
system_failure = 3
x_error = 4
OTHERS = 5.
答案 0 :(得分:0)
在我看来,你正在重新发明轮子。
如果您只需要在MIRO中附加文件,那么您可以使用名为GOS(通用对象服务)的优秀工具。它有很多功能,包括attaching files to business objects(MIRO持有发票也是业务对象)等等。
您需要做的只是在GOS菜单中调用附件列表项目,并将目标文件添加到MIRO对象的附件列表中。
所有文件均由系统视为SAPoffice文档,并在技术上存储在SOOD
和SOFM
表中。
此外,如果您对本机附加功能不满意,可以通过adding your own services轻松扩展GOS菜单。这些服务可以调用您的FM,这将在任何地方保存您的文件。