2009年3月14日 星期六

AutoMail

呼叫這個 SO_NEW_DOCUMENT_SEND_API1 來達成寄送 Excel
在處理的過程依設定的不同,要注意Unicode的名稱與抬頭

有了可寄送檔案的方法後
還需要有一個接寄送給誰的準則
可由 SO_DLI_LIST_READ_XDL 來取得設定好的Mail Group
接著由 SO_DLI_READ 處理傳送Maril Gropu中的Email Account的方法...
並設定寄送Mail的主旨

2009年3月6日 星期五

BOM T-Code、Table、Function

T-Code: CS03
Table: MAST、STKO、STPO
Function:

展開與特性相關的特定款號的BOMCS_BOM_EXPL_ KND_V1
只展開BOM的涵數CS_BOM_EXPL_MAT_V2
反查BOMCS_WHERE_USED_MAT

2009年1月27日 星期二

查星期幾

在某些情況下USER希望系統直接帶出某一天是星期幾?
這是自已編寫運算有28 29 30 31的天數月份不易計算
此時可以呼叫一個Function來達成

CALL FUNCTION 'DAY_IN_WEEK'
  EXPORTING
    datum = sy-datum
IMPORTING
   WOTNR = c.

2009年1月26日 星期一

金額外顯

在SAP的金額與幣別有不同於一般的儲存方式
在不同的幣別時會有不同的轉換率
這時在SD或是FI的部份常常會用的到金額欄位就必須轉換
可用一個Call Function來達成單位的轉換

*&---------------------------------------------------------------------*
*&   Form  GET_CURRENCY
*&---------------------------------------------------------------------*
FORM GET_CURRENCY  USING    P_WAERS
   CHANGING P_FACTOR.
  CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
    EXPORTING
  CURRENCY   = P_WAERS
    IMPORTING
  FACTOR     = P_FACTOR
    EXCEPTIONS
  TOO_MANY_DECIMALS = 1
  OTHERS     = 2.
ENDFORM.     " GET_CURRENCY

2009年1月24日 星期六

庫存By Batch轉換數量與價格


     CALL FUNCTION 'MURC_ALL_BATCH_FACTORS_NEW'
       EXPORTING
         if_matnr                  = mkopf-matnr
         IF_KZDCH                  = chargen_ebene
         IF_MEINS                  = mkopf-basme
         if_meinh                  = if_meinh1
       tables
         it_sel_charg              = ms_charg_bestand[]
         it_sel_werks              = ms_werks_bestand[]
         it_mcha_objek             = gt_mcha_objek
         it_mch1_objek             = gt_mch1_objek
         it_objek                  = gt_objek
         et_conv_tab               = lt_conv_tab
       EXCEPTIONS
         NOT_FOUND                 = 1
         NO_BATCH_CONVERSION       = 2
         OTHERS                    = 3.

2008年12月27日 星期六

SE11 Dictionary

1.T-CODESE11
2.可建立 資料庫表格 資料類型 範圍 搜尋輔助說明 加鎖物件
3.建立結構 在資料類型 輸入結構名稱後 選建立
4.建立結構或資料庫表格時 自設非標準欄位元件以Z開頭為主
5.自設元件無參考元件類型 選擇 固定類型 維護字典類型與長度
6.輸入短文 說明該元件的意義
7.在幣別CURR或是數量QUAN必需有參考單位(例如TWKG)
8.如該欄位在選擇畫面有下拉式選單功能 則要建立搜尋輔助說明

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