一、可以对采购申请挂载附件,通过两种方式:
1、使用GOS,直接挂附件,GOS这个名词比较唬人,其实就是在PR界面上使用
创建附件,注释等.这样挂载的附件只能挂到某个PR上,不能对行项目挂附件。
2、使用DMS,可以细到对行项目挂附件。(没用过,目前没空研究)
二、使用第一个方式管理附件的话,有的报表程序可能需要下载PR对应的附件到前台目录(前台指定目录和文件名),或者下载到某个local PC目录,或者写文件到application server路径下。
首先要知道的是这种方式下相关的透明表:
SRGBTBREL 文档链接,字段INSTID_A、INSTID_B
SOOD SAPoffice: 对象定义,字段OBJTP 文档类别代码, OBJYR 对象: 来自 ID 的年份, OBJNO 对象: 来自 ID 的号码, OBJDES 内容的简短描述, FILE EXT PC 应用程序的文件扩展名。
1、如果程序中需要在前台保存附件,可以使用class:
CL_GOS_DOCUMENT_SERVICE,
method:EXPORT_ATTACHMENT
2、下载到某个local PC目录
使用FM:GUI_DOWNLOAD,如果是纯文本的文件,可以使用BAPI_REL_GETRELATIONS获得对象链接,然后SO_OBJECT_READ获得文本对象的内容。如果是二进制文件,如图片,doc文件,pdf文件等,则处理较为复杂,需要BAPI_REL_GETRELATIONS,SO_OBJECT_READ,SO_KPRO_DATA_FROM_OBJCONT_GET,SO_LOIO_PHIO_GET,SDOK_PHIO_LOAD_CONTENT,SCMS_BINARY_TO_XSTRING几个FM。
3、写文件到application server路径,如写到/usr/ttt/目录下以供他用
如2中获得对象内表,然后使用open dataset方式写文件,以下例子:
FORM frm_download_atta USING p_it_zmmjy_th_pr STRUCTURE zmmjy_th_pr
p_g_path ”路径/usr/ttt/
CHANGING p_flag ”PR是否有附件
p_ftype .
DATA: l_objectid TYPE bapiborid,
lt_relat TYPE TABLE OF bapirellk WITH HEADER LINE,
l_objdisp TYPE sood2,
lt_objcont TYPE TABLE OF soli,
lt_context LIKE sdokpropty OCCURS 0 WITH HEADER LINE,
loio_object LIKE sdokobject,
phio_object LIKE sdokobject,
lt_binary_content TYPE TABLE OF sdokcntbin,
xfile TYPE xstring,
xfilename TYPE string.
DATA: xlen TYPE i.
DATA t_banfn LIKE eban-banfn.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_it_zmmjy_th_pr-banfn
IMPORTING
output = t_banfn.
l_objectid-objkey = t_banfn.
l_objectid-objtype = 'BUS2105'.
p_flag = 'X'.
CALL FUNCTION 'BAPI_REL_GETRELATIONS'
EXPORTING
objectid = l_objectid
relation = 'ATTA'"附件,除此之外还有NOTE,URL等
TABLES
listofrelations = lt_relat[].
IF LINES( lt_relat ) = 0."没有附件
p_flag = ''.
EXIT.
ENDIF.
* LOOP AT lt_relat.
READ TABLE lt_relat INDEX 1."业务上规定附件只有一个
REFRESH lt_objcont.
CALL FUNCTION 'SO_OBJECT_READ'
EXPORTING
folder_id = lt_relat-objkey_b(17)
object_id = lt_relat-objkey_b+17(17)
IMPORTING
object_hd_display = l_objdisp
TABLES
objcont = lt_objcont
EXCEPTIONS
OTHERS = 15.
MOVE l_objdisp-file_ext TO p_ftype .
TRANSLATE l_objdisp-file_ext TO UPPER CASE.
CALL FUNCTION 'SO_KPRO_DATA_FROM_OBJCONT_GET'
IMPORTING
loio_object = loio_object
TABLES
objcont = lt_objcont
context = lt_context
EXCEPTIONS
missing_kpro_data = 1
OTHERS = 2.
CALL FUNCTION 'SO_LOIO_PHIO_GET'
EXPORTING
loio_object = loio_object
IMPORTING
phio_object = phio_object
EXCEPTIONS
kpro_inconsistency = 1
x_error = 2
OTHERS = 3.
CALL FUNCTION 'SDOK_PHIO_LOAD_CONTENT'
EXPORTING
object_id = phio_object
TABLES
file_content_binary = lt_binary_content
EXCEPTIONS
not_existing = 1
not_authorized = 2
no_content = 3
bad_storage_type = 4
OTHERS = 5.
xlen = l_objdisp-objlen.
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = xlen
IMPORTING
buffer = xfile
TABLES
binary_tab = lt_binary_content
EXCEPTIONS
failed = 1
OTHERS = 2.
DATA sap_path_n TYPE string.
DATA wa LIKE sdokcntbin.
CONCATENATE p_g_path p_it_zmmjy_th_pr-filename '.' p_ftype INTO sap_path_n.
OPEN DATASET sap_path_n FOR OUTPUT IN BINARY MODE.
IF sy-subrc NE 0.
MESSAGE 'OPEN FILE FAILED' TYPE 'E'.
ENDIF.
LOOP AT lt_binary_content INTO wa.
TRANSFER wa-line TO sap_path_n.
ENDLOOP.
CLOSE DATASET sap_path_n.
CLEAR sap_path_n.
* ENDLOOP.
ENDFORM.
三、可以用事务码OAOR管理附件
以PR为例,

分享到:
相关推荐
为了提高效率并确保及时的信息传递,有时需要在审批过程中将采购订单(Purchase Order, PO)作为PDF附件通过电子邮件发送给相关人员。这篇文章主要介绍了如何实现这一功能,包括采购订单的PDF转换、创建电子邮件的HTML...
办公用品申领也需在OA系统上进行,每月固定时间申请,若超出库存,则需填写采购申请单。公告通知发布应由指定人员负责,内容清晰,附件齐全。对于小范围的重要事项,应使用电子邮件而非微讯或群组消息来传达,以保持...
- 目标是为了确保采购的原材料、设备等物资满足公司对质量、状况和职业健康安全的标准。 - 范围覆盖所有进入公司的物资,包括原材料、设备、办公用品等,适用于所有相关管理部门。 2. **职责与权限**: - 仓管部...
- 目的是对设备保养和维修过程中使用的维修工具进行有效管理,包括申请、领用、使用、存放和报废,以保证工具的合理使用和监管。 - 范围适用于无锡飞翎电子有限公司的电子制造模块。 2. **管理职责**: - 现场...
- **办公用品申领**:每月特定时间申请,超出库存需填写采购申请。 5. **第五章 公告通知与通信规则**: - **公告发布**:使用OA系统发布,各部门指定专人负责。 - **重要事项通知**:使用电子功能,禁止在微讯...
通过成立专门的领导小组,并由单位领导亲自挂帅,充分体现了对正版化工作的高度重视。该小组不仅负责制定相关正版化工作的规定和措施,还需确保这些措施能够得到有效执行。这一制度的建立,是正版化工作的基础,为...
- **维修管理**:设备故障时及时申请维修,维修人员需具备专业技能,维修过程需挂标识,更换配件需记录在设备履历卡上,维修后需验证设备状态。 4. **报废管理** - 设备达到报废条件时,需遵循一定的流程进行报废...
供货完成后,供应商先自检,然后申请采购方检查;供应商需提前2天提供测试与验收方案;双方按照方案进行测试验收,提交报告,进入试运行阶段;测试验收合格后,双方签署验收证书。 质量判定遵循严格的标准,所有...
2. 复核收货记录单,对照采购申请单,核实单价、金额、规格等信息,尤其是菜品,需确认厨师长签名。 3. 分别核对食品、酒水饮料、香烟和物料类入库,确保与总仓一致,避免错误入库带来的查账困难。 4. 核对收货部的...
同时,这一部分会明确车型型号,如HQ7101/HQ7131,并需通过研究院规划管理部技术管理科申请。此外,设计原则也会在这里被提及,这包括满足国内外的法规标准,例如欧洲的欧标和中国的国标,以确保产品在全球市场上的...
【医疗设备管理】是医疗机构内部管理的重要组成部分,它涉及到设备的采购、使用、维护、报废等一系列环节。在本文中,我们将深入探讨医疗设备管理的相关工作制度。 首先,医疗设备的【三级管理制度】是医疗机构普遍...
这章确保员工的出勤符合公司规定,明确了不同类型的假期以及申请批准的流程,同时也规定了对违规行为的处理办法。 第三章 考核管理 考核管理包括试用期考核、月度考核、年终考核、专门考核和团队考核,用于评估员工...
3. **请示/申请/采购等文件格式**:请示标题(二号宋体加粗,居中),正文段落1.5倍行距,三号仿宋字体,落款/日期同样为三号仿宋,与正文空三段。 4. **单位证明/单位授权书文件格式**:标题(二号宋体加粗,居中...
24. **SYB培训的学员筛选**:通常包括对学员的初步面试、填写申请表、需求评估和筛选,以确保培训的针对性。 这些知识点涵盖了SYB创业培训的多个方面,包括培训流程、教学方法、企业管理和营销策略,以及学员评估和...