2008年12月10日 星期三

文字至中

編寫一般的ABAP報表通常都會有表頭的產生
在計算時常會使用到一個系統參數「SY-LINSZ」
在希望文字至中時可以利用 ( 畫面寬度 - 文字長度 ) / 2 來達到至中的效果
以下範例為 FI 查看 製造工費成本比較表的表頭範例

*---------------------------------------------------------------------*
*    FORM TOP_OF_PAGE   *
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE.
  DATA: L_NUM TYPE SY-PAGNO.
  DATA: L_SIZE TYPE SY-LINSZ.    "畫面的寬度
  DATA: L_PAGE(3) TYPE N.
  L_SIZE = ( SY-LINSZ - 18 ) / 2.
  WRITE AT L_SIZE(18) '製造工費成本比較表'(H01) CENTERED.   "SY-TITLE
  L_SIZE =  SY-LINSZ - 8 .
  WRITE AT L_SIZE(4) 'Page'(H02).
  L_SIZE =  SY-LINSZ - 3.
  WRITE AT L_SIZE SY-PAGNO.
*  ULINE.
  L_SIZE = ( SY-LINSZ - 10 ) / 2.
  READ TABLE I_DES WITH KEY SETNAME = GT_RPT-KSGRU.
  CONCATENATE '年度:' G_YEAR INTO G_GJAHR.
  WRITE: / I_DES-DESCRIPT .
  WRITE AT L_SIZE(10) G_GJAHR CENTERED.    "SY-DATUM
*  ULINE.
ENDFORM.   "TOP_OF_PAGE

沒有留言:

張貼留言