MM模块采购相关报表取数

来源:互联网 发布:win7下制作mac启动u盘 编辑:程序博客网 时间:2024/05/01 22:10

针对,前期作MM模块开发,针对采购订单、采购申请的业务流向。现作一定的总结,如有错误欢迎大家指正。

一、相关表

EBAN:采购申请表

EBKN:采购申请帐户信息(涉及一些成本中心、科目、固定资产号)

EKKO:采购订单主表(包括采购凭证类型,审批标识,删除标记、采购组织、供应商编码)

EKPO:采购订单明细表

EKBE:采购历史记录(包括收货行记录、发票记录)

EKKN:采购凭证中的帐户信息。

KONV:采购订单行条件

STXL:文本表

EKET:交货记录行(分批次交货的记录)

LFA1:供应商文本

EBKN:采购申请

CDHDR:更改凭证抬头

CDPOS:更改凭证项目(采购申请审批时会记录更改日期及时间)

T006A:单位描述

二、相关取数方法:

1、采购申请审批记录

     SELECT CDPOS~CHANGENR CDPOS~OBJECTID CDPOS~TABKEY
     INTO CORRESPONDING FIELDS OF TABLE  ITABNEW
      FROM CDPOS
      WHERE   CDPOS~OBJECTCLAS 'BANF'AND  CDPOS~FNAME 'FRGKZ' AND  CDPOS~CHNGIND 'U'
       AND  CDPOS~VALUE_NEW 'B' OR  CDPOS~VALUE_NEW '2'  AND CDPOS~OBJECTID in S_BANFN. "B和2代表一级审批或二级审批标识。

       SELECT   UDATE OBJECTID  CHANGENR   INTO CORRESPONDING FIELDS OF TABLE ITABNEW3
        FROM CDHDR
         FOR ALL ENTRIES IN  ITABNEW4
         WHERE CHANGENR ITABNEW4-CHANGENR AND OBJECTID ITABNEW4-OBJECTID AND UDATE >= S_FRGDT-low AND UDATE <= S_FRGDT-high .

2、取采购员中文名称

DATAL_DEPARTMENT  TYPE AD_DPRTMNT,
      L_ADDRNUMBER  TYPE AD_ADDRNUM,
      L_PERSNUMBER  TYPE AD_PERSNUM,
      L_UNAME       TYPE SY-UNAME,
      L_NAME_FIRST  TYPE AD_NAMEFIR,
      E_UNAME TYPE SY-UNAME,
      L_NAME_LAST   TYPE AD_NAMELAS.

  SELECT SINGLE PERSNUMBER ADDRNUMBER INTO
      (L_PERSNUMBERL_ADDRNUMBER)
   FROM USR21
   WHERE BNAME ALV_REQPOTAB1-ernam.
   IF SY-SUBRC 0.
       SELECT SINGLE NAME_FIRST NAME_LAST INTO (L_NAME_FIRST,L_NAME_LAST)
       FROM ADRP
         WHERE PERSNUMBER L_PERSNUMBER.
      IF SY-SUBRC 0.
         CONCATENATE L_NAME_LAST  L_NAME_FIRST INTO E_UNAME.
         CONDENSE E_UNAME NO-GAPS.
         ALV_REQPOTAB1-USERNAME E_UNAME.
     ENDIF.
   ENDIF.

3.采购订单行项目备注:

      CONCATENATE itab_struct1-EBELN itab_struct1-EBELP INTO EBELNKP.
      SELECT FROM STXL
      INTO CORRESPONDING FIELDS OF TABLE ITB_S18
      WHERE TDOBJECT 'EKPO'
        AND   TDNAME EBELNKP.

      CLEAR TEXT1.
      LOOP AT ITB_S18.
          CLEAR TEXT1.

     CALL FUNCTION 'READ_TEXT'
      EXPORTING
       CLIENT                        SY-MANDT
      ID                            = ‘F01’
       LANGUAGE                      SY-LANGU
       NAME                          FNAME
       OBJECT                        = 'EKPO'
*     ARCHIVE_HANDLE                = 0
*     LOCAL_CAT                     = ' '
*   IMPORTING
*     HEADER                        =
     TABLES
       LINES                         FLINES
    EXCEPTIONS
      ID                            1
      LANGUAGE                      2
      NAME                          3
      NOT_FOUND                     4
      OBJECT                        5
      REFERENCE_CHECK               6
      WRONG_ACCESS_TO_ARCHIVE       7
      OTHERS                        8
            .
    IF SY-SUBRC <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
        LOOP AT FLINES.
         CONCATENATE TEXT1 FLINES-TDLINE INTO TEXT1 .
           ENDLOOP.

      ENDLOOP.
*      MESSAGE TEXT1 TYPE 'I'.
      itab_struct1-itemtext TEXT1.

4.供应商编码消除前置零

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  ALV_TAB-lifnr
      IMPORTING
        OUTPUT ALV_TAB-lifnr.

 

原创粉丝点击