sap後台作業管理:
後台作業,主要用於執行需要處理大量資料,對互動沒有要求的程式。個人認為,簡單的建立,配置和監控後台作業沒有什麼難度。後台作業管理最為困難的解決方案的取捨,系統負載的調控。失控的後台作業,往往對系統帶來災難性的效能問題,也會導致許可權管理的風險,結果是得不償失,而且可能導致流程混亂。所以個人認為,要建立乙個週期性的後台作業之前,首先應該慎重分析。比方說,乙個已經明顯偏向 olap型別的報表,如果能夠用bi去實現,為什麼還要堅持在生產系統去跑長時間的後台作業?這極有可能是一種嚴重的重複執行的效能問題。再比方說,使用者獲得授權隨意建立後台作業,結果導致後台作業失控,在業務繁忙的時候,因為大量的後台作業導致整個系統的停頓,會造成實實在在的經濟損失。再比如說,後台作業安排的不合理,可能耗資源的和重要的後台作業直接或者間接安排到了同乙個時間段,那麼必然會影響流程的運作。
詳細解釋一下sap得後台作業。 sap得後台作業的啟動方式可以是定時地,也是可以是事件觸發的。後台作業裡面包含乙個或者多個步驟,每乙個步驟則包含呼叫的程式,外部shell命令以及外部程式,也包含了呼叫者以及變數,還可以定義列印引數。後台作業的名字往往需要遵循一定的命名規則,用來明確該後台作業的重要程度,啟動方式,作用等等。我們往往通過sm36去建立後台作業,(也可以通過sm36去檢視sap標準後台作業),通過sm37去監控和管理後台作業。
後台作業有scheduled, released, ready, active, finished, canceled六種狀態。另外還可以指定執行的伺服器組(後台job執行的伺服器組可以用sm61來配置)。 scheduled狀態的job是建立了但是還沒有release,這種狀態的job是不會跑的。released狀態的job在啟動條件滿足後會啟動,ready就是啟動條件滿足後,系統開始為該job分配但尚未分配合適的後台程序的乙個中間狀態,active代表這個job正在執行當中,換言之,其相應的後台程序正在執行job某乙個step得程式;finished代表job得所有step都成功的完成了。canceled代表job在某乙個step得執行過程中異常中止了。
sap job得資訊存在一系列的表tbtc*裡面。有的時候,某個job對應的程序中止了,但是表裡面的狀態資訊仍然沒有更新,會出現job是active狀態,而實際沒有程序在跑的情況,那麼,我們只需要check status,就可以手動修正表裡面的狀態資訊。
如果要分析job cancel得原因,應該檢查job log,往往job得step都是跑的是abap程式,所以,job cancel得時候常伴隨著dump產生,這個時候,雙擊job log的條目,可以跳轉對應的dump。另外,有的時候,因為程序被中止導致的job cancel沒有被寫入日誌,需要結合system log去分析。job log是儲存在\usr\sap\sid\sys\global日誌檔案joblog中的,在某些特定的情況下,日誌檔案訪問問題會導致所有的job cancel,在di上出現這種問題的時候,據說可能是nfs不穩定,這個我還不確定。
觸發event 基本本是function module bp_event_raise或者sapevt.exe。
sap列印管理:
完整sap列印過程基本上是: 1 選擇列印的文件,建立spool request(printer-independent); 2 如果是立即列印,則根據output device建立output request(printer-dependent); 3 output request被移交給sap print process處理 4 sap print process將列印資料轉換成印表機可識別的格式移交給作業系統列印管理器。
在adm裡面強調了一點,就是如果作業系統層面印表機不可用,對sap來說該印表機也不可用。 此外,sap印表機的access method,主要和作業系統差異(nt,unix)以及sap print process和os spooler所在伺服器有關. access method: f型別是針對使用者端為windows平台,具體是通過sap spool->saplpd->windows spool實現的。 l(呼叫unix shell command lp/lpr)和c(呼叫windows api)型別分別對應unix和winodws平台的應用伺服器得local型別,local型別的意思是sap print process和os spool在同一物理伺服器上。 u和s分別針對unix平台和windows平台的遠端列印,遠端列印的意思是sap print process和os spooler不在同一伺服器。需要說明的是,s型別還是需要呼叫列印伺服器端的saplpd.
關於f型別印表機,下面貼乙個sdn關於pdf1印表機配置的blog。這個包含了f型別印表機配置,同時給出了不用第三方軟體提供將報表轉pdf格式檔案得解決方案。已測試通過。 請注意列印配置,實際上不同型別的印表機,比如l和c得,代表著不同的介面。l型別印表機,sap傳遞給os得是lp/lpr命令,c型別的,則是呼叫windows平台的saplpd。
對於spool得維護和監控也是相當重要的。需要定期清理舊的spool request和output request. sap有標準的後台作業sap_reorg_spool( rspo1041)和sap_check_spool(rspo1043)詳細資訊可以檢視sap note 130978和98065
SAP 記憶體管理
乙個使用者最多可以同時開啟6個 sessions.每個 session 都有各自的 abap memory,所以不同 session 之間是不能互訪 abap memory 的。但是不同的 session 之間又有乙個可以共訪的記憶體,及 sap memory.export p1 lv data1 ...
SAP 日誌管理
現在專案上自開發的dialog程式越來越多,有很多敏感資料需要像sap標準的業務一樣,能看 到所有的修改日誌,要想實現日誌的功能,有以下幾個辦法 辦法一 建乙個日誌表,在原有表的基礎上,加上日期和時間兩個關鍵字,這樣每次修改的 記錄都會存到日誌表裡,然後在日誌報表裡把日誌表的資料取出來做比較。辦法二...
sap 工單後台表 SAP中費用科目設定
sap中會計科目沒有層級之分,並且不通過編號來區分費用科目。例如差旅費科目,在國內財務軟體中,會在製造費用項下定義乙個差旅費科目,在管理費用項下也會定義乙個差旅費科目。然而在sap中,我們只會定義乙個差旅費科目,那如何區分費用的性質呢?其實不擔心,sap當然也能區分費用的性質。由於sap功能的強大,...