首页 > 其他 > 详细

采购资讯记录报表

时间:2019-09-12 10:10:25      阅读:100      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

************************************************************************
* Program Name      :
* Descriptions      :
* T-Code            :
* Updates Tables    :
* Input  Parameters :
* Output Parameters :
* Return Codes      :
* Special Logic     :
* Includes          :
"表:TABLES:MSEG,LFA1,MARA,EKPO,EKKO,MARD,EKBE,EKET.
************************************************************************
* Modification Log
************************************************************************
*   Date   Ver. Programmer   Descriptions
* -------- ---- ------------ -------------------------------------------
* 201 1.0          Original Create
*
************************************************************************
REPORT ZMMR501 NO STANDARD PAGE HEADING
                 MESSAGE-ID 00 LINE-SIZE 177 LINE-COUNT 200.
***********************************************************************
* Tables Definitions
************************************************************************
*TABLES:.

TABLES: eina,eine,konp,a017,lfa1,makt,marc.
************************************************************************
* Data Definitions
************************************************************************
DATABEGIN OF alv_data occurs 0,
lifnr LIKE a017-lifnr,  "供應商帳戶號碼
name1 LIKE lfa1-name1," 供应商简称
matnr LIKE a017-matnr,  "物料號碼
maktx LIKE makt-maktx,"物料说明
ekorg LIKE eine-ekorg,  "採購組織
werks LIKE eine-werks,  "工廠
esokz LIKE a017-esokz,  "採購資訊記錄種類
datbi LIKE a017-datbi,  "條件記錄的有效期限
datab LIKE a017-datab,  "條件記錄的生效日期
kschl LIKE konp-kschl,  "條件類型
knumh LIKE konp-knumh,  "條件記錄號碼
kopos LIKE konp-kopos,  "條件的序號
kbetr LIKE konp-kbetr,  "條件金額或百分比
konwa LIKE konp-konwa,  "條件單位
kpein LIKE konp-kpein,  "條件定價單位
mwsk1 LIKE konp-mwsk1,  "進項稅/銷項稅碼
loevm_ko LIKE konp-loevm_ko"條件項目的刪除指示碼
infnr LIKE eina-infnr,  "採購資訊記錄的號碼
matkl LIKE eina-matkl,  "物料群組
loekz LIKE eina-loekz,  "完整采购资讯记录
loekz1 LIKE eine-loekz,  "完整采购资讯记录
erdat LIKE eina-erdat,  "記錄建立日期
ernam LIKE eina-ernam,  "物件建立者的姓名
mahn1 LIKE eina-mahn1,  "第一次催單天數
mahn2 LIKE eina-mahn2,  "第二次催單天數
mahn3 LIKE eina-mahn3,  "第三次催單天數
urzla LIKE eina-urzla,  "原產地證明的發貨國家
lmein LIKE eina-lmein,  "基礎計量單位
ekgrp LIKE eine-ekgrp,  "採購群組
waers LIKE eine-waers,  "幣別碼
minbm LIKE eine-minbm,  "最小採購單數量
norbm LIKE eine-norbm,  "標準採購單數量
aplfz LIKE eine-aplfz,  "計劃交貨時間
bstyp LIKE eine-bstyp,  "採購文件種類
ebeln LIKE eine-ebeln,  "採購文件號碼
ebelp LIKE eine-ebelp,  "採購文件的項目號碼
datlb LIKE eine-datlb,  "文件的日期
netpr LIKE eine-netpr,  "採購資訊記錄中的淨價
peinh LIKE eine-peinh,  "價格單位
bprme LIKE eine-bprme,  "採購單的計價單位
prdat LIKE eine-prdat,  "價格有效期限
mwskz LIKE eine-mwskz,  "進項稅/銷項稅碼
aut_source LIKE eine-aut_source,  "與自動採購相關
lvorm LIKE marc-lvorm,"为物料加注删除旗标
dismm LIKE marc-dismm,"MRP 类型
dispo LIKE marc-dispo,"MRP 控制员
plifz LIKE marc-plifz,"MRP 计划交货天数
beskz LIKE marc-beskz," 采购类型
sobsl LIKE marc-sobsl," 特殊采购类型
END OF alv_data.

DATA: gs_layout TYPE slis_layout_alv,
          gt_fieldcat TYPE slis_t_fieldcat_alv ,"with header line.
          wa_fieldcat TYPE slis_fieldcat_alv.
************************************************************************
* Includes Module
************************************************************************

************************************************************************
* Selection Screen
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-b01.
  PARAMETERS:p_ekorg LIKE eine-ekorg DEFAULT ‘2000‘ OBLIGATORY,"采购组织
                      p_werks LIKE eine-werks DEFAULT ‘2000‘ OBLIGATORY.

SELECT-OPTIONS: s_loev_k FOR konp-loevm_ko," 条件是否删除
                          s_loekz FOR eina-loekz,"完整采购资讯记录
                          s_loekz1 FOR eine-loekz," 采购组织上删除旗标
                          s_esokz FOR a017-esokz,"采购资讯记录种类
                          s_infnr FOR eina-infnr,
                          s_matnr FOR a017-matnr,
                          s_lifnr FOR a017-lifnr,
                          s_datbi FOR a017-datbi,
                          s_datab FOR a017-datab,
                          s_kschl FOR a017-kschl.

SELECTION-SCREEN END OF BLOCK b1.

************************************************************************
* Initialization
************************************************************************
INITIALIZATION.

************************************************************************
* At Selection Screen
************************************************************************
AT SELECTION-SCREEN.

************************************************************************
* At Selection Screen Output
************************************************************************
AT SELECTION-SCREEN OUTPUT.

************************************************************************
* Report Format
************************************************************************
TOP-OF-PAGE.

END-OF-PAGE.
************************************************************************
* Main Process
************************************************************************
START-OF-SELECTION.
     PERFORM get_data.
     PERFORM get_col.
     PERFORM alv_show.
END-OF-SELECTION.

*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM GET_DATA .
 DATA: l_index LIKE sy-tabix.

  gs_layout-colwidth_optimize ‘X‘.
  SELECT a017~lifnr,a017~matnr,eine~ekorg,
            lfa1~name1,a017~esokz,a017~datbi,
            a017~datab,konp~kschl,
            konp~knumh,konp~kopos,
            konp~kbetr,konp~konwa,
            konp~kpein,konp~mwsk1,
            konp~loevm_ko,
            eina~infnr,eina~matkl,eina~loekz,
            eina~urzla,eina~lmein,eina~mahn1,
            eina~mahn2,eina~mahn3,eina~ernam,
            eina~erdat,
            eine~ekgrp,eine~waers,eine~minbm,
            eine~aplfz,eine~bstyp,eine~ebeln,
            eine~ebelp,eine~datlb,eine~netpr,
            eine~peinh, eine~bprme,eine~prdat,
            eine~mwskz,eine~aut_source,
            eine~norbm,eine~werks,eine~loekz AS loekz1
   FROM a017
   LEFT JOIN konp ON konp~knumh EQ a017~knumh
   INNER JOIN eina ON eina~matnr EQ a017~matnr AND
                                  eina~lifnr EQ a017~lifnr
   INNER JOIN eine ON eine~infnr EQ eina~infnr AND
                                eine~erdat EQ eina~erdat AND
                                eine~ernam EQ eina~ernam AND
                                eine~ekorg EQ a017~ekorg  AND
                                eine~werks EQ a017~werks AND                                 eine
~ekorg EQ a017~ekorg    INNER 
JOIN lfa1 ON lfa1~lifnr EQ a017~lifnr    
INTO  CORRESPONDING FIELDS OF TABLE @alv_data    
WHERE a017~ekorg EQ @p_ekorg AND                a017
~werks EQ @p_werks AND                a017
~lifnr IN @s_lifnr AND                a017
~matnr IN @s_matnr AND                a017
~esokz IN @s_esokz AND                a017
~datbi IN @s_datbi AND                a017
~datab IN @s_datab AND                konp
~kschl IN @s_kschl AND                konp
~loevm_ko IN @s_loev_k AND                eina
~infnr IN @s_infnr AND                eina
~matnr IN @s_matnr AND                eina
~loekz IN @s_loekz AND                eina
~loekz IN @s_loekz AND                eine
~loekz IN @s_loekz1 AND                eine
~esokz IN @s_esokz .
*               makt~spras = @sy-langu.     

LOOP AT alv_data.         l_index 
= sy-tabix.         

SELECT SINGLE lvorm,dismm,dispo,plifz,beskz,sobsl           
FROM marc           
INTO (@alv_data-lvorm,@alv_data-dismm,@alv_data-dispo,                     @alv_data
-plifz,@alv_data-beskz,@alv_data-sobsl)           
WHERE matnr EQ @alv_data-matnr AND                       werks 
EQ @p_werks.         

SELECT SINGLE maktx           
FROM makt INTO alv_data-maktx           
WHERE matnr EQ alv_data-matnr AND                      makt
~spras = sy-langu.          

IF alv_data-kschl EQ ‘ZZD1‘ OR alv_data-kschl EQ ‘ZZD2‘.            alv_data
-kbetr = alv_data-kbetr / 10.          
ENDIF.         

MODIFY alv_data INDEX l_index.     
ENDLOOP.
ENDFORM.

FORM GET_COL.       
DATA: L_REPID    TYPE SY-REPID,           L_INCLNAME 
TYPE TRDIR-NAME,           L_IDX      
LIKE SY-TABIX.     
CLEAR: GT_FIELDCAT[], WA_FIELDCAT.     L_REPID 

= L_INCLNAME = SY-CPROG.     

CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE‘       
EXPORTING         I_PROGRAM_NAME         
= L_REPID         I_INTERNAL_TABNAME     
‘ALV_DATA‘         I_INCLNAME             
= L_INCLNAME       
CHANGING         CT_FIELDCAT            
= GT_FIELDCAT       
EXCEPTIONS         INCONSISTENT_INTERFACE 
1         PROGRAM_ERROR          
2         
OTHERS                 3.    
LOOP AT gt_fieldcat INTO wa_fieldcat.       l_idx 
= sy-tabix.         
CASE wa_fieldcat-fieldname.           
WHEN ‘ESOKZ‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘资讯种类‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘LOEVM_KO‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘条件删除指示码‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘LOEKZ‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘完整采购资讯记录‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘LOEKZ1‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘采购组织是否删除‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘EKGRP‘.           
WHEN ‘ALIFZ‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘采购群组‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘LVORM‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘料号已删除‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘DISMM‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘MRP类型‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘PLIFZ‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘MRP计划交货天数‘.             wa_fieldcat
-ddictxt ‘S‘.           
WHEN ‘SOBSL‘.             wa_fieldcat
-seltext_s = wa_fieldcat-seltext_m =             wa_fieldcat
-seltext_l ‘特殊采购类型‘.             wa_fieldcat
-ddictxt ‘S‘.
*          WHEN ‘WRBTR1‘.
*            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
*            wa_fieldcat-seltext_l = ‘金额‘.
*            wa_fieldcat-ddictxt = ‘S‘.         
ENDCASE.
*      CLEAR wa_fieldcat-key.       
MODIFY gt_fieldcat FROM wa_fieldcat INDEX l_idx.     
ENDLOOP.
ENDFORM.   

FORM ALV_SHOW.       
DATA: LS_LAYOUT TYPE SLIS_LAYOUT_ALV.       
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY‘             
EXPORTING                 I_CALLBACK_PROGRAM 
= SY-REPID                 IS_LAYOUT                   
= GS_LAYOUT                 IT_FIELDCAT                  
= GT_FIELDCAT[]                  I_SAVE                         
‘A‘                
TABLES                    T_OUTTAB                   
= ALV_DATA                 
EXCEPTIONS                   PROGRAM_ERROR      
1                 
OTHERS                     2.
ENDFORM.

技术分享图片

 

 技术分享图片

 

采购资讯记录报表

原文:https://www.cnblogs.com/Brokenshelltao/p/11437898.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!