SAP采购订单数据与MES接口下载文件

    技术2022-05-20  73

    ******************************************************************  System      :  TDG  ERP项目  

    *  Module      :  MM  *  Program ID  :  ZFO_DATA_DOWNLOAD*  Program     : SAP采购订单数据与MES接口下载文件    ZFO_DATA 表。*  Author      : (TDG) Kean.liu*  Date        :   2011/02/17*  Description :  SAP采购订单数据与MES接口下载文件  tcode:ZFODD******************************************************************  Modified Recorder :*  Date                   C#NO                      Author                                              Content*  -----------            -------               ------------------                                ----------------------*  2011/02/17                                    (TDG) Kean.liu                                      Create************************************************************************

    REPORT  zfo_data_download.

    TABLES: mara,ekko,ekpo,mseg,mkpf,lfa1,ZFO_DATA,CDHDR.TYPE-POOLS: slis.

    *----------------------------------------------------------------------**       Define TYPES*----------------------------------------------------------------------*TYPES:BEGIN OF typ_ekko,           LOEKZ  TYPE  ekpo-LOEKZ, " 标记            matnr TYPE ekpo-matnr,  "  部件编号           BISMT   TYPE  mara-BMATN,  "old number           ebeln  TYPE  ekko-ebeln  ,"  采购订单号           BEDAT  TYPE  ekko-BEDAT  ,"  订单签发日期           lifnr  TYPE  ekko-lifnr  ,"  供应商代码           waers  TYPE  ekko-waers  ,"  结算币种           EKGRP  TYPE  ekko-EKGRP  ,"  采购人           ebelp  TYPE  ekpo-ebelp  ,"  订单行号           ematn  TYPE  ekpo-ematn  ,"  部件编号           menge  TYPE  ekpo-menge  ,"  订货数量           meins  TYPE  ekpo-meins  ,"  计量单位           netpr  TYPE  ekpo-netpr  ,"  采购成本单价            name1 TYPE  lfa1-name1, " supply name          END OF typ_ekko.

    DATA:BEGIN OF t_title OCCURS 0 ,          title(20) TYPE c,         END OF t_title.

    TYPES: BEGIN OF typ_mara,              matnr TYPE  mara-matnr,  "  部件编号

                  wrkst TYPE  mara-wrkst  ,"  客户部件编号              mfrpn TYPE  mara-mfrpn  ,"  制造商物料代码              BISMT TYPE  mara-BISMT,  "部件内部编码              MFRNR TYPE  mara-MFRNR,  "制造商代码              NAME1 TYPE  LFA1-NAME1, "manufactrul name              LAND1 TYPE  lfa1-LAND1, "Contry            END OF typ_mara.

    TYPES: BEGIN OF typ_mseg,              ebeln TYPE mseg-ebeln ,  " 采购订单号              ebelp TYPE mseg-ebelp ,  " 订单行号              mblnr TYPE mseg-mblnr,  "物料凭证编号              zeile TYPE mseg-zeile,              mjahr TYPE mseg-mjahr,              bwart TYPE mseg-bwart,              menge TYPE mseg-menge ,"  已收数量           END OF typ_mseg.

    TYPES:begin of typ_CDHDR,  OBJECTID  TYPE ekko-ebeln,"OBJECT VALUES  end of typ_CDHDR.

    TYPES:begin of typ_DRUNR,  DRUNR(4)  TYPE C, "OBJECT VALUES  end of typ_DRUNR.

    TYPES: BEGIN OF typ_DATA,  MANDT TYPE ZFO_DATA-MANDT,  EBELN  TYPE ZFO_DATA-EBELN,   "purchasing id  EBELP  TYPE ZFO_DATA-EBELP,   "purchasing number  LOEKZ  TYPE ZFO_DATA-LOEKZ,   "flag  AEDAT  TYPE ZFO_DATA-AEDAT,    "date  CPUTM  TYPE ZFO_DATA-CPUTM,   " time  DRUNR  TYPE ZFO_DATA-DRUNR,   " timesEND OF typ_DATA.

    TYPES: BEGIN OF typ_display,

             LOEKZ  TYPE  ekpo-LOEKZ, " 标记         ebeln  TYPE  ekko-ebeln, " 采购订单号         ebelp  TYPE  ekpo-ebelp, " 订单行号         BEDAT  TYPE  ekko-BEDAT, " 订单签发日期         matnr  TYPE  mara-matnr, " SAP 部件编号         BISMT  TYPE  mara-BISMT, " old number*         wrkst  TYPE  mara-wrkst, " 客户部件编号         mfrpn  TYPE  mara-mfrpn, " 制造商部件编号         lifnr  TYPE  ekko-lifnr, " 供应商代码         mfrnr  TYPE  mara-mfrnr, " 制造商代码         LAND1  TYPE  lfa1-LAND1, " 原产国代码         menge(13)  TYPE  C, " 订货数量         menge02(13) TYPE  C, " 已收数量         street(20)  TYPE   c,      "  送货地点         meins  TYPE  ekpo-meins, " 计量单位         waers  TYPE  ekko-waers, " 结算币种         netpr(11)  TYPE  C, " 采购成本单价         eindt  TYPE  eket-eindt, " 计划供货日期         EKGRP  TYPE  ekko-EKGRP, " 采购人         name1  TYPE  lfa1-name1, " supply name         name2  TYPE  lfa1-name1, " 制造商名称        END OF typ_display.

    *----------------------------------------------------------------------** Define GLOBAL DATA*----------------------------------------------------------------------*DATA: gth_ekko TYPE typ_ekko,          gtd_ekko TYPE TABLE OF typ_ekko,          gtd_ekko_CDHDR TYPE TABLE OF typ_ekko,           gtd_ekko_CF TYPE typ_ekko,          gtd_CDHDR TYPE TABLE OF typ_CDHDR,          gtd_CDHDR_DRUNR  TYPE TABLE OF typ_DRUNR,           gth_CDHDR_DRUNR  TYPE  typ_DRUNR,          gth_mara TYPE typ_mara,          gtd_mara TYPE TABLE OF typ_mara,          gth_mseg TYPE typ_mseg,          gtd_mseg TYPE TABLE OF typ_mseg,          gth_data type typ_data.

    data:C_DRUNR(2) type C.

    DATA: gtd_display TYPE TABLE OF typ_display,          gth_display TYPE typ_display.

    DATA: gtd_fieldcat TYPE slis_t_fieldcat_alv,          gth_fieldcat TYPE slis_fieldcat_alv.

    DATA: gth_layout TYPE slis_layout_alv.DATA: dname TYPE string.*----------------------------------------------------------------------**       SCREEN DEFINE*----------------------------------------------------------------------**PARAMETERS: p_ebeln  LIKE ekko-ebeln ,    "采购订单号*            p_aedat LIKE ekko-aedat.      "订单签发日期,SELECTION-SCREEN BEGIN OF BLOCK conn WITH FRAME TITLE text-001.SELECT-OPTIONS:  s_ebeln  FOR ekko-ebeln  ,      "采购订单号                 s_aedat FOR ekko-aedat  NO INTERVALS OBLIGATORY ,      "订单签发日期,                 s_times  FOR ZFO_DATA-CPUTM.      "时间区域SELECTION-SCREEN END OF BLOCK conn.

    SELECTION-SCREEN BEGIN OF BLOCK conn2 WITH FRAME TITLE text-002.

    PARAMETERS : p1 RADIOBUTTON GROUP rg,             p2 RADIOBUTTON GROUP rg,             p3 RADIOBUTTON GROUP rg.SELECTION-SCREEN END OF BLOCK conn2.

    SELECTION-SCREEN SKIP 1.PARAMETERS : remotenm LIKE rlgrap-filename  OBLIGATORY,"服务器地址             localnm  LIKE rlgrap-filename  OBLIGATORY. "本地地址

    *----------------------------------------------------------------------**       AT SELECTION-SCREEN*----------------------------------------------------------------------*

    INITIALIZATION.  remotenm = '/usr/sap/tmp/export-data/'.  localnm  = 'D:/SAPDOWN/'.  p3 = 'X'.

    *----------------------------------------------------------------------**       START-OF-SELECTION*----------------------------------------------------------------------*START-OF-SELECTION.  PERFORM check_authority.  PERFORM sub_get_data.  PERFORM download_data.

    FORM check_authority.

    ***查找当日的最大次数      select DRUNR      INTO CORRESPONDING FIELDS OF TABLE gtd_CDHDR_DRUNR      from  ZFO_DATA      where AEDAT = SY-DATUM and LOEKZ = 'R' .     sort gtd_CDHDR_DRUNR by DRUNR descending.

      READ TABLE gtd_CDHDR_DRUNR  index 1  INTO  gth_CDHDR_DRUNR.

       IF sy-subrc = 0.       C_DRUNR =  gth_CDHDR_DRUNR-DRUNR + 1 .  else .          C_DRUNR = 1.  ENDIF.*append 0 before object   call function 'CONVERSION_EXIT_ALPHA_INPUT'        exporting          input  =  C_DRUNR        importing          output =  C_DRUNR.

     IF p1 = 'X'."如果是下载到服务器,取数前进行服务器地址的合法性检查*    IF s_cpudt-high = '00000000'.      CONCATENATE remotenm 'CPO_CCCCC_' sy-DATUM  C_DRUNR '.txt' INTO dname.

       OPEN DATASET dname FOR OUTPUT IN BINARY MODE.    IF sy-subrc <> 0.     MESSAGE '服务器地址非法' TYPE 'E'.    ELSE.      CLOSE DATASET dname.   ENDIF.ENDIF.

    IF p2 = 'X'."如果是下载到本机*    IF s_cpudt-high = '00000000'.      CONCATENATE localnm 'CPO_CCCCC_' sy-DATUM   C_DRUNR '.txt' INTO dname.

    ENDIF.

    ENDFORM.                    "CHECK_authority

    FORM  SUB_IN_DATA_LOG.  "INSERT INTO  TABLE ZFO_DATA.  insert log

         gth_data-MANDT = SY-MANDT.     gth_data-EBELN = SY-UNAME.   "USER name     gth_data-EBELP =  C_DRUNR.   "Run times

         gth_data-AEDAT =  SY-DATUM.   "date     gth_data-CPUTM =  SY-UZEIT.    "time     gth_data-DRUNR = C_DRUNR.    "Run times   INSERT  ZFO_DATA from gth_data.   IF sy-subrc <> 0.          update ZFO_DATA from gth_data. "数据存在,标志为删除的记录。

      ENDIF.    clear  gth_data.  ENDFORM.

    FORM download_data.

    IF p1 = 'X'."如果是下载到服务器,  gth_data-LOEKZ =  'R'.   "flag of run times  PERFORM SUB_IN_DATA_LOG.  DATA NUM  TYPE string.    OPEN DATASET dname FOR OUTPUT IN TEXT MODE encoding DEFAULT.    LOOP AT gtd_display INTO  gth_display .       CONCATENATE gth_display-LOEKZ           gth_display-ebeln           gth_display-ebelp           gth_display-BEDAT           gth_display-matnr          " SAP 部件编号           gth_display-BISMT        " old number*         gth_display-wrkst          " 客户部件编号           gth_display-mfrpn          " 制造商部件编号         gth_display-lifnr           " 供应商代码         gth_display-mfrnr         " 制造商代码         gth_display-LAND1          " 原产国代码         gth_display-menge             " 订货数量         gth_display-menge02  " 已收数量         gth_display-street        "  送货地点         gth_display-meins        " 计量单位        gth_display-waers     " 结算币种        gth_display-netpr            " 采购成本单价        gth_display-eindt       " 计划供货日期        gth_display-EKGRP           " 采购人         gth_display-name1          " supply name         gth_display-name2      " 制造商名称       INTO NUM  SEPARATED BY '|' RESPECTING BLANKS.     CONCATENATE  NUM '|' INTO NUM  .       TRANSFER NUM TO dname.        ENDLOOP.  CLOSE DATASET dname. "close fileendif.

     

    IF p2 = 'X'.   "如果是下载到本地,  gth_data-LOEKZ =  'T'.   "flag of run times  PERFORM SUB_IN_DATA_LOG.TYPES:begin of typ_NUM,   NUM  TYPE string, "OBJECT VALUESend of typ_NUM.DATA: gth_NUM TYPE typ_NUM, gtd_NUM  TYPE TABLE OF  typ_NUM.   LOOP AT gtd_display INTO  gth_display .       CONCATENATE gth_display-LOEKZ           gth_display-ebeln           gth_display-ebelp           gth_display-BEDAT         gth_display-matnr          " SAP 部件编号         gth_display-BISMT        " old number*         gth_display-wrkst          " 客户部件编号         gth_display-mfrpn          " 制造商部件编号         gth_display-lifnr           " 供应商代码         gth_display-mfrnr         " 制造商代码         gth_display-LAND1          " 原产国代码         gth_display-menge             " 订货数量         gth_display-menge02  " 已收数量         gth_display-street        "  送货地点         gth_display-meins        " 计量单位        gth_display-waers     " 结算币种        gth_display-netpr            " 采购成本单价        gth_display-eindt       " 计划供货日期        gth_display-EKGRP           " 采购Group         gth_display-name1          " supply name         gth_display-name2      " 制造商名称       INTO gth_NUM-NUM  SEPARATED BY '|' RESPECTING BLANKS.     CONCATENATE  gth_NUM-NUM '|' INTO gth_NUM-NUM .    APPEND gth_NUM TO gtd_NUM.  endloop.

       CALL FUNCTION 'GUI_DOWNLOAD'    EXPORTING      FILENAME         = dname "file name    TABLES      DATA_TAB         = gtd_NUM   "inner table    EXCEPTIONS      FILE_WRITE_ERROR = 1      FILE_NOT_FOUND   = 2.endif.

    IF p3 = 'X'.    PERFORM sub_display.ENDIF.

     

    ENDFORM.                    "download_data

    *&---------------------------------------------------------------------**&      FORM SUB_GET_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*

    FORM sub_get_data.

    *** 查找修改的凭证号  select        CDHDR~OBJECTID    FROM  CDHDR  JOIN ekko ON  CDHDR~OBJECTID = ekko~ebeln    INTO  table  gtd_CDHDR    where UDATE in  s_aedat

         and UTIME in s_times    and CHANGE_IND = 'U'.*** 查找修改采购的凭证号

     

    *** 查找数量变更的凭证号 MKPF-BUDAT    MKPF- MBLNR   MSEG-MBLNR       mseg~ebeln  EBELPIF gtd_ekko_CDHDR  IS   INITIAL .  select        MSEG~ebeln    FROM   MKPF   JOIN    MSEG  ON  MKPF~MBLNR = MSEG~MBLNR    into  table  gtd_CDHDR    where MKPF~BUDAT  in  s_aedat.else.   select        MSEG~ebeln    FROM   MKPF   JOIN    MSEG ON  MKPF~MBLNR = MSEG~MBLNR    APPENDING  table  gtd_CDHDR    where MKPF~BUDAT in  s_aedat.

     endif.

    IF gtd_CDHDR  IS  not INITIAL .

         SELECT      ekko~ebeln  "  采购订单号      ekko~BEDAT  "  订单签发日期      ekko~lifnr  "  供应商代码      ekko~waers  "  结算币种      ekko~EKGRP  "  采购人      ekpo~ebelp  "  订单行号      ekpo~matnr  "  部件编号      ekpo~ematn   "  下单号      ekpo~menge  "  订货数量      ekpo~meins  "  计量单位      ekpo~netpr  "  采购成本单价   lfa1-name1      lfa1~name1   "supply name      ekpo~LOEKZ   "flag      mara~BISMT    FROM  ekpo JOIN ekko ON ekko~ebeln = ekpo~ebeln   JOIN lfa1 ON ekko~lifnr = lfa1~lifnr  left join mara on ekpo~matnr = mara~matnr    INTO CORRESPONDING FIELDS OF TABLE gtd_ekko_CDHDR        FOR ALL ENTRIES IN gtd_CDHDR    WHERE       ekpo~ebeln = gtd_CDHDR-OBJECTID   "  采购订单号       and BSART  in ('ZNB1','ZNB2','ZNB6','ZNB7','ZNB8','ZNB9')  "凭证类型

           and EKORG = '2110'.   "采购组织endif.

     

    ***  根据选择界面筛选采购凭证信息  SELECT      ekko~ebeln  "  采购订单号      ekko~BEDAT  "  订单签发日期      ekko~lifnr  "  供应商代码      ekko~waers  "  结算币种      ekko~EKGRP  "  采购人      ekpo~ebelp  "  订单行号      ekpo~matnr  "  部件编号      ekpo~ematn   "  下单号      ekpo~menge  "  订货数量      ekpo~meins  "  计量单位      ekpo~netpr  "  采购成本单价   lfa1-name1      lfa1~name1   "supply name      ekpo~LOEKZ   "flag      mara~BISMT    FROM  ekpo JOIN ekko ON ekko~ebeln = ekpo~ebeln   JOIN lfa1 ON ekko~lifnr = lfa1~lifnr  left join mara on ekpo~matnr = mara~matnr    INTO CORRESPONDING FIELDS OF TABLE gtd_ekko    WHERE       ekko~ebeln IN s_ebeln "  采购订单号           AND  ekko~BEDAT  IN  s_aedat    and  BSART  in ('ZNB1','ZNB2','ZNB6','ZNB7','ZNB8','ZNB9')    and EKORG = '2110' . "  订单签发日期

           gth_ekko-LOEKZ = 'D'.    "更改 flag :D。       MODIFY gtd_ekko FROM gth_ekko       TRANSPORTING LOEKZ WHERE LOEKZ = 'L'.

    IF gtd_ekko_CDHDR IS INITIAL  and  gtd_ekko IS INITIAL.    MESSAGE 'There is no data found! Pls check your selection screen.' TYPE 'I'.    STOP.  ENDIF.

     LOOP AT gtd_ekko_CDHDR INTO gth_ekko.   if gth_ekko-LOEKZ = 'L'.    gth_ekko-LOEKZ = 'D'.     ELSE  .        gth_ekko-LOEKZ = 'U'.    endif.

    ***删除经过修改,新生成的重复采购单     READ TABLE gtd_ekko INTO gtd_ekko_CF  WITH KEY ebeln = gth_ekko-ebeln  ebelp = gth_ekko-ebelp.    IF sy-subrc = 0.*      DELETE gtd_ekko FROM 3 TO 38 WHERE COL2 > 20.      DELETE gtd_ekko  WHERE ebeln = gth_ekko-ebeln and  ebelp = gth_ekko-ebelp.    ENDIF.    APPEND gth_ekko TO gtd_ekko.endloop.

     

    *** 部件号  客户部件编号 制造商部件代码    原产国代码   old code  制造商代码     NAME1 TYPE  LFA1-NAME1, "manufactrul name     LAND1 TYPE  lfa1-LAND1, "Contry

    *  SELECT matnr mfrnr mfrpn  SELECT  MARA~MATNR   mara~wrkst   mara~mfrpn      mara~BISMT  mara~MFRNR   LFA1~NAME1  LFA1~LAND1      INTO CORRESPONDING FIELDS OF TABLE gtd_mara      FROM  MARA   left JOIN LFA1 ON MARA~MFRNR = LFA1~LIFNR      FOR ALL ENTRIES IN gtd_ekko      WHERE MARA~MATNR = gtd_ekko-ematn.

    ***  101 入库物料凭证信息  SELECT mseg~ebeln              mseg~ebelp              mseg~mblnr              mseg~zeile              mseg~mjahr              mseg~bwart              mseg~menge    FROM mseg    INTO CORRESPONDING FIELDS OF TABLE gtd_mseg    FOR ALL ENTRIES IN gtd_ekko     WHERE mseg~ebeln = gtd_ekko-ebeln          AND mseg~ebelp = gtd_ekko-ebelp          AND bwart = '101'.  PERFORM sub_process.

    ENDFORM.     "SUB_GET_DATA

    FORM sub_InData.

    ENDFORM.

    *&---------------------------------------------------------------------**&      FORM SUB_PROCESS.*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*

    FORM sub_process.  DATA: lwk_date1 TYPE d,            lwk_date2 TYPE d.  DATA: lwk_qty LIKE mseg-menge.

      LOOP AT gtd_ekko INTO gth_ekko.    if gth_ekko-LOEKZ = ''.       gth_ekko-LOEKZ = 'A'.  "flag new 。    endif.

    ** insert  into table     gth_data-MANDT = SY-MANDT.     gth_data-EBELN =  gth_ekko-EBELN.     gth_data-EBELP =  gth_ekko-EBELP.     gth_data-LOEKZ =  gth_ekko-LOEKZ.     gth_data-AEDAT =  SY-DATUM.     gth_data-CPUTM =  SY-UZEIT.     gth_data-DRUNR = C_DRUNR.

    CLEAR gth_CDHDR_DRUNR.

        SELECT  DRUNR FROM  ZFO_DATA  INTO  gth_CDHDR_DRUNR WHERE   EBELN = gth_ekko-EBELN  AND  EBELP =  gth_ekko-EBELP  AND LOEKZ =  gth_ekko-LOEKZ .    ENDSELECT.    IF sy-subrc = 0.  "have one more data

          if  gth_data-LOEKZ = 'U' .  "OR gth_data-LOEKZ = 'D'           if P1 = 'X'.          update ZFO_DATA from gth_data. "删除,更改的,确实要下载到服务器的,更改数据记录。           endif.          else.            gth_ekko-LOEKZ = 'C'.     "数据存在,标志为C      endif.

        ENDIF.

        IF    P1 = 'X'.    INSERT  ZFO_DATA from gth_data.  "can insert if something is new    ENDIF.

    *    IF sy-subrc <> 0.**      ENDIF.

        MOVE-CORRESPONDING gth_ekko TO gth_display.***  部件号  制造商部件编号   制造商名称  旧物料号 制造商代码  原产国代码

        READ TABLE gtd_mara INTO gth_mara WITH KEY matnr = gth_ekko-ematn.    IF sy-subrc = 0.*      gth_display-wrkst  = gth_mara-wrkst.     gth_display-mfrpn = gth_mara-mfrpn.      gth_display-name2 = gth_mara-name1.

          gth_display-MFRNR = gth_mara-MFRNR.   "Manufacturer code      gth_display-LAND1 = gth_mara-LAND1.   "country

        ENDIF.

    ***统计已入库数量    LOOP AT gtd_mseg INTO gth_mseg  WHERE ebeln = gth_ekko-ebeln AND ebelp = gth_ekko-ebelp .      SELECT SINGLE * FROM mseg WHERE smbln = gth_mseg-mblnr AND sjahr = gth_mseg-mjahr AND smblp = gth_mseg-zeile AND bwart = '102'.      IF sy-subrc <> 0.        lwk_qty = lwk_qty + gth_mseg-menge.      ENDIF.    ENDLOOP.    gth_display-menge02 = lwk_qty .    CLEAR: lwk_qty.***   未交货数量*    gth_display-menge03 = gth_display-menge - gth_display-menge02 .***    确认交货时间    SELECT SINGLE eindt INTO gth_display-eindt      FROM eket       WHERE ebeln = gth_ekko-ebeln AND ebelp = gth_ekko-ebelp.    gth_display-street = '浙江省嘉兴市亚太路1号'.

        APPEND gth_display TO gtd_display.

      ENDLOOP.

    ENDFORM.                            "SUB_PROCESS.

    *&---------------------------------------------------------------------**&      FORM SUB_DISPLAY.*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**----------------------------------------------------------------------*.

    FORM sub_display.

    *** FIELD CATEGORY  PERFORM sub_fieldcat.*** LAYOUT SETTING  gth_layout-colwidth_optimize = 'X'.

    ***  CALL FUNCTION  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'  EXPORTING    i_callback_program       = 'ZFI021'    i_default                = 'X'    i_save                   = 'X'*      I_CALLBACK_PF_STATUS_SET = 'STATUS_SET'*    I_CALLBACK_USER_COMMAND  = 'SUB_USERCOMMAND'    it_fieldcat              = gtd_fieldcat    is_layout                = gth_layout  TABLES    t_outtab                 = gtd_display  EXCEPTIONS    program_error            = 1    other                    = 2.

    ENDFORM.                    "SUB_DISPLAY

    *&---------------------------------------------------------------------**&      FORM SUB_FIELDCAT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*

    FORM sub_fieldcat.

    gth_fieldcat-fieldname = 'LOEKZ' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '标志'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'EBELN' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '采购订单号'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

     

      gth_fieldcat-fieldname = 'EBELP' .  gth_fieldcat-tabname = 'GTD_DISPLAY'.  gth_fieldcat-seltext_m = '订单行号'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'BEDAT' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '订单签发日期'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'MATNR' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '部件编号'.  gth_fieldcat-ref_fieldname = 'MATNR'.  gth_fieldcat-ref_tabname = 'MARA'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'BISMT' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '客户部件编号'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

     

      gth_fieldcat-fieldname = 'MFRPN'.  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '制造商部件编号'.  gth_fieldcat-ref_fieldname = 'IDNLF'. gth_fieldcat-ref_tabname = 'MARA'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

     

      gth_fieldcat-fieldname = 'LIFNR' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '供应商代码'.  GTH_FIELDCAT-REF_FIELDNAME = 'LIFNR'.   GTH_FIELDCAT-REF_TABNAME = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'EINDT' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '计划供货日期'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'WAERS' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '结算币种'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'EKGRP' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '采购组'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'MENGE' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '订货数量'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'MEINS' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '计量单位'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'NETPR' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '采购成本单价'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'NAME1' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '供应商名称'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

       gth_fieldcat-fieldname = 'MFRNR' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '制造商代码'.  gth_fieldcat-ref_fieldname = 'MFRNR'.  gth_fieldcat-ref_tabname = 'MARA'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'NAME2' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '制造商名称'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'LAND1' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '原产国代码'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

      gth_fieldcat-fieldname = 'MENGE02' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '已收数量'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

     gth_fieldcat-fieldname = 'STREET' .  gth_fieldcat-tabname = 'GTD_DISPLAY' .  gth_fieldcat-seltext_m = '送货地点'.*  gth_fieldcat-ref_fieldname = 'EBELN'.*  gth_fieldcat-ref_tabname = 'EKKO'.  APPEND gth_fieldcat TO gtd_fieldcat.  CLEAR gth_fieldcat.

    ENDFORM .                                            "SUB_FIELDCAT


    最新回复(0)