読者です 読者をやめる 読者になる 読者になる

SAP Tips1 移送の話

CTS(移送/修正システム)について
 
 ①全体像
  CTO(移送オーガナイザ)
   ・Tr-cd:SE09 移送の登録
   ・TMS(移送管理システム)
    Tr-cd:STMSで移送の設定、移送依頼のインポート
   ・OSレイヤのツールとして、tp、R3transが用意
   ・DBレイヤのツールとして、RDDIMPDPが用意
   
   
○クライアントについて
 大きく以下3つが必要
  ①CUST(開発及びカスタマイジング)
   カスタマイジング等の調整が行われる環境
  ②QTST(品質保証)
   アプリケーションの新しいカスタマイジング設定とテスト及び
   検証に使用する。
  ③PROD(本稼動)
 
 その他必要に応じて用意するもの
  ④SAND(プレイグラウンド)
   カスタマイジングトランザクション
    カスタマイジング設定の実験環境
  ⑤TEST(テスト)
   単体テスト実施環境
  ⑥TRNG(トレーニング)
   エンドユーザトレーニング環境
   
○システムとクライアントの変更オプション
 各クライアントの変更オプションについて
 ⇒リポジトリオブジェクトとクライアント非依存
  オブジェクトが全体的に修正可能か設定
  
  設定変更方法:Tr-cd:SE06>システム変更オプション
  設定内容:
       ①修正可能
        すべてのオブジェクトを変更可能
       ②制限付きで修正可能
        オブジェクトを非オリジナルとしてのみ登録可能
       ③修正不可:拡張のみ可能
        変更不可、オブジェクトは拡張フレームワークを使用した場合のみ拡張可能
       ④修正不可:拡張不可
        変更及び拡張不可

○移送ディレクトリに必要なサブディレクト
 /bin tpとTMSの設定ファイル
     tpTP_<ドメイン名>.PFL
     TMS:DOMAIN.CFG
 /buffer 各システムの移送バッファ
 /data エクスポートされたデータ
 /cofiles 移送タイプ、オブジェクトクラス
 /log 移送ログ、トレースファイル、統計
 /tmp 一時データとログファイル
 /actlog 全タスクとと全依頼のアクションログ
 /sapnames 各SAPユーザの移送依頼に属する情報
 /EPS SAPサポートパッケージのダウンロードディレクト
 
○TMSの代表的な機能
 ①システムランドスケープや移送ドメインにおけるSAPシステムの役割
 ②移送ルートの設定
 ③tpのパラメータプロファイルの設定
 ④移送ドメイン内すべてのインポートキューの表示
 ⑤品質保証システムの承認手続きの定義
 ⑥インポートキューにある移送依頼のインポートのスケジュール
 ⑦共通移送ディレクトイを使用しないシステム間の移送の実行
 
 ○各種役割
 ・移送ドメイン
 同一のTMSで管理しようと計画しているすべてのシステムで構成される。移送ドメイン内の
 システムは、すべて一意のSIDで設定される
 
 ・移送ドメインコントローラ
 TMSのすべての設定が更新されるシステムのこと
 
○移送ドメインの設定
 
 システムインストール後、初めてTMSを使用する際は、TMSを初期化するよう自動的に求められる
 TMSはクライアント000にログオンして初期化する必要がある。
 TMSを設定するには、「S_CTS_ADMIN」が必要
 ⇒TMSを初期化すると以下アクションが自動的に行われる
 
 クライアント000で必要な処理
  ①移送ドメインコントローラとして割り当て
  ②移送ドメイン名の登録 DOMAIN_<SID>
  ③移送グループの登録 GROUP_<SID>
  ④システムユーザTMSADMの登録
  ⑤RFC宛先登録
  ⑥移送ディレクトリの/binでのファイルDOMAIN.CFGの登録
  
  
 移送ドメイン内のシステムは、RFCを使用して相互に通信する。
 RFC通信でアクセスするにはユーザIDが必要だが、これからはTMS初期化
 時に自動生成される
 
 登録されるRFC宛先
  TMSADM@<SID>.<ドメイン名> 移送設定の配信用
  TMSSUP@<SID>.<ドメイン名> インポートのスケジュール用 ※RFCユーザは挿入されない。
  
○移送ルートの設定
 各システムの役割と変更依頼のフローを指示する。
 

 

SAP R/3システム管理ガイド (SAP公式解説書)

SAP R/3システム管理ガイド (SAP公式解説書)

 

 

python Tips2 基本文法

1-1.四則演算

 ①x // y

  xをyでわった商の小数点以下を切り捨てたもの

 ②x % y

  余り

 ③x ** y

  xのy乗

 ④abs(x)

  xの絶対値

 ⑤int(x)

  xを整数に変換

  例 int(3.14) = 3

 ⑥float(x)

  xを浮動小数点数に変換

 ⑦round(x.[n])

  xをn桁に丸める

  例 round(3.6) = 4

 

1-2.スクリプトから実行させたい場合

 結果を表示させる場合には、

 print(3+5)

    を記述したcal-ok.pyを以下で実行する

 python cal-ok.py

 

1-3.コメントの書き方

 目的は、「プログラムをわかりやすくすること」

    # hogehogeと記述

 

# 花屋の支払い金額を求める
print(500円のバラを18本、400円のひまわりを8本、700円のチューリップを21本を10%割引で購入)
print(((500*18)+(400*(8-2))+(700*(21-5)))*0.9)

 

1-4.変数について

 pythonで変数に値を記憶するには

  変数名 = 値

 を記述する

 (例)

 

 

 

python Tips1 環境準備関連

1-0.インストール

    Pythonのインストール時に「Add Python to environment variables」にチェックをしていた場合には自動的にPATHが設定されていますので追加で設定は不要です。

 

1-1.Pythonの対話モードについて

 Pythonの対話モードは、REPLで実行

 Windowsでは、コマンドプロンプトから

  >python3

 を実行で起動が可能

 

 電卓として利用可能

  >>> 2+3*4

  14

 

 関数読み込んで複雑な計算も可能

 

  >>> import math

  >>> math.floor(10/3)

  3

 

1-2.Pythonの開発環境について

 Pycharm(有償)

 IDLE(Pythonに標準付属)

 実行環境不要であればAtom

   

qiita.com

 

1-3.エディタで記述したスクリプトの実行

 テキストエディタ文字コードは、UTF8とすること

 IDLEで実行する。

  File > Open

    「hello.py」を選択

  Run > Run Module

 コマンドラインから実行

  powershell起動

  cd d:\work\

  python hello.py

 

 

 

 

  

 

 

 

 

DB2 Tips4

DB2

統計情報更新まわりがなかなか情報がないので、ここに記述しておく。

 

①統計情報更新ジョブの状態確認。

 

db2 "SELECT AGENT_ID,STMT_OPERATION FROM SYSIBMADM.SNAPSTMT"

「RUNSTATS」が出てこなければ、すでに止まっている(or 現在停止中)

 

②統計情報更新がされていないテーブルを確認
db2 "SELECT char(tabname, 40) FROM syscat.tables WHERE type = 'T' AND
stats_time is null"

 

③統計情報更新がされていないインデックスを確認
db2 "SELECT char(indname, 40) FROM syscat.indexes WHERE stats_time is null"

DB2 Tips3

DB2

DB2のバックアップは実施を実施する前に、一つ準備が必要である。

 

DEACTIVE DATABASE

 

起動時に、ACTIVATE DATABASEにより、いわゆるユーザ開放可能な状態になるわけだが、この状態ではバックアップは不可能。

したがって、上記を実施しない状態で、バックアップを実行しようとすると、エラーとなる。

DB2 Tips2

DB2

DB2のFixpakを適用する際、DB2のプロセス「db2fm」が停止できないため、Fixpak適用ができない事態にはまってしまった。

 

解決方法はというと、、、

 

原因として、FixPack適用時にDB2プロセスが残っている為、前提チェックに引っ掛かり適用が失敗することだった。

 

解決方法としては、コマンド「./db2fmcu -d」でDBプロセスの自動実行を停止してOSを再起動すると、DB2プロセスが全て停止状態になるので、FixPackを適用可能となる。

DB2 Tips1

DB2

DB2をSAPで利用している場合、

時に、/db2/<SID>/db2<sid>の配下にデッドロックイベントが出力され、ディスクの容量を使ってしまうことがある。

 

起こってしまうとしょうがないが、まず、デッドロックイベントの削除方法は以下のとおり。

 

① イベント・モニターが停止していることを確認する。
>db2 set event monitor db2detaildeadlock state 0


②イベント・モニターをドロップする。
>db2 drop event monitor db2detaildeadlock

 

③db2detaildeadlock ディレクトリ内のファイルを削除する。

/db2/<SID>/db2<>sid/NODE<nnnn>/SQL<nnnnn>/MEMBER<nnnn>/db2event/db2detaildeadlock/にある、~.evtファイルを削除する。

 

また、そもそも、イベントを出力しない方法もある。
以下のDBパラメータをNoneに変更する。
 (1)MON_LOCKTIMEOUT
 (2)MON_DEADLOCK
 (3)MON_LOCKWAIT