SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx

上传人:b****7 文档编号:23827885 上传时间:2023-05-21 格式:DOCX 页数:15 大小:164.40KB
下载 相关 举报
SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx_第1页
第1页 / 共15页
SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx_第2页
第2页 / 共15页
SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx_第3页
第3页 / 共15页
SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx_第4页
第4页 / 共15页
SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx

《SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx》由会员分享,可在线阅读,更多相关《SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx(15页珍藏版)》请在冰豆网上搜索。

SEPCERP试点阶段技术书MMZMMF0006 现场移交单V1.docx

SEPCERP试点阶段技术书MMZMMF0006现场移交单V1

四川省电力公司

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

技术设计说明书

第一部分:

基本信息

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

开发类型

增强接口单据报表

技术工具

EnhancementUserExitBAdI

DialogInteractivelist

ABAPOOFunctiongroup

RFCBAPIfunctionExecutiveProgram

BDCTableContentsModification

ServerfileLocalfile

SAPScriptSmartformsOutput-onlyList

模块

MM

开发机及集团

110

事务代码

ZMMF0006

程序ID

ZMMF0006

程序名称

现场移交单

功能设计者

朱大力

技术设计者

侯佳男

ABAP程序员

侯佳男

 

第二部分:

设计书维护记录

更新日期

更新人员

简要说明

2009-8-26

侯佳男

新建

 

第三部分:

技术方案描述

3.1业务需求描述

在仓库交接货物时,交接双方在打印单上签字;在配送货物到现场时,在事先打印好的移交单上签字确认。

3.2技术解决方案

1.根据选择画面的输入,从表PROJ,PRPS,EKKN,EKKO,EKPO,MAKT或预留表RESB中抽取开箱检验单等主数据,

通过ALV显示符合条件的数据清单,并将用户选择的清单行项目利用SmartForm查看打印预览或直接打印。

2.权限检查:

工厂权限对象:

M_BEST_EKO;字段:

EKORG

如果无上述权限,显示取消该条目。

 

3.3系统简单架构图

 

 

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

 

如果非空

 

Y/N

调用SmartForm失败

 

调用SmartForm成功

 

第四部分:

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

1.输入TCODE:

ZMMF0006,出现如下屏幕

2.根据选择画面的输入,从表PROJ,PRPS,EKKN,EKKO,EKPO,MAKT或预留表RESB中抽取开箱检验单等主数据,通过ALV显示符合条件的数据清单,并将用户选择的清单行项目利用SmartForm查看打印预览或直接打印。

3.选择一行记录后点击详细信息按钮,调用编辑该条目的详细画面:

 

第五部分:

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

主要取数逻辑如下:

START-OF-SELECTION.

* 获取数据

  PERFORM FRM_GET_DATA.

  CHECK IT_DATA IS NOT INITIAL.

* 数据编辑

  PERFORM FRM_EDIT_DATA.

END-OF-SELECTION.

  CHECK IT_OUT IS NOT INITIAL.

* ALV展现及其打印

  PERFORM FRM_DISPLAY_DATA.

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

*&      Form  FRM_INITIAL

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

*       初始化

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

FORM FRM_INITIAL.

  W_REPID = SY-REPID.

  WA_OUT1-NO = 1.

  WA_OUT2-NO = 2.

  WA_OUT3-NO = 3.

  WA_OUT4-NO = 4.

ENDFORM.                    " FRM_INITIAL

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

*&      Form  FRM_GET_DATA

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

*       text

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

FORM FRM_GET_DATA .

  RW_BSART-SIGN   = 'I'.

  RW_BSART-OPTION = 'EQ'.

  RW_BSART-LOW    = 'ZM09'.

  APPEND RW_BSART TO R_BSART.

  RW_BSART-SIGN   = 'I'.

  RW_BSART-OPTION = 'BT'.

  RW_BSART-LOW    = 'ZM01'.

  RW_BSART-HIGH   = 'ZM07'.

  APPEND RW_BSART TO R_BSART.

  IF S_RSNUM-LOW IS INITIAL

  AND S_RSNUM-HIGH IS INITIAL.

* 根据条件收索数据

    IF P_EKORG IS NOT INITIAL.

      SELECT PROJ~PSPID                            "项目定义

             PROJ~PSPNR                            "项目定义 (内部)

             PROJ~POST1                            "PS:

 短描述 (第一行文本)

             PRPS~PSPHI                            "合适的项目的当前编号

             EKKN~EBELN                            "采购凭证号

             EKKN~EBELP                            "采购凭证的项目编号

             EKPO~MENGE                            "数量

             EKPO~MEINS                            "单位

             EKPO~MATNR                            "物料号

             EKKO~LIFNR                            "供应商帐户号

             EKKO~EKORG                            "采购组织

             LFA1~NAME1                            "供应商名称

        INTO CORRESPONDING FIELDS OF TABLE IT_DATA

        FROM PROJ

       INNER JOIN PRPS

          ON PROJ~PSPNR = PRPS~PSPHI

       INNER JOIN EKKN

          ON PRPS~PSPNR = EKKN~PS_PSP_PNR

       INNER JOIN EKPO

          ON EKPO~EBELN = EKKN~EBELN

         AND EKPO~EBELP = EKKN~EBELP

       INNER JOIN EKKO

          ON EKPO~EBELN = EKKO~EBELN

       INNER JOIN LFA1

          ON EKKO~LIFNR = LFA1~LIFNR

       WHERE EKPO~LOEKZ <> 'L'

         AND EKKO~FRGRL = ''

         AND EKKO~EKORG = P_EKORG

         AND EKKO~MEMORY <> 'X'

         AND EKKO~EBELN IN S_EBELN

         AND PROJ~PSPID IN S_PSPID                 "项目编码

         AND EKPO~MATNR IN S_MATNR                 "物料编码

         AND EKKO~BSART IN R_BSART.                "采购凭证类型

    ELSE.

      SELECT PROJ~PSPID                            "项目定义

             PROJ~PSPNR                            "项目定义 (内部)

             PROJ~POST1                            "PS:

 短描述 (第一行文本)

             PRPS~PSPHI                            "合适的项目的当前编号

             EKKN~EBELN                            "采购凭证号

             EKKN~EBELP                            "采购凭证的项目编号

             EKPO~MENGE                            "数量

             EKPO~MEINS                            "单位

             EKPO~MATNR                            "物料号

             EKKO~LIFNR                            "供应商帐户号

             EKKO~EKORG                            "采购组织

             LFA1~NAME1                            "供应商名称

        INTO CORRESPONDING FIELDS OF TABLE IT_DATA

        FROM PROJ

       INNER JOIN PRPS

          ON PROJ~PSPNR = PRPS~PSPHI

       INNER JOIN EKKN

          ON PRPS~PSPNR = EKKN~PS_PSP_PNR

       INNER JOIN EKPO

          ON EKPO~EBELN = EKKN~EBELN

         AND EKPO~EBELP = EKKN~EBELP

       INNER JOIN EKKO

          ON EKPO~EBELN = EKKO~EBELN

       INNER JOIN LFA1

          ON EKKO~LIFNR = LFA1~LIFNR

       WHERE EKPO~LOEKZ <> 'L'

         AND EKKO~FRGRL = ''

         AND EKKO~MEMORY <> 'X'

         AND EKKO~EBELN IN S_EBELN

         AND PROJ~PSPID IN S_PSPID                 "项目编码

         AND EKPO~MATNR IN S_MATNR                 "物料编码

         AND EKKO~BSART IN R_BSART.                "采购凭证类型

    ENDIF.

    IF S_PSPID-LOW IS INITIAL

    AND S_PSPID-HIGH IS INITIAL.

      IF P_EKORG IS NOT INITIAL.

        SELECT EKPO~EBELN                          "采购凭证号

               EKPO~EBELP                          "采购凭证的项目编号

               EKPO~MENGE                          "数量

               EKPO~MEINS                          "单位

               EKPO~MATNR                          "物料号

               EKKO~LIFNR                          "供应商帐户号

               EKKO~EKORG                          "采购组织

               LFA1~NAME1                          "供应商名称

          INTO CORRESPONDING FIELDS OF TABLE IT_DATA1

          FROM EKPO

         INNER JOIN EKKO

            ON EKPO~EBELN = EKKO~EBELN

         INNER JOIN LFA1

            ON EKKO~LIFNR = LFA1~LIFNR

         WHERE EKPO~LOEKZ <> 'L'

           AND EKKO~FRGRL = ''

           AND EKKO~MEMORY <> 'X'

           AND EKKO~EKORG = P_EKORG

           AND EKKO~EBELN IN S_EBELN

           AND EKPO~MATNR IN S_MATNR               "物料编码

           AND EKKO~BSART IN R_BSART.              "采购凭证类型

      ELSE.

        SELECT EKPO~EBELN                          "采购凭证号

               EKPO~EBELP                          "采购凭证的项目编号

               EKPO~MENGE                          "数量

               EKPO~MEINS                          "单位

               EKPO~MATNR                          "物料号

               EKKO~LIFNR                          "供应商帐户号

               EKKO~EKORG                          "采购组织

               LFA1~NAME1                          "供应商名称

          INTO CORRESPONDING FIELDS OF TABLE IT_DATA1

          FROM EKPO

         INNER JOIN EKKO

            ON EKPO~EBELN = EKKO~EBELN

         INNER JOIN LFA1

            ON EKKO~LIFNR = LFA1~LIFNR

         WHERE EKPO~LOEKZ <> 'L'

           AND EKKO~FRGRL = ''

           AND EKKO~MEMORY <> 'X'

           AND EKKO~EBELN IN S_EBELN

           AND EKPO~MATNR IN S_MATNR               "物料编码

           AND EKKO~BSART IN R_BSART.              "采购凭证类型

      ENDIF.

      LOOP AT IT_DATA1 INTO WA_DATA1.

        READ TABLE IT_DATA INTO WA_DATA WITH KEY EBELN = WA_DATA1-EBELN

                                                 EBELP = WA_DATA1-EBELP.

        IF SY-SUBRC = 0.

          CONTINUE.

        ELSE.

          APPEND WA_DATA1 TO IT_DATA.

        ENDIF.

      ENDLOOP.

    ENDIF.

    IF IT_DATA IS INITIAL.

      MESSAGE S000(ZMM01) WITH '没有找到相应的数据,请重新输入'.

      EXIT.

    ENDIF.

  ELSE.

    SELECT PSPEL

           AUFNR

           SOBKZ

           MATNR

      INTO TABLE IT_RESB

      FROM RESB

     WHERE RSNUM IN S_RSNUM.

    IF SY-SUBRC <> 0.

      MESSAGE S000(ZMM01) WITH '没有找到相应的数据,请重新输入'.

      EXIT.

    ENDIF.

    SELECT PRPS~PSPNR "WBS 要素

           PROJ~PSPID "项目编号

           PROJ~POST1 "短描述 (第一行文本)

      INTO TABLE IT_PRPS

      FROM PRPS

     INNER JOIN PROJ

        ON PRPS~PSPHI = PROJ~PSPNR

       FOR ALL ENTRIES IN IT_RESB

     WHERE PRPS~PSPNR = IT_RESB-PSPEL.

    SELECT AUFNR "订单号

           KTEXT "工单描述

      INTO TABLE IT_AUFK

      FROM AUFK

       FOR ALL ENTRIES IN IT_RESB

     WHERE AUFNR = IT_RESB-AUFNR.

    LOOP AT IT_RESB INTO WA_RESB.

      WA_DATA-MATNR = WA_RESB-MATNR.

      IF WA_RESB-SOBKZ = 'Q'.

        READ TABLE IT_PRPS INTO WA_PRPS WITH KEY PSPNR = WA_RESB-PSPEL.

        IF SY-SUBRC = 0.

          WA_DATA-PSPID = WA_PRPS-PSPID.

          WA_DATA-POST1 = WA_PRPS-POST1.

        ENDIF.

      ELSEIF WA_RESB-SOBKZ = ''.

        READ TABLE IT_AUFK INTO WA_AUFK WITH KEY AUFNR = WA_RESB-AUFNR.

        IF SY-SUBRC = 0.

          WA_DATA-PSPID = WA_AUFK-AUFNR.

          WA_DATA-POST1 = WA_AUFK-KTEXT.

        ENDIF.

      ENDIF.

      APPEND WA_DATA TO IT_DATA.

    ENDLOOP.

  ENDIF.

* 查找物料说明

  SELECT MATNR             "项目编码

         MAKTX             "物料说明

    INTO CORRESPONDING FIELDS OF TABLE IT_MAKT

    FROM MAKT

     FOR ALL ENTRIES IN IT_DATA

   WHERE MATNR = IT_DATA-MATNR

     AND SPRAS = SY-LANGU.

* 单位

  SELECT EKPO~MATNR

         EKPO~MEINS

         T006A~MSEHI

         T006A~SPRAS

         T006A~MSEHL

    INTO TABLE IT_MEINS

    FROM EKPO

   INNER JOIN T006A ON

         EKPO~MEINS = T006A~MSEHI

   FOR ALL ENTRIES IN IT_DATA

   WHERE MATNR = IT_DATA-MATNR.

ENDFORM.                    " FRM_GET_DATA

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

*&      Form  FRM_EDIT_DATA

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

*       数据编辑

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

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

当前位置:首页 > 成人教育 > 自考

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

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