今天心情還是很壞,改了一個程式,就實在沒有心思再去處理别的事情了,還有好多報表沒有處理,FI和CO現在也要接手開始寫了。下午無聊的時候,寫了一個簡單的互動報表。
REPORT ZRL003.
TABLES: EKKO.
**---Initial table ekko
TYPES: BEGIN OF STR_EKKO,
EBELN LIKE EKKO-EBELN,
BUKRS LIKE EKKO-BUKRS,
EKGRP LIKE EKKO-EKGRP,
END OF STR_EKKO.
DATA: WA_EKKO TYPE STR_EKKO,
IT_EKKO TYPE TABLE OF STR_EKKO.
**---Initial table ekpo
TYPES: BEGIN OF STR_EKPO,
EBELN LIKE EKPO-EBELN,
NETPR LIKE EKPO-NETPR,
END OF STR_EKPO.
DATA: WA_EKPO TYPE STR_EKPO,
IT_EKPO TYPE TABLE OF STR_EKPO.
**---selection screen
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:P_BUKRS LIKE EKKO-BUKRS OBLIGATORY DEFAULT '1000'.
SELECT-OPTIONS: S_EKGRP FOR EKKO-EKGRP.
SELECTION-SCREEN END OF BLOCK B1.
**---Start-of-selection
PERFORM GET_DATA.
**---End-of-selection
PERFORM DISPLAY_HEADER.
PERFORM DISPLAY_DATA.
**---at line-selection
AT LINE-SELECTION.
CHECK NOT WA_EKKO-EBELN IS INITIAL.
PERFORM SELECT_DATA.
PERFORM GET_MYDATA.
*&---------------------------------------------------------------------*
*& Form get_data
* Get data from database
*----------------------------------------------------------------------*
FORM GET_DATA .
SELECT EBELN BUKRS EKGRP
INTO CORRESPONDING FIELDS OF TABLE IT_EKKO
FROM EKKO
WHERE BUKRS = P_BUKRS
AND EKGRP IN S_EKGRP.
ENDFORM. " get_data
*& Form display_data
* Display data
FORM DISPLAY_DATA .
LOOP AT IT_EKKO INTO WA_EKKO.
**滑鼠變成手型
FORMAT HOTSPOT ON.
**格式化字型
FORMAT COLOR COL_KEY INTENSIFIED ON.
WRITE: AT /5 WA_EKKO-EBELN.
FORMAT RESET.
WRITE: AT 16 WA_EKKO-BUKRS,
21 WA_EKKO-EKGRP.
**Hide資料
HIDE: WA_EKKO-EBELN.
ENDLOOP.
ENDFORM. " display_data
*& Form display_header
* Display header
FORM DISPLAY_HEADER .
WRITE: AT /5 '采購憑證号',
16 '工廠',
21 '采購組'.
ENDFORM. " display_header
*& Form select_data
* Select Data from database
FORM SELECT_DATA .
SELECT EBELN NETPR
INTO CORRESPONDING FIELDS OF TABLE IT_EKPO
FROM EKPO
WHERE EBELN = WA_EKKO-EBELN.
ENDFORM. " select_data
*& Form get_mydata
* Display ekpo data
FORM GET_MYDATA .
***---Write header
AT 16 '采購憑證中的淨價格'.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE: AT /5 WA_EKPO-EBELN.
WRITE: AT 16 WA_EKPO-NETPR.
ENDFORM. " get_mydata