<!doctype html>
<html>
<head>
<title>HTML5 TITLE</title>
<!--存的檔案記得也要放 utf-8 不然非英文字元顯示會異常-->
<mata charset="utf-8">
<link href="user.css" rel="stylesheet"></link>
<script src="user.js"></script>
</head>
<body>
<h1>Hellow World, HTML5!</h1>
</body>
</html>
2015年5月24日 星期日
HTML5 - HTML5 Simple template & Eclipse 開發環境
一、HTML5 Simple Template
2015年4月14日 星期二
MM - Difference amount when GR & GR return - stock value not enough
Mvt 122 發生退貨金額與 Mvt 101 不一致可能發生的原因很多,目前的 CASE 要說明的是當庫存 value 已不足時,系統產生金額差異的情況。
如下圖,GR 時 3000 PC,Local Amount 為 12000,但 GR Return 時 3000 PC,Local Amount 卻為 11286
如下圖,GR 時 3000 PC,Local Amount 為 12000,但 GR Return 時 3000 PC,Local Amount 卻為 11286
2015年4月4日 星期六
ABAP - CL_GUI_DOCKING_CONTAINER & CL_GUI_SPLITTER_CONTAINER
透過 CL_GUI_DOCKING_CONTAINER 建立一個可以放入各種物件的容器,但如果需要分割數個區塊供不同功能使用 (e.g. 左邊樹狀結構,右邊顯示資料),則需要再搭配 CL_GUI_SPLITTER_CONTAINER
主要宣告的物件如下,主要是透過 CL_GUI_DOCKING_CONTAINER 建立一個全螢幕的 CONTAINER,再透過 SPLITTER_1 把 CONTAINER 切成四個區塊,再透過 CL_GUI_CONTAINER 填入四個區塊中
"CONTAINER
DATA: G_CONTAINER1 type ref to CL_GUI_DOCKING_CONTAINER, "MAIN CONTAINER
G_CONTAINER2 type ref to CL_GUI_CONTAINER,
G_CONTAINER3 type ref to cl_gui_container,
G_CONTAINER4 type ref to cl_gui_container,
G_CONTAINER5 type ref to cl_gui_container.
DATA splitter_1 TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
2015年4月1日 星期三
ABAP How to trigger double click for multiple table control in one screen
ABAP How to trigger double click for multiple table control in one screen
針對此需求大概分為兩個目標
A) 如何做到 Double Click
B) 如何判斷目前 Table Control
針對此需求大概分為兩個目標
A) 如何做到 Double Click
針對要觸發 Double Click 的元件,設定 Pesponds to double-click
再 GUI Status 的 Choose 加入 Code
DATA: G_LINE TYPE I.
DATA: G_DBL_AREA(20) TYPE C.
"透過 Get Cursor 捉取目前滑鼠點擊的行數以及哪個 Area (點在哪個 Table Control 上)
GET CURSOR LINE G_LINE AREA G_DBL_AREA.
2015年3月26日 星期四
ABAP4: Add or subtract SAP Date Time
ABAP4: Add or subtract SAP Date Time By Timestamp
SAP 的日期與時間 SY-DATUM & SY-UZEIT 是分開,並不像 Oracle datetime 可以直接加減運算,因此可透過轉換成 Timestamp (UTC) 變成秒後,再針對要增加 or 減少的時間轉換成秒後進行運算,最後再把 Timestamp 轉為 Date Time
第一種方法:
透過 RKE_TIMESTAMP_CONVERT_INPUT 把時間轉換成 UTC Timestamp,再透過 RKE_TIMESTAMP_CONVERT_OUTPUT 轉回 DATE/TIME.
SAP 的日期與時間 SY-DATUM & SY-UZEIT 是分開,並不像 Oracle datetime 可以直接加減運算,因此可透過轉換成 Timestamp (UTC) 變成秒後,再針對要增加 or 減少的時間轉換成秒後進行運算,最後再把 Timestamp 轉為 Date Time
第一種方法:
透過 RKE_TIMESTAMP_CONVERT_INPUT 把時間轉換成 UTC Timestamp,再透過 RKE_TIMESTAMP_CONVERT_OUTPUT 轉回 DATE/TIME.
CALL FUNCTION 'RKE_TIMESTAMP_CONVERT_INPUT'
CALL FUNCTION 'RKE_TIMESTAMP_CONVERT_OUTPUT'
2015年3月24日 星期二
ABAP/4 : How to get file list from application server folder
有的時侯我們會提供將報表的資料透過 Open dataset 的方式寫入 Server 上的路徑,因此可能會需要列出某個目錄裡有哪些檔案提供 User 下載來使用,則可透過下面方式取得
主要的幾個功能
主要的幾個功能
開始對指定的目錄進行讀取
CALL 'C_DIR_READ_START'
依序捉取目前指定路徑的 Folder
CALL 'C_DIR_READ_NEXT'
結束前面 C_DIR_READ_START 功能,通常在程式一開始會先呼叫一次,避勉其他程式漏了呼叫 C_DIR_READ_FINISH 造成異常
CALL 'C_DIR_READ_FINISH'
2015年3月23日 星期一
ABAP/4 : How to get file list from local computer folder
How to get file list from local computer folder
目前可透過 FM TMP_GUI_DIRECTORY_LIST_FILES 捉取指定目錄下的 Folder List 與 File List,回傳的 Structure SDOKPATH 的 PATHNAME 為 CHAR(255) 因此可以
但回傳的 FILE_TABLE 與 DIR_TABLE 只有名稱,並沒有 File Size, Last Modify Date,因此要再透過 CL_GUI_FRONTEND_SERVICES=>DIRECTORY_LIST_FILES 捉取檔案的資料,只是此 Class Interface 並沒有回傳 Folder List,因此要與前面 FM 結合使用
目前可透過 FM TMP_GUI_DIRECTORY_LIST_FILES 捉取指定目錄下的 Folder List 與 File List,回傳的 Structure SDOKPATH 的 PATHNAME 為 CHAR(255) 因此可以
CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES'
但回傳的 FILE_TABLE 與 DIR_TABLE 只有名稱,並沒有 File Size, Last Modify Date,因此要再透過 CL_GUI_FRONTEND_SERVICES=>DIRECTORY_LIST_FILES 捉取檔案的資料,只是此 Class Interface 並沒有回傳 Folder List,因此要與前面 FM 結合使用
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_LIST_FILES
2014年8月4日 星期一
ABAP/4 : How to backup (or download) SAP Z report program?
參考 : http://scn.sap.com/thread/1258318
備份程式對程式設計師來說是一個相當重要的工作,雖然 SAP 本身已有 Version Management,但異地備份的工作仍不能省略,至少對自己重要的程式身邊留一份比較安全。
備份程式對程式設計師來說是一個相當重要的工作,雖然 SAP 本身已有 Version Management,但異地備份的工作仍不能省略,至少對自己重要的程式身邊留一份比較安全。
主要的語法 READ REPORT 'ZXXXXX' INTO [INTERNAL TABLE].
2014年7月30日 星期三
ABAP/4 : How to check program or background JOB name has already been executed
How to check program has already been executed
在有些情況下,Add-On 程式不能同時執行,這時則必需使用下面 Function 判斷程式是否已經有在執行,主要是透過產生 SM12 的 Lock Argument 的方式,確認目前執行時,沒有相同的 Lock Argument 存在
CALL FUNCTION 'ENQUEUE_ESINDX'
EXPORTING RELID = 'ZZ'
SRTFD = SY-CPROG
SRTF2 = 0
_SCOPE = '3'
EXCEPTIONS FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2.
參數說明 :
RELID = 'ZZ' "Hard code
SRTFD = SY-CPROG "Enqueue 的參數2 - 目前執行的程式名稱
SRTF2 = 0 "Enqueue 的參數2 - 依情況決定是否使用,例如 0 已被 Lock, 則加 1,最多只能到 5 (表示同時只能執行五次此程式)
_SCOPE = '3' "請參考 SAP _SCOPE
2014年2月26日 星期三
ABAP/4 : Using value-request popup screen to select Internal table or customize value by F4IF_INT_TABLE_VALUE_REQUEST
有的時侯,User 可能會需要使用特定的選單來進行選擇,在不建立 Search Help 的情況下,可以透過 Fuction Module : F4IF_INT_TABLE_VALUE_REQUEST 產生選擇的畫面。
如下圖,User 可自行定義 PARAMETERS,可選擇的畫面
如下圖,User 可自行定義 PARAMETERS,可選擇的畫面
訂閱:
文章 (Atom)
How to install & specified python version or distreibtuion package version in google colab
在買了 RTX 3080 要來 挖礦... 嗯~是跑機器學習後,結果發現了 GOOGLE COLAB,其實之前在「GAN 對抗式生成網路」一書就有看到,但資訊人就是什麼都想自己安裝,在本機用 Anaconda + pyCharm 弄了 GPU 環境,結果有天從新竹回家發現家裡沒...
-
在料號主檔的 Accounting 1 View 中,其中欄位 Price Control,會發現建立料號時,無法對其進行修改,並且有 Default 值,主要來自於 Material Type 的主檔的設定 (T-Code:OMS2) 在 OMS2 中可以發現預設的 ...
-
在一次 User 告知他當天執行完 Costing Run 後,User 再使用 CK40N 去查該次 Costing Run 的結果,竟然找不到下面 WCS ... 這個料號執行 log 記錄,使用 CK40N 執行後產生的 Table KEKO 發現該料號的 KALAID (...





