`
zjut_xiongfeng
  • 浏览: 287189 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

对采购申请挂附件

    博客分类:
  • MM
阅读更多

一、可以对采购申请挂载附件,通过两种方式:
1、使用GOS,直接挂附件,GOS这个名词比较唬人,其实就是在PR界面上使用image 创建附件,注释等.这样挂载的附件只能挂到某个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为例,
image

分享到:
评论

相关推荐

    SAP MM审批采购订单时将采购订单作为PDF附件发送电子邮件

    为了提高效率并确保及时的信息传递,有时需要在审批过程中将采购订单(Purchase Order, PO)作为PDF附件通过电子邮件发送给相关人员。这篇文章主要介绍了如何实现这一功能,包括采购订单的PDF转换、创建电子邮件的HTML...

    公司OA办公自动化系统管理制度.doc

    办公用品申领也需在OA系统上进行,每月固定时间申请,若超出库存,则需填写采购申请单。公告通知发布应由指定人员负责,内容清晰,附件齐全。对于小范围的重要事项,应使用电子邮件而非微讯或群组消息来传达,以保持...

    物资验收入库的操作规范.doc

    - 目标是为了确保采购的原材料、设备等物资满足公司对质量、状况和职业健康安全的标准。 - 范围覆盖所有进入公司的物资,包括原材料、设备、办公用品等,适用于所有相关管理部门。 2. **职责与权限**: - 仓管部...

    行业信息中心 机插、贴片室设备维修工具管理工作指引.doc

    - 目的是对设备保养和维修过程中使用的维修工具进行有效管理,包括申请、领用、使用、存放和报废,以保证工具的合理使用和监管。 - 范围适用于无锡飞翎电子有限公司的电子制造模块。 2. **管理职责**: - 现场...

    公司OA办公自动化系统管理制度.docx

    - **办公用品申领**:每月特定时间申请,超出库存需填写采购申请。 5. **第五章 公告通知与通信规则**: - **公告发布**:使用OA系统发布,各部门指定专人负责。 - **重要事项通知**:使用电子功能,禁止在微讯...

    软件正版化工作的指南.doc

    通过成立专门的领导小组,并由单位领导亲自挂帅,充分体现了对正版化工作的高度重视。该小组不仅负责制定相关正版化工作的规定和措施,还需确保这些措施能够得到有效执行。这一制度的建立,是正版化工作的基础,为...

    013设备管理规范.doc

    - **维修管理**:设备故障时及时申请维修,维修人员需具备专业技能,维修过程需挂标识,更换配件需记录在设备履历卡上,维修后需验证设备状态。 4. **报废管理** - 设备达到报废条件时,需遵循一定的流程进行报废...

    办公家具验收方案.pdf

    供货完成后,供应商先自检,然后申请采购方检查;供应商需提前2天提供测试与验收方案;双方按照方案进行测试验收,提交报告,进入试运行阶段;测试验收合格后,双方签署验收证书。 质量判定遵循严格的标准,所有...

    酒店财务部应付账会计岗位工作程序与标准.doc

    2. 复核收货记录单,对照采购申请单,核实单价、金额、规格等信息,尤其是菜品,需确认厨师长签名。 3. 分别核对食品、酒水饮料、香烟和物料类入库,确保与总仓一致,避免错误入库带来的查账困难。 4. 核对收货部的...

    专题资料(2021-2022年)产品设计任务书.doc

    同时,这一部分会明确车型型号,如HQ7101/HQ7131,并需通过研究院规划管理部技术管理科申请。此外,设计原则也会在这里被提及,这包括满足国内外的法规标准,例如欧洲的欧标和中国的国标,以确保产品在全球市场上的...

    医疗设备管理系统相关工作制度考试试卷附问题详解.doc

    【医疗设备管理】是医疗机构内部管理的重要组成部分,它涉及到设备的采购、使用、维护、报废等一系列环节。在本文中,我们将深入探讨医疗设备管理的相关工作制度。 首先,医疗设备的【三级管理制度】是医疗机构普遍...

    长兴扫地车维修企业基本管理制度.doc

    这章确保员工的出勤符合公司规定,明确了不同类型的假期以及申请批准的流程,同时也规定了对违规行为的处理办法。 第三章 考核管理 考核管理包括试用期考核、月度考核、年终考核、专门考核和团队考核,用于评估员工...

    公司文件格式规范.pdf

    3. **请示/申请/采购等文件格式**:请示标题(二号宋体加粗,居中),正文段落1.5倍行距,三号仿宋字体,落款/日期同样为三号仿宋,与正文空三段。 4. **单位证明/单位授权书文件格式**:标题(二号宋体加粗,居中...

    SYB创业培训讲师考试.doc

    24. **SYB培训的学员筛选**:通常包括对学员的初步面试、填写申请表、需求评估和筛选,以确保培训的针对性。 这些知识点涵盖了SYB创业培训的多个方面,包括培训流程、教学方法、企业管理和营销策略,以及学员评估和...

Global site tag (gtag.js) - Google Analytics