SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx

上传人:b****1 文档编号:571930 上传时间:2022-10-11 格式:DOCX 页数:13 大小:200.18KB
下载 相关 举报
SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx_第1页
第1页 / 共13页
SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx_第2页
第2页 / 共13页
SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx_第3页
第3页 / 共13页
SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx_第4页
第4页 / 共13页
SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx

《SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx》由会员分享,可在线阅读,更多相关《SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx(13页珍藏版)》请在冰豆网上搜索。

SEPCERP试点阶段技术书MMZMMR0009 采购申请上传附件V1.docx

SEPCERP试点阶段技术书MMZMMR0009采购申请上传附件V1

四川省电力公司

企业资源管理(ERP)系统实施项目

技术设计说明书

第一部分:

基本信息

(生成新的版本后,以下内容要相应改动)

开发类型

增强接口单据报表

技术工具

EnhancementUserExitBAdI

DialogInteractivelist

ABAPOOFunctiongroup

RFCBAPIfunctionExecutiveProgram

BDCTableContentsModification

ServerfileLocalfile

SAPScriptSmartformsOutput-onlyList

模块

MM

开发机及集团

D19

(1)/client110

事务代码

ZMMR0009

程序ID

ZMMR0009

程序名称

采购申请上传附件

功能设计者

吕长雷

技术设计者

李光宇

ABAP程序员

李光宇

 

第二部分:

设计书维护记录

更新日期

更新人员

简要说明

2009-09-21

李光宇

初版创建

 

第三部分:

技术方案描述

3.1业务需求描述

根据选择屏输入的选择条件,选出满足条件的采购申请(物资部门未审批的采购申请)并在ALV列表中显示出来,在采购申请后面选择文档路径后,即可将选择的文档挂接到相应的采购申请上;对于已挂过技术条件书的采购申请可以显示或更改技术条件书的文档。

3.2技术解决方案

1.根据选择上输入的项目号,WBS编号等条件,从表EBAN中抽取条件范围内的各明细数据,从T006A、T024E等表抽取附加字段;将采购申请所挂附件信息,从DMS中读出,通过ALV显示数据清单,并可以上传新的附件和替换新的附件。

2.权限检查:

工厂权限对象:

M_BANF_WRK;字段:

WERKS

如果无上述权限,显示“您无权使用该工厂”。

3.3系统简单架构图

如果抽到数据为空或无权限

如果非空

 

 

 

 

 

第四部分:

程序逻辑描述—将主要代码功能描述清楚,

1.输入TCODE:

ZMMR0009,出现如下屏幕

2.根据选择画面的输入条件(如工厂为000A),查询各采购订单的明细数据

其中状态栏,显示该申请是否已经上传附件(绿色表示成功已上传附件,黄色表示还未上传附件,而红色表示上传附件出错)

3.通过ALV界面上的选择文件按钮或工具栏的批量选择文件,可选择待上传的文件。

通过工具栏的执行按钮后,即可完成上传;如果一旦发生错误,可以通过工具栏查看日志按钮,查看相应日志。

第五部分:

源程序----复杂性功能实现可贴主要功能代码部分

1.权限检查:

由于工厂不是必输,所以为了提高效率,对于选择画面上输入了工厂,我们就直接进行权限检查,而对于选择画面上未输入工厂,我们通过先将符合条件的采购申请筛选出来,再过滤掉不符合权限检查的工厂。

**************

* 权限检查 *

**************

* 采购申请中的工厂

  DATA:

 BEGIN OF GT_T001W OCCURS 0,

          WERKS TYPE T001W-WERKS,

        END OF GT_T001W.

  DATA:

 L_STRING TYPE STRING.

* 对于SELECT-OPTIONS不为空的情况,取出不符合条件的数据

* 对于SELECT-OPTIONS为空的情况,取出数据后,再进行过滤

  IF S_WERKS[] IS NOT INITIAL.

*   从数据库中筛选出符合条件的工厂

    SELECT WERKS

      INTO TABLE GT_T001W

      FROM T001W

     WHERE WERKS IN S_WERKS.

    LOOP AT GT_T001W.

*     采购申请中的工厂

      AUTHORITY-CHECK OBJECT 'M_BANF_WRK'

               ID 'ACTVT' DUMMY

               ID 'WERKS' FIELD GT_T001W-WERKS.

      IF SY-SUBRC <> 0.

        CLEAR:

 L_STRING.

        CONCATENATE '您无权使用工厂:

'

                    GT_T001W-WERKS

               INTO L_STRING.

        MESSAGE S001(00) WITH L_STRING.

        LEAVE LIST-PROCESSING.

      ENDIF.

    ENDLOOP.

  ENDIF.

  SELECT BANFN "采购申请编号

         BNFPO "行项目编号

         MATNR "物料编码

         TXZ01 "物料名称

         MENGE "数量

         MEINS "计量单位

         WERKS "工厂编码

         LFDAT "交货日期

         MATKL "物料组编码

         ERNAM "创建人

         ERDAT "创建日期

         EKORG "采购组织

         EKGRP "采购组

    INTO CORRESPONDING FIELDS OF TABLE GT_ALV

    FROM EBAN

   WHERE BSTYP EQ 'B'     "采购凭证类别

     AND FRGRL EQ 'X'     ""批准尚未完全生效

     AND FRGZU EQ ''      ""版本状态

     AND LOEKZ NE 'X'     "采购凭证中的删除标识

     AND FRGST NE ''      ""采购请求中的批准策略

     AND BANFN IN S_BANFN "采购申请编号

     AND WERKS IN S_WERKS "工厂代码

     AND MATKL IN S_MATKL "物料组编号

     AND MATNR IN S_MATNR "物料编号

     AND ERNAM IN S_ERNAM "申请创建者

     AND BADAT IN S_BADAT "申请创建时间

     AND PSTYP IN R_PSTYP "项目类别

     AND KNTTP IN R_KNTTP."科目分配类别

  IF SY-SUBRC <> 0.

    MESSAGE S001(00) WITH '没有符合条件的采购申请'.

    LEAVE LIST-PROCESSING.

  ENDIF.

  DATA:

 GT_ALV_TMP TYPE TABLE OF TY_ALV.

* 对于SELECT-OPTIONS为空的情况,取出数据后,再进行过滤

  IF S_WERKS[] IS INITIAL.

    LOOP AT GT_ALV INTO WA_ALV.

      AUTHORITY-CHECK OBJECT 'M_BANF_WRK'

               ID 'ACTVT' DUMMY

               ID 'WERKS' FIELD WA_ALV-WERKS.

      IF SY-SUBRC = 0.

        APPEND WA_ALV TO GT_ALV_TMP.

      ELSE.

        CONTINUE.

      ENDIF.

    ENDLOOP.

    REFRESH:

 GT_ALV.

    GT_ALV[] = GT_ALV_TMP[].

  ENDIF.

2.取采购申请下所挂附件信息

*&---------------------------------------------------------------------*

*&      Form  FRM_GET_DOCUMENTS

*&---------------------------------------------------------------------*

*       取采购申请链接的文档

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM FRM_GET_DOCUMENTS.

  DATA:

 BEGIN OF LT_OBJKY OCCURS 0,

          DOKOB LIKE DRAD-DOKOB,

          OBJKY LIKE DRAD-OBJKY,

        END OF LT_OBJKY.

  DATA:

 LT_DOCUMENTFILES TYPE TABLE OF CVAPI_DOC_FILE.

  DATA:

 BEGIN OF LT_DOCS OCCURS 0,

          DOKAR TYPE DRAW-DOKAR,

          DOKNR TYPE DRAW-DOKNR,

          DOKVR TYPE DRAW-DOKVR,

          DOKTL TYPE DRAW-DOKTL,

        END OF LT_DOCS.

  DATA:

 LS_DRAW TYPE DRAW.

  DATA:

 LT_DRAD TYPE TABLE OF DRAD,

        LS_DRAD TYPE DRAD.

  CHECK NOT GT_ALV IS INITIAL.

  LOOP AT GT_ALV INTO WA_ALV.

    LT_OBJKY-DOKOB = 'EBAN'.

    CONCATENATE WA_ALV-BANFN WA_ALV-BNFPO INTO LT_OBJKY-OBJKY.

    COLLECT LT_OBJKY.

  ENDLOOP.

  CHECK NOT LT_OBJKY[] IS INITIAL.

  SELECT DISTINCT DOKAR

                  DOKNR

                  DOKVR

                  DOKTL

    INTO TABLE LT_DOCS

    FROM DRAD

     FOR ALL ENTRIES IN LT_OBJKY

   WHERE DOKOB EQ LT_OBJKY-DOKOB

     AND OBJKY EQ LT_OBJKY-OBJKY

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1