2007-03-12

SAP:Range的應用

使用Range的好處,在於讓程式碼簡潔可以閱讀

這裡提供一段程式碼,請參考使用


*定義Range
*RANGE for AUFNR (紀錄工單號的集合)
DATA: rAUFNR LIKE RANGE OF GLPCA-AUFNR INITIAL SIZE 0 WITH HEADER LINE.

*新增一筆虛擬資料
MOVE: 'I' TO rAUFNR-SIGN,
'EQ' TO rAUFNR-OPTION,
'XXXX' TO rAUFNR-LOW.
APPEND rAUFNR.

*將工單號碼加入Range
*找到2007/1, 有原料耗用科目的工單, 加入Range
SELECT * FROM GLPCA WHERE RYEAR = '2007' AND
POPER = '1' AND
RACCT = '4101010100'.
"若沒有加入Range的, 才加入
IF GLPCA-AUFNR IN rAUFNR.
ELSE.
rAUFNR-SIGN = 'I'.
rAUFNR-OPTION = 'EQ'.
rAUFNR-LOW = GLPCA-AUFNR.
APPEND rAUFNR.
ENDIF.
ENDSELECT.

*使用Range
*訂單物料異動檔(AUFM), 找到剛剛篩選的工單
SELECT * FROM AUFM WHERE AUFNR in rAUFNR. "只要使用IN, 不需要寫一堆OR
IF AUFM-SHKZG = 'S'.
INV_PROFIT = INV_PROFIT + AUFM-DMBTR.
ELSE.
INV_PROFIT = INV_PROFIT - AUFM-DMBTR.
ENDIF.
ENDSELECT.

SAP:上傳檔案

既然可以由 SAP下載檔案,當然也有對應的檔案上傳的功能

當我們需要將一些參數由PC傳送至SAP主機時,這功能就很實用了


DATA: FNAME(128), FTYPE(3), FSIZE TYPE I.

*儲存資料
DATA: BEGIN OF i_Data OCCURS 10,
CATA(30) TYPE C,
HSL TYPE P,
END OF i_GLPCT.


*檔案上傳
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = 'C:\Upload\U_file.txt' "U_file.txt 要以Tab間隔
FILETYPE = 'DAT'
ITEM = '對照表檔案上傳'
IMPORTING
ACT_FILENAME = FNAME
ACT_FILETYPE = FTYPE
FILESIZE = FSIZE
TABLES
DATA_TAB = i_Data
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3.

SAP:下載檔案至PC端

當我們要將Internal table的資料 dump 至用戶的電腦上

我們可以下列寫法, 呼叫 Download..


DATA: FNAME(128), FTYPE(3), FSIZE TYPE I.

*欄位文字
data: begin of i_column occurs 0,
hd(50) type c,
end of i_column.

*儲存資料
DATA: BEGIN OF i_Data OCCURS 10,
CATA(30) TYPE C,
HSL TYPE P,
END OF i_GLPCT.


*欄位名稱輸入
move '類別' to i_column-hd. append i_column.
move '金額' to i_column-hd. append i_column.


*呼叫下載FUNCTUIN
CALL FUNCTION 'DOWNLOAD'
EXPORTING
FILENAME = 'C:\FileName.XLS'
FILETYPE = 'DAT'
ITEM = ' 下載 '
IMPORTING
ACT_FILENAME = FNAME
ACT_FILETYPE = FTYPE
FILESIZE = FSIZE
TABLES
DATA_TAB = i_Data
FIELDNAMES = i_column
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3.


補充一下, 如果將 IMPORTING段的程式碼刪除, 就不會再執行中, 一直詢問檔案名稱

如果一次會下載大量的檔案, 或者檔案名稱及位置都已經固定, 則這個關閉功能是很實用的

2007-03-09

剛出生的小螳螂 - lightbox test





lightbox參考來源:請點這裡(良人的大秘寶)

您好, 車子要換動力方向機了, 原廠新品只要30000塊

農曆年前去Toyota濱江廠保養Premio,業務回Call給我,說要換動力方向機

嗯,車子也才開六年、7萬多公里,平常也只有上下班,怎麼有漏油狀況,需要換新的?

真是嚇一跳…當下告訴業務只要換機油,可先不要讓我花這30000~

我心理在想,到底是真的要換,還是保養廠業務在唬爛賺我錢?

每次來保養,都要推銷東西。幾百幾千也還好,乖乖,上萬塊…

當天下午保養後,自我檢查動力方向機油是否不足?檢查看看… 唷,是到了Min水位。好吧,先到大賣場買罐〔STP 止漏型方向機油〕:D 才不到 200~

哈,省了不少….

我是沒有再去其他家保養廠或者找其他師傅朋友瞧瞧車子如何如何?

接下來,我就每天打開引擎蓋,檢查是否油量變少?然後再看看地上有沒有油漬?到今天也滿一個月了…

怪怪… 油量沒變少,地上也乾乾淨淨…

等下次保養再看業務說要換什麼?

我的心得是,保養廠的業務也太會A錢。怎不先建議客戶補充油料?

先幫客戶省錢,建立信賴,才會賺大錢!

2007-03-08

Excel範例

剛好同事要練習Excel vba

這Excel vba的好處, 就是你如果學會的話

若手邊有一堆資料要整理, 可以省你不少的時間

我這邊把一個之前做的練習檔案放上來, 有興趣的網友, 就請自行下載囉 :P

*本Excel檔案, 有三個按鈕巨集, 請點進去看看囉

檔案下載

好康:肯德基 新春大放送 (優惠券)

哇哈哈...

來下載列印吧 :) 點這裡 點這裡