2016年1月10日 星期日

SAP IMG - How to default price control in material master (T-Code:MM01)

在料號主檔的 Accounting 1 View 中,其中欄位 Price Control,會發現建立料號時,無法對其進行修改,並且有 Default 值,主要來自於 Material Type 的主檔的設定 (T-Code:OMS2)

在 OMS2 中可以發現預設的 Price Control 值,而下方如果勾選 Price ctrl mandatory,則在料號主檔無法進行修改

2016年1月2日 星期六

AFAB - Depreciation Posted But No Accounting Document Generated

執行 AFAB 後,發現 AM Posted value 中 Depreciation posted/planned 已 Posted,但 FI document 卻失敗未產生

T-Code : AFBP display message "restart the posting run"
如果發現 There are errors in the posting run. After correcting, restart the posting run 則再修正異常時,使用 T-Code : AFAB 重跑即可,目前可使用右上方的 Log of schedule manager (F5) 進行確認問題

2015年12月26日 星期六

ABAP/4 : When you use pushbutton and call screen in the event "at selection screen", the multiple selection button does not work

當使用 PUSHBUTTON 在 AT SELECTION SCREEN 時 CALL SCREEN 時,會發現系統並不會出現 SUB SCREEN 的 MULTIPLE SELECTION,造成系統無法提供 user 進行條件的篩選。

ABAP/4 How to trigger start of selection after pressing pushbutton from report

在 Report 使用 PUSHBUTTON,有時會希望透過 AT SELECTION-SCREEN. 處理一些前置功能後再進入 START-OF-SELECTION。

但實際使用 PUSHBUTTON 後,會發現按下按鈕後,只會執行 AT SELECTION-SCREEN. 無法再進入 START-OF-SELECTION,如下圖,按執行的 ICON 才會進入 START-OF-SELECTION,但只按 PUSHBUTTON 並不會進入 START-OF-SELECTION。

2015年12月12日 星期六

ABAP/4: How to get total page in report

Reference From : http://scn.sap.com/thread/109857

在報表列印時,有時可能會因為加入 NEW-PAGE,或是因為輸出字串過長換行,造成報表總頁數無法透過 "總筆數 / 每頁可顯示行數" 來進行計算可能的頁數時,則可透過下面語法進行取得 Total Page.

主要的語法是透過 SYST Structure 中的 SY-PAGNO, SY-INDEX 以及 SY-LISEL 來達成,但這三種語法並不能計算出總頁數。

下面的程式,透過 SY-PAGNO 計算目前的頁數,但並無法得知最後列印會有 6 頁 (一頁 20,TOP-OF-PAGE 一行 + 19 筆,所以一頁只能印 19 筆資料,拿 100 / 19 = 5.2 -> 6),但下面程式要到最後一頁才會知道 Page 6,但列印的 TOP-OF-PAGE 程式並無法修改

2015年11月17日 星期二

SAP IMG - OBBS Change Currencies Translation Ratio

SAP 上線後,發現特定幣別再 OB08 維護時,其 Raito 並非 1:1 的時侯

可透過 OBBS 進行設定,但注意 SAP 訊息有告知已上正式環境時的變動,會造成不想發生的不一致,所以請在非不得已的情況下,不然 "不要變動"

2015年11月10日 星期二

ABAP/4 : How to debug background program

有的時侯常會需要確認還未執行的 Background JOB 設定的 Variant 是否正確,或是執行後發生異常時想要再用相同條件確認原因,以及正在執行的 JOB 是目前卡在哪一段程式時,則可透過以下方式進行 Background Debug

以下面程式做測試

REPORT Z_TST_5 MESSAGE-ID ZCO.

DATA: I_BKPF LIKE STANDARD TABLE OF BKPF WITH HEADER LINE.
DATA: I_BSEG LIKE STANDARD TABLE OF BSEG WITH HEADER LINE.

PARAMETERS: P_BUKRS LIKE BKPF-BUKRS.

START-OF-SELECTION.

  SELECT * UP TO 50000 ROWS INTO CORRESPONDING FIELDS OF TABLE I_BKPF
    FROM BKPF.

  LOOP AT I_BKPF.

    SELECT * INTO CORRESPONDING FIELDS OF TABLE I_BSEG
      FROM BSEG
     WHERE BUKRS = I_BKPF-BUKRS
       AND BELNR = I_BKPF-BELNR
       AND GJAHR = I_BKPF-GJAHR.

  ENDLOOP.

  SELECT * UP TO 50000 ROWS INTO CORRESPONDING FIELDS OF TABLE I_BKPF
    FROM BKPF.

  LOOP AT I_BKPF.

    SELECT * INTO CORRESPONDING FIELDS OF TABLE I_BSEG
      FROM BSEG
     WHERE BUKRS = I_BKPF-BUKRS
       AND BELNR = I_BKPF-BELNR
       AND GJAHR = I_BKPF-GJAHR.

  ENDLOOP.
END-OF-SELECTION.

先在要 Debug 的程式設定中斷點

2015年10月3日 星期六

KE30 - Execute AC040 report does not display plant in navigation area

在連入 IDES AC040 練習-4  時,操作到 KE30 執行 AC040 時

Acconting / Controlling / Profitability Analysis / Information System / KE30 -Execute Report
執行下面參數
選擇 AC040
結果沒有 Plant 在 Navigation Area 裡

2015年9月17日 星期四

ABAP/4 : How to use DOI to export internal table to EXCEL and set cell to string

User 在使用報表時,通常都希望系統能直接將結果導出成 Excel,以方便後續報編的編制,通常會使用 GUI_Download 產生以 Tab 分隔的檔案,但問題是產生的只是純文字檔,會造成文字檔轉 Excel 很容易發生 00001 -> 1 的情況



這種情況則可透過 DOI (Desktop Office Integration) 產生 Excel,將 Internal Table 中的值匯出到 Excel,並且透過 i_oi_spreadsheet-> set_format_string  的功能把 cell format 成 String


CALL METHOD i_oi_spreadsheet-> set_format_string
  EXPORTING
    rangename = 'range name'
    formatstring = '@'
  IMPORTING
    error = iref_error.

2015年9月3日 星期四

ABAP/4 Use DYNP_VALUES_READ & DYNP_VALUES_UPDATE read/update current screen PARAMETER or SELECT-OPTIONS value

在 AT SELECTION-SCREEN ON VALUE-REQUEST FOR <Parameters or Select-Option> 要捉取畫面的變數時,會無法取得目前的值


使用 DYNP_VALUES_READ 即可取得目前畫面上的值

2015年6月16日 星期二

SQVI - How to change SQVI screen from basic view to graphical join screen (choose data source)

使用 SQVI,有時在 join 的 choose data source 畫面,進入到 basic mode 後,想要再增加 Table 但不想在 basic mode 裡進行時,則可透過以下方式回到 choose data source

How to install & specified python version or distreibtuion package version in google colab

在買了 RTX 3080 要來 挖礦...  嗯~是跑機器學習後,結果發現了 GOOGLE COLAB,其實之前在「GAN 對抗式生成網路」一書就有看到,但資訊人就是什麼都想自己安裝,在本機用 Anaconda + pyCharm 弄了 GPU 環境,結果有天從新竹回家發現家裡沒...