投稿するにはログインしてください

  • BASIS 0 Votes 798 閲覧数


    このトピックでは、NetWeaver ABAPリリース7.0 (SAP NetWeaver 2004s)以降から導入された新しいテクニックの拡張フレームワークを取り上げてそれぞれ説明します。

    拡張フレームワークとは

    拡張フレームワーク(Enhancement Framework)とは、、従来の拡張テクニック(カスタマExitやクラシックBAdiなど)をオブジェクト指向の手法で改良したフレームワークです。 拡張フレームワークでサポートされる拡張仕組は、「BAdiによるオブジェクトプラグイン」と「Enhancement Optionによるソースコードプラグイン」に大別します。 ここのBAdiは従来のクラシックBAdiと区別して、新規BAdiと呼ばれます。クラシックBAdiから新規BAdiに自動的に変換することができます。

    拡張フレームワークの構成

    拡張フレームワークを構成しているコンポーネントには下記のようなものがあります。 •Enhacement Spot •Enhancement Implementaion •Enhancement Option

    Enhacement Spot

    Enhacement Spotは、拡張が実装できる位置を管理します。 オブジェクトプラグインとしてのEnhacement Spotは明示的に作成しなければならないほか、ソースコードプラグインとしてのEnhacement Spotは、Enhancement Optionを作成する際に一緒に作成されます。 オブジェクトプラグインEnhacement Spotの例ソースコードプラグインEnhacement Spotの例

    Enhancement Implementaion

    Enhancement Implementaionは、拡張実装を表します。オブジェクトプラグインとしてのBAdiによる拡張実装と、ソースコードプラグインとしてのEnhancement Optionによる拡張実装とも含められます。

    Enhancement Option

    ソースコードプラグイン を記述する位置はEnhancement Option によって管理されています。 Enhancement Option には、「ソース中の位置」「拡張タイプ(動的/静的、Point/Section)」などの属性があります。

    Enhancement Option には、明示的なものと暗黙的なものがあります。 暗黙的なものとは、すべてのリポジトリオブジェクトにあらかじめ組み込まれたもので、Enhancement Spot を必要としません。 明示的なものとは、開発者が独自に作成するもので、Enhacement Point文やEnhancement Section文などを使用し、明示的に作成位置を指定します。 Enhancement Point は「挿入型」の拡張で、指定した行位置に拡張コードが挿入されます。 Enhancement Section は「置換型」の拡張で、指定した行範囲のコードが拡張コードで置換されます。

    拡張の定義

    拡張をサポートさせるには、拡張できるようにさせたいソースコードに事前に拡張の仕掛けを組み込む必要があります。 拡張フレームワークには以下三つの拡張方法が用意されています。

    BAdiによる拡張明示的Enhancement Optionによる拡張暗黙的Enhancement Optionによる拡張

    「暗黙的Enhancement Optionによる拡張」は、サブルーチンや、汎用モジュールといったリポジトリオブジェクトのソース実装の開始及び終了の場所に全て予め組み込まれていますので、個別定義する必要がありません。

    BADIによる拡張仕掛けを作成

    以下の手順で、BADIによる拡張仕掛けを作成することができます。

    クラスビルダでBAdi用インタフェースを作成Enhancement Spotを作成
    SE80を利用します Enhancement Spot Defineを作成
    SE80を利用します
    Create BAdiを選択し、先ほど作成済のBAdi用インタフェースを指定拡張するソースコードにGET BADI、CALL BADIを実装明示的Enhancement Optionによる拡張仕掛けを作成

    以下の手順で、明示的Enhancement Optionによる拡張仕掛けを作成することができます。

    拡張するソースコードにEnhancement-Point文又はEnhancement-Sectionを記述保存してウィザードに従いEnhancement Optionを作成
    Enhancement Optionを管理するEnhancement Spotも同時に作成


  • BASIS 0 Votes 805 閲覧数


    主な手順準備

    オブジェクトキーの入手

    対象となるオブジェクトの修正にはオブジェクトキーと呼ばれる特殊な キーワードが必要となります。

    オブジェクト修正

    SE37やSE38、SE11などを利用して、オブジェクトを修正します。

    次のようにオブジェクトキー要求があります。

    このとき表示されるオブジェクト名を OSS で登録し、その結果取得された アクセスキーを入力します。 これはシステム(インストール)が異なると同じバージョンでも値が変わり ますので、毎回取得する必要があります。 また確認メッセージが表示されます。

    移送

    参考

    外部リンク

    SAPソフトウェア変更登録 (SSCR) キーの登録(PDF)-SAP Help Portal


  • BASIS 0 Votes 1072 閲覧数


    カスタマ開発に利用できる標準機能の抜粋を以下の表で示します。 おもに以下のように分類することができます。

    ABAPディクショナリ コーディング テスト バッチインプット JOB 分析 外部OSコマンド 帳票/レポート系 Trcd機能目的GRR3レポートペインタ照会レポートペインタを照会、テスト実行できる。(登録がGRR1,変更がGRR2)SAAB有効化可能なブレークポイント関連性のあるプログラムのテストをまとめて実行するために定義できる。SAMTABAP プログラム一括処理パッケージ(旧名称:開発クラス)の登録をすることができるSCOVABAP カバレージアナライザ-SCIコードインスペクタコーディング規約(独自設定可能)チェックや、代表的なパフォーマンスに問題がある記述方法などのチェックをすることができるSCIIコードインスペクタ: インスペクションコードインスペクタを手っ取り早く使いたいときはコチラSE21パッケージビルダパッケージ(旧名称:開発クラス)の登録をすることができるSE24クラスビルダ-SE30実行時間分析分析ツールSE33汎用モジュールビルダ-SE37汎用モジュールビルダ-SE38ABAPエディタ-SE39ABAP画面分割エディタ--SE41メニューペインタ-SE43分野メニュー-SE51スクリーンペインタ-SE55拡張テーブル更新モジュール生成-SE63翻訳未翻訳の部分や翻訳が間違っている場合、また独自のテキストに変更したい場合、翻訳機能を使用する。ただし、翻訳した後にサポートパッケージやnoteなどを適用した場合、標準の文字列に戻ってしまう場合もある。翻訳したテキストを移送したい場合、プログラム:RSLTEXPOから移送依頼を作成する(RSLTEXPOのウィザードを使用した場合、移送する対象のテキスト~移送依頼作成~エクスポートまで自動的におこなうので注意)SE71フォームペインタSAPSCRIPTで帳票のフォームを作成できる。SE80ABAPワークベンチプログラムIDに関係するオブジェクトをまとめて管理できるSE81アプリケーション階層:照会-SE84リポジトリ情報システム-SE91メッセージ更新メッセージ更新 プログラムなどで使用/出力する定型メッセージを設定する。1つのメッセージクラスに1000個のメッセージが設定可能。SE93トランザクション更新トランザクションコードを登録/変更することができるSFPフォームビルダAdobe Acrobat(PDF)を使用したインタラクティブフォーム(Interactive forms )やPDF-Based Printを定義することができる。SHD0トランザクション/画面バリアントトランザクションバリアントの管理SHDBトランザクションレコーダ別名:バッチインプットレコーダ。トランザクションを実行する動作を記録し、バッチインプットセッションやプログラムを作ることができる。SM35バッチインプット:セッション一覧記録したバッチインプットセクションを管理。実行/エラー照会など管理できるSM35Pバッチインプット:ログ一覧-smartformssmartforms-SMATABAPプログラムセット処理関連性のあるプログラムのテストをまとめて実行することができる。拡張構文チェックなどをプログラムセット(条件を指定したグループ)でまとめてチェックすることができるSNRO番号範囲オブジェクト更新番号範囲オブジェクトの定義をすることができるSQVIクイックビューアSAPクエリの個人用。INNER JOINレベルまでのテーブル結合が可能。SAPクエリのサブセット版のような位置付けS_ALR_87101287-ABAP言語コマンド検索のための統計プログラム分析RPR_ABAP_SOURCE_SCANABAPレポートソーススキャン指定した文字列をプログラムから検索することができるRSANAL00ABAPプログラム分析変数の型変換や変数一覧、サブルーチン、使用している汎用モジュールやインクルードプログラム、参照しているテーブルなどを分析してくれる。1行が72文字を超える行があるとショートダンプが発生するため、4.6より後に使えることはあまりないかもRSABAPSC-バージョン管理: オブジェクト一覧によるリモート比較RSVCAD11--


  • BASIS 0 Votes 328 閲覧数


    ABAPプログラムはリポジトリオブジェクトであり、リポジトリ情報システムに登録されます。

    ABAPプログラムの分類

    ABAPプログラムは以下のタイプがあります。

    タイプ1:レポートプログラム(公式では実行可能プログラムと呼ばれている)タイプM:ダイアログプログラム(公式ではモジュールプールと呼ばれている)タイプF:汎用グループ、汎用モジュールのコンテナとして、汎用モジュールを実装できる唯一のプログラムタイプタイプK:クラスプール、クラス定義のコンテナタイプJ:インタフェースプール、インタフェース定義のコンテナタイプS:サブルーチンプール、サブルーチン用のコードコンテナタイプT:タイププール、型定義のコンテナタイプI:インクルードプログラム

    Dynpro画面を持つことができるのは、タイプ1、タイプM、タイプFの三つのみです。

    プログラムタイプによってプログラムの基本的な技術属性が決まるため、プログラム作成時にタイプを設定する必要があります。

    プログラムの実行

    ABAPプログラムは直接実行可能プログラムと直接実行不可能プログラムに分類されます。Windowsアプリケーション開発の世界でこれに相当するのはEXEとDLLの分類になります。

    直接実行可能プログラム

    ABAPプログラムを直接実行するには、二つの方法があります。

    トランザクションコードによる実行 
    トランザクションコードにより実行可能なプログラムは、レポートプログラム(TYPE 1)、ダイアログプログラム(TYPE M)、汎用グループ(TYPE F)があります。
    プログラムでは、CALL TRANSACTION やLEAVE TO TRANSACTIONといった命令を使ってトランザクションを起動することができます。プログラム名による実行
    SA38又はSE38でプログラム名により実行可能なプログラムは、レポートプログラム(TYPE 1)のみになります。バックグランドでも実行できるのもこのタイプのみです。
    プログラムでは、SUBMIT命令を使ってレポートプログラムを起動することができます。

    直接実行可能プログラムはアプリケーションプログラムとも呼ばれます。

    直接実行不可能プログラム

    直接実行不可能プログラムは、プログラミングでしか呼び出されることができません。タイプによって呼び出す命令はそれぞれです。

    CALL FUNCTION : 汎用モジュールCALL METHOD  : クラスのメソッド PERFORM : サブルーチン


  • BASIS 0 Votes 909 閲覧数


    ABAPディクショナリは、データベーステーブルの他にアプリケーションの中に取り扱うデータも含め、SapECCシステムで使用されているすべてのデータ定義を一元的に管理するリポジトリです。 SAP標準だけでなく、ユーザ定義のデータ型もABAPディクショナリに登録されます。 ABAPディクショナリで管理されるオブジェクトタイプは大きく分けると、データ型定義、データベースオブジェクト及びツール関連の三つに分類することができます、その中に最も重要なのはそれぞれ以下のものがあります。

    データ型定義:オブジェクトのデータ定義はABAPディクショナリにのみ存在するドメインデータエレメント構造テーブルデータデータベースオブジェクト:オブジェクトのデータ定義は基盤となるデータベースにも自動登録されるテーブルビュー索引ツール関連: Dynpro 項目の編集に使用されるツールも提供検索ヘルプロックオブジェクト

    ABAPディクショナリオブジェクトは、ABAPプログラムから参照できます。実行時にABAPプログラムがロードされる際に、動的にABAPディクショナリオブジェクトの定義を展開されます。

    以下にて各オブジェクトタイプをそれぞれ説明します。

    データ型定義ドメイン

    ドメインは項目の技術属性を定義するものであり、項目のデータ型と長さを指定することで項目の値範囲を記述します。 例として、「性別」のドメインの定義を次に示します。

    参考サイト:SAP Portal Help--ドメインデータエレメント

    データエレメントは意味属性であり、同じ意味を持つデータ項目は同じデータエレメントに割り当てるべきです。

    下記の例を利用して、データ項目、データエレメント、ドメインの関連関係を説明します。

    Noテーブル項目データエレメントドメイン技術タイプ1VBRK(請求書:ヘッダデータ)VBELN(請求伝票)VBELN_VF(請求伝票)VBELN(販売管理伝票番号)CHAR(10)2VBRP(請求伝票: 明細データ)VBELN(請求伝票)3AUBEL(販売伝票)VBELN_VA (販売伝票)4VBAK(販売伝票:ヘッダデータ)VBELN(販売伝票)

    上記のテーブルに示された四つのデータ項目とも10文字の伝票番号であるため、同じドメインのVBELNを割り当てられます。但し同じ伝票番号といっても、請求伝票の伝票番号と受注伝票の伝票番号と二種類があるため、データエレメントは二つに分かれることになります。同じデータエレメントのデータ項目であれば結合検索できます。

    参考サイト:SAP Portal Help--データエレメント構造

    構造は複数のコンポーネント(項目)で構成されます。構造を構成するコンポーネント(項目)は、基本データ型の他に別の構造やテーブルデータ型を参照することができます。

    参考サイト:SAP Portal Help--構造テーブルデータ

    テーブルデータ型は、ABAPにおける内部テーブルをグローバルで定義します。

    参考サイト:SAP Portal Help--テーブルデータデータベースオブジェクトテーブルテーブルタイプ

    ABAPディクショナリのテーブルには、3種類のテーブルタイプが存在します。

    透過テーブル
    例:「VBRK」KNA1(得意先マスタ)など、殆どのテーブルです。
    透過テーブルは名前の通り、ABAPディクショナリと同じ構造で、DBテーブルが登録されています。プールテーブル
    例:「Annn」条件マスタや「T001T」カスタマイズテーブルなどなど、テーブルプールに割り当てられたテーブルのことです。テーブルプールには、複数プールテーブルが格納され、DB上は、テーブルプールにデータが登録されています。
    複数のプールテーブルのデータが、どのようにテーブルプールに登録されているかというとプールテーブルの1行1行が、それぞれテーブルプールの1行となっていて、内部結合ではなく、単純に複数のテーブルがまとまっているだけです。

    クラスタテーブル
    クラスタテーブルとは、例:「BSEG」会計伝票明細のようにテーブルクラスタに割り当てられたテーブルのことです。テーブルクラスタには、複数クラスタテーブルが割り当てられ、DB上は、テーブルクラスタにデータが登録されています。

    クラスタテーブルとプールテーブルは、透過テーブルと違って以下の特徴が存在します。

    NativeSQLでは使用できません。Select文で、外部結合・内部結合できません。キー項目以外の項目は、ほとんどが文字列結合された状態で1項目に登録されています。上記理由により、キー以外の項目を抽出条件とするとパフォーマンス悪化の要因になります。

    クラスタテーブルかプールテーブルかによって、プライマリキーがかさなっている複数テーブルが存在する場合、そのデータの登録方法は異なります。

    クラスタテーブル 
    プライマリキーで内部結合された状態で複数テーブルがまとまって登録されています。プールテーブル 
    プライマリキーで内部結合せず単純に複数テーブルがまとまって登録されています。出荷クラス

    テーブルには出荷クラス属性をもっております。出荷クラスは、インストールやアップグレード、クライアントコピー、およびカスタマシステム間移送の際に、テーブルデータの移送を制御します。出荷クラスは、拡張テーブル更新でも使用されます。

    以下の出荷クラスがあります。

    出荷クラス説明Aアプリケーションテーブル (マスタ及びトランザクションデータ)Cカスタマテーブル。データを更新するのはカスタマのみです。L一時データ保管用テーブルGカスタマテーブル。SAP が新規データレコードを挿入する場合がありますが、既存データレコードは上書きまたは削除されません。カスタマ名称領域をテーブル TRESC で定義する必要がありますEシステムテーブル。カスタマ入力のための独自の名称領域があります。カスタマ名称領域をテーブル TRESC で定義する必要がありますSシステムテーブル。データ変更のステータスは、プログラム変更と同一ですWシステムテーブル。データは独自の移送オブジェクト (たとえば、R3TR、PROG、R3TR TABL など) を使用して移送されます技術設定

    ABAPディクショナリに透過テーブルを定義する際、技術設定を更新する必要があります。

    データクラス
    データクラスは、テーブルを格納するデータベースの物理領域 (ORACLE では表領域と呼ばれます) を論理的に定義したものです。データクラスを正しく選択すれば、テーブルを ABAPディクショナリで有効化したときに、そのテーブルがデータベースの正しい領域に自動的に登録されます。
    データクラスには、マスタデータ、トランザクションデータ、組織データ、およびシステムデータなどがあります。さらに、カスタマデータクラス (USER、USER1) と呼ばれるデータクラスもあります。これは、カスタマ開発に使用されます。データベースに特別な保管域を割り当てる必要があります。マスタデータ 
    マスタデータは、ほとんど変更されることのないデータです。マスタデータの例としては、名称、住所、および電話番号など、住所のデータが挙げられます。トランザクションデータ 
    トランザクションデータは、頻繁に変更されるデータです。たとえば、倉庫の在庫品目は購買発注が登録されるたびに変更されるデータです。組織データ
    組織データは、システムの導入時にカスタマイジングで定義され、その後はほとんど変更されることのないデータです。たとえば、国コードなどです。システムデータ
    システムデータは、SapECCシステム自体が必要とするデータです。たとえば、プログラムソースなどです。􀂄バッファリング
    テーブルのレコードをバッファに入れるかを定義します。サイズカテゴリ 
    テーブルの予想レコード数はいくつかを定義します。ログ記録 
    データレコードへの変更ログを記録するかを定義します。参考サイト:SAP Portal Help--テーブルビュー

    ビューとは、1つ以上の実テーブル表から任意のデータを選択し、それらをカスタマイズして表した仮想テーブルのことです。

    参考サイト:SAP Portal Help--ビュー索引

    索引は、いくつかの項目に縮小されたデータベースのコピーということができます。索引を使用すると、特定の検索条件を満たすデータレコードをテーブルから検索することができます。

    参考サイト:SAP Portal Help--索引ツール関連検索ヘルプ

    検索ヘルプは、入力ヘルプ (F4 ヘルプ) を定義するための ABAPディクショナリオブジェクトです。

    参考サイト:SAP Portal Help--検索ヘルプロックオブジェクト

    DBトランザクションレベルの排他制御はデータベース管理システムが用意していますが、それとは別に、SapECCは、独自のロックオブジェクトに基づいてアプリケーションレベルの排他制御を実現しています。

    ロックオブジェクトにはロックするテーブルとロックするレコードのキー項目情報が定義され、ロックオブジェクトを有効にすると、汎用モジュールENQUEUE_<ロックオブジェクト名>とDEQUEUE_<ロックオブジェクト名>がロックを設定 / 解除するためにその定義から生成されます。

    ロック設定汎用モジュールから掛けられたロックの情報はロックテーブルに格納されます。ロックテーブルは、エンキューサーバのメインメモリに存在するテーブルであり、システム内の現在のロックを記録します。ロック設定汎用モジュールでロックを掛けようとする前に、まずロックテーブルを参照して同じロックが既に存在する場合、エラー終了したり、待ち状態にしたりすることによって、排他制御の仕組みを実現します。

    参考サイト:SAP Portal Help--ロックオブジェクト


  • BASIS 0 Votes 793 閲覧数


    リポジトリ情報システムには、プログラム、データベーステーブルの定義、共通データ型の定義などのすべての開発オブジェクトが含まれます。 このため、開発オブジェクトはリポジトリオブジェクトとも呼ばれます。 リポジトリオブジェクトはクライアントには依存しません。そのため、すべてのクライアントで照会と利用が可能です。

    リポジトリに格納される全ての開発オブジェクトは、アプリケーションコンポーネント→パッケージ→開発オブジェクトというカテゴリ構造で管理されます。

    アプリケーションコンポーネント

    アプリケーションコンポーネントはアプリケーション階層にツリー構造で表示されます。SE81でアプリケーション階層を照会することができます。

    上記の図から馴染みのSDやMMなどのアプリケーションコンポーネント名称を読み取ることができます。アプリケーションコンポーネントは公式名称ですが、実際には別名の「モジュール」のほうがよく使用されています。

    パッケージ

    パッケージはリポジトリオブジェクトをカテゴリ化で管理できるようにする仕組みです。SE21(パッケージビルダ)でパッケージを照会又は定義することができます。 パッケージとは、意味的に関連する開発オブジェクトのコンテナであり、以前の開発クラスにかわったものです。1つのパッケージに、異なる開発オブジェクト(プログラム、テーブル、Dynpro、汎用モジュール、クラスなど)を含めることができます。。パッケージの特徴は、プロパティのネスト、インタフェース、可視性、およびアクセス管理にあります。。 パッケージはパッケージビルダ(トランザクションSPAK)を使用して作成および管理される。また、オブジェクト変更の記録と移送は、パッケージへの割当を使用する移送/修正システム(CTS)によっても管理されます。 以下の図でパッケージMBを例として取り上げます。

    リポジトリオブジェクト

    リポジトリオブジェクトはSE84(リポジトリ情報システム)で検索できます。

    リポジトリオブジェクトの分類

    リポジトリオブジェクトは主に以下のような大分類があります。

    ビジネスオブジェクトABAPディクショナリプログラムクラスWebDynproオブジェクトディレクトリ

    オブジェクトディレクトリは、全てのリポジトリオブジェクトに基本属性情報を管理します。

    リポジトリ情報システムに格納される各リポジトリオブジェクトはその種類の抜粋を下記の表で示します。

    カテゴリ完全オブジェクトサブオブジェクト総合DEVC(パッケージ)-ABAPディクショナリTABL(テーブル)TABD(テーブル定義)TABT(テーブルの技術属性)TTYD(テーブルデータ型定義)TTYX(テーブルデータ型定義のテキスト)INDX(テーブル索引)TABU(テーブル内容)-VIEW(ビュー)VIED(ビュー定義)VIET(ビュー技術属性)DTEL(データエレメント)DTED(データエレメント定義)DOMA(ドメイン)DOMD(ドメイン定義)SHLP(検索ヘルプ)-ENQU(ロックオブジェクト)ENQD(ロックオブジェクト定義)プログラムPROG(プログラム)REPS(レポートソースプログラム)REPT(レポートテキスト)VARI(レポートプログラムのシステムバリアント)VARX(レポートプログラムのアプリケーションバリアント)FUGR(汎用グループ)FUGT(汎用グループテキスト)FUNC(汎用モジュール)CLAS(クラス)CLSD(クラス定義)CINC(クラスインクルード)CPRI(クラスプライベットヘッダ)CPRO(クラス保護ヘッダ)CPUB(クラスパブリックヘッダ)METH(メソッド)INTF(インタフェース)INTD(インタフェース)STVI(トランザクションバリアント)-SCVI(画面バリアント)-ENHC(複合拡張実装)-ENHO(拡張実装)-ENHS(拡張スポット)-WDYN(WebDynproコンポネント)WDYC(コントローラ)WDYD(定義)WDYV(ビュー)


  • BASIS 0 Votes 234 閲覧数


    このトピックでは、以下の特徴から、NetWeaver ABAP Platformのデータベース・テクノロジーを説明します。

    ビジネスロジックもデータベース化クライアントによる論理分割ダイアログを跨る作業論理単位ビジネスロジックもデータベース化

    NetWearver ABAP Platformでは、ビジネスデータのみではなく、ビジネスロジックが反映されたアプリケーション及びパラメータ設定情報そのものもデータベースで統合的に管理されます。 NetWearver ABAP Platformのデータベースにおけるテーブルは、出荷クラスによって以下のように分類されます。

    出荷クラス主に格納されるデータシステムテーブルプログラムといった開発オブジェク等制御ロジックロジック制御情報等カスタマイジングテーブルビジネス設定情報等アプリケーションテーブルマスタやトランザクションといった業務データ等クライアントによる論理分割

    SapECCシステムはクライアントによって論理的に分けられます。 実体となる1つのシステム上に、自由に複数のクライアントを定義できて、仮想的に複数のシステムが存在しているかのように扱うことができるのです。 各クライアントには、独自のデータ環境があり、すなわち、クライアントごとに独自のアプリケーションデータと殆どの設定データがあります。 あるクライアントに属するデータは、他のクライアントのユーザからアクセスできないような仕組みになっています。この仕組みを実現するためには、以下のような仕掛けが掛けられています

    クライアント依存テーブルに全てクライアント番号を第1PKとして持たせるOpenSQLによるDBアクセス処理で対象クライアント制御条件を裏で自動的に付加する

    クライアントは3桁の数字で識別されます、インストール時のデフォルトクライアントは以下の通りです。

    クライアント番号用途000SAP標準クライアント001ドイツ版のカスタマイズサンプル066アーリーウォッチ用クライアントダイアログを跨る作業論理単位

    普通の意味では、アプリケーションの動作のうち、「ある意味を持った一連の処理のまとまり」のことをトランザクションといいます。そして、トランザクション制御とはこの一つのトランザクション内でデータの整合性が保たれるようにすることです。

    SapECCでは、正式的な名称として、この「ある意味を持った一連の処理のまとまり」を「トランザクション」ではなく、「作業論理単位(Logical Unit of Work、略するとLUW)」と呼んでいます。関連がありますが、SapECCの「トランザクション」は、トランザクションコードを使用して開始するアプリケーションプログラムのことと定義されています。

    SapECCでは、DBMSが実装済のトランザクション制御の他に、業務レベルの作業論理単位制御をサポートしています。この二つの制御は、それぞれDB LUWとSAP LUWに呼ばれます。

    DB LUW

    DB LUW は、データが常に整合性を持つようにするために、OracleやMSSQLなどのDBMS(データベース管理システム)が使用するメカニズムです。DBMS側では、一般的にこのDB LUWを「トランザクション」と呼びます。

    SAPのDB LUWは、以下のように動作します。

    DB LUWは一つのワークプロセスの中に完結しなければなりませんワークプロセスが正常又は異常終了する際に、コミットされていないDB更新に対して、暗黙的なデータベースコミット又はロールバックを行いますプログラムが汎用モジュールDB_COMMITを呼び出して明示的にデータベースコミットを行うことができます。プログラムがSAP LUWの命令(COMMIT WORK、ROLLBACK WORK)を呼び出してSAP LUWを終了する同時に、DB LUWも終了します。開始されるときや、前のDB LUW がコミット又はロールバックで終了するときに、新しいDB LUWが開始されます。DB LUW内で実行されるDB変更はでDBロックを起こします、そのDBロックはLUWの終了に伴い、自動的に解放されます。SAP LUW

    DB LUWはデータベースに対して分割できない連続したデータ上の操作であり、完全に終了するか、まったく実行しないかのいずれかにする必要があります。SAP LUWは、システムに対して分割できない業務処理であり、その業務処理全体を完了するか、あるいはまったく実行しないかのいずれかにする必要があります。SAP-LUW は通常、複数のダイアログステップや複数のDB LUW に及ぶことがあります。 同じSAP LUW で発生したDBデータ変更要求は、全て最後にデータベースに反映されることになります。

    SAP LUWの終了

    SAP LUWは、DB LUWのように暗黙的に終了することがありません。「COMMIT WORK」や「ROLLBACK WORK」命令を発行して、明示的に終了させる必要があります。

    SAP LUWの原子性

    一つのSAP LUWの中の各更新は複数のダイアログステップに跨って発行されることがよくありますが、発行時に即時に実行されるとすれば、別々のDB LUWのDBデータ操作になりますので、作業単位としての原子性が完全に崩れてしまうことになります。

    NetWeaverABAPでは、それらの更新を即時実行せずに、「更新依頼」オブジェクトを登録しておきます。「commit work」命令でSAP LUWがコミットされる際に、登録された「更新依頼」を一つのDB LUWで実行することにより、作業単位としての原子性を維持します。

     

    SAP LUWの単位

    SAP LUW毎に、違う更新キーが割り当てられます、更新依頼はその更新キーと一緒に更新キューに登録されますので、それにより同じSAP LUWのものかどうかを判断できます。

    アプリケーションプログラム( TYPE 1、TYPE M)はそれぞれ別のSAP LUWをもっています。但し、トランザクション(機能)ではなく、「ダイアログモジュール」として起動される場合は、呼び出し元のSAP LUWで実行されることになります。

    SAP LUWとDB LUW

    NetWeaverABAPではワークプロセスごとに、固定DB接続1 つが割り当てられています。そのDB接続でDB LUWが実行されますので、ワークプロセスは常に一つのDB LUWと結び付いております。

    一方、SAP LUWは論理的な単位を提供しています、SAP LUWにおける各更新依頼は、結局、DB LUWによりデータの変更をデータベースに反映しないといけないですが、そのDB LUWは新たに生成されるものではなく、更新依頼が実行されるワークプロセスの固有のDB LUWとなります。そのDB LUWで発行された別の即時DB更新がもしあれば、同時にコミットされます、なお、エラーが発生する場合も、一緒にロールバックされることになります。


  • BASIS 0 Votes 328 閲覧数


    このトピックでは、NetWeaver ABAP Platformのプレゼンテーション・テクノロジーを説明します。

    画面処理

    ABAPプログラムの画面技術は、後からWEB対応のWebDynproも追加されましたが、従来からDynproを使ってきました。SapECCシステムで利用されている標準画面は、全てDynproで構成されています。 Dynpro画面はSapGUIウィンドウに表示されます。SapGUIは、SapECCシステムへのユーザインタフェースです。SapGUIはABAPアプリケーションサーバと通信し、ABAPアプリケーションからレスポンスされたプレゼンテーションを表示し、またユーザからの入力を処理し、そのアクションをABAPアプリケーションへリクエストします。

    SapGUIウィンドウ

    一般的な SapGUIウィンドウは以下のようなUIパーツから構成されます。

    メニューバーシステム機能バー表題バーアプリケーションバーDynpro領域ステータスバー

    下記の図でSapGUIウィンドウのレイアウト構成を示します。

    Dynproの構成要素

    Dynproは主に、Dynpro属性、画面レイアウト、エレメント一覧、PBO、PAIから構成されます。

    Dynpro属性
    Dynproが持つ基本情報です。Dynpro番号、Dynproタイプ(標準・従属画面・ダイアログボックス・選択画面)、後続Dynproなどがあります。画面レイアウト
    画面のレイアウト情報です。各UIエレメントの位置やサイズを定義します。エレメント一覧
    Dynproが持っている各UIエレメントの詳細です。PBO
    Process Before Output、Dynpro画面が表示される前の処理を行う処理ブロックです。PAI
    Process After Input、Dynpro画面が表示され、ユーザがアクションを行った後の処理を行う処理ブロックです。印刷出力

    NetWearver ABAP Platformは、ABAPアプリケーション内に独自のスプールリングおよび印刷システムを提供しています。これはすべての印刷機能への統一的なインタフェースとなっています。

    プリンタとの接続形式

    ABAPアプリケーションとプリンタの接続形式には以下の3つの方法があります。

    アプリケーションサーバのローカル接続 (アクセス方法 L, C)lpd hostを経由したリモート接続 (アクセス方法 U)PC と SAPlpdを経由したリモート接続 (アクセス方法 U or P)

    ABAPアプリケーションのスプール管理は「トランザクションコード:SPAD」から管理・定義が可能です。

    印刷処理の流れ

    SapECCにおける印刷は、以下のステップを使用します。 1.ユーザが生成された出力の印刷を要求すると、その要求はスプールシステムに送信されます。この処理は、スプール要求の生成と呼ばれます。 2.スプール要求は、プリンタと印刷形式の指定とともに、スプールデータベースに格納されます。 3.データを印刷するために、スプール・ワーク・プロセスが処理するスプール要求のための印刷要求が生成されます。 4.スプールワークプロセスは、印刷のためにデータを整形し、印刷要求をWindowsスプールシステムに渡します。 5.Windowsスプールシステムがプリンタキュー管理を引き継ぎ、データが適切な出力デバイスに渡され、印刷されるようにします。


  • BASIS 0 Votes 175 閲覧数


    ABAPアプリケーションは、ABAPプラットフォームに動作する機能を表します。ABAPアプリケーションは作業の実行単位であり、フォアグラウンドのダイアログ実行でもバックグランドのバッチ実行でも可能です。

    アプリケーションとプログラム

    ABAPではアプリケーションは公式的にトランザクションと呼んでおり、リポジトリオブジェクトとして、トランザクションコードにより識別して起動されます。 一方、ABAPプログラムは実行可能なコードが含められるリポジトリオブジェクトであり、その中に、タイプ1(レポートプログラム)、タイプM(ダイアログプログラム)、タイプP(汎用グループ)はトランザクションに割り当てることができます。トランザクションに割り当てる時に、トランザクション起動時に実行されるプログラムのエントリが指定されます。

    アプリケーションの実行

    SapECCシステムは、基幹業務向けのERPパッケージソフトウェアであるため、殆どダイアログ実行型アプリケーションから構成されますが、運用によっては、一部の対話型アプリケーションもバッチ実行型に変更して、タイマなどのトリガーにより、バックグラウンドでで実行させることができます。

    ABAPアプリケーションは、ダイアログ実行かバッチ実行かに問わず、すべてAS APAPのワークプロセスに対して、 AS APAP内で実行されます。 以下の図で、アプリケーションのダイアログ実行イメージを示します。

    アプリケーションのセッション管理メインセッション

    サーバへログインすると、ユーザに1 つの 「SAPguiセッション」が開かれます。また、ユーザが同時に最大6つのウィンドウを開くことができます。これらのウィンドウはそれぞれ、アプリケーションサーバ上で共有メモリの専用領域を使用する「メインセッション」に対応しています。図:メインセッション

    メインセッションは一つ以上の内部セッションから構成されます。メインセッションで起動した最初のアプリケーションプログラムによって、メインセッション内の最初の内部セッションが開きます.

    メインセッションで起動された各プログラムは同じSAPメモリを共有しています、つまりSAPメモリを通せば、データの受け渡しが可能です。

    内部セッション

    アプリケーションプログラム(TYPE 1、TYPE M)が呼び出されるたびに、新しい内部セッションが作成されます。 その他プログラムは新しい内部セッションを作成することがなく、必ず呼び出し元のアプリケーションプログラムの内部セッションで動作します。

    図:内部セッション


  • BASIS 0 Votes 1239 閲覧数


    アーキテクチャーとは、モノづくりの基本設計や設計思想及びその設計に基づいて作成されたものの構成のことです。 元々建築学の言葉ですが、転じて、IT用語として一般的に用いられるようになりました。情報システム分野には下記のようなアーキテクチャーがよく取り上げられます。

    システムアーキテクチャーソフトウェアアーキテクチャーアプリケーションアーキテクチャーパッケージアーキテクチャー

    NetWeaver ABAPは基本的にSapECCの技術基盤として出荷されるため、SapECCを代表として、NetWeaver ABAPシステムの各アーキテクチャー構成をそれぞれ説明します。

    システムアーキテクチャー

    システムアーキテクチャーはソフトウェア、ハードウェア、ネットワークを含め、情報システム全体の構成を示すものです。システム構成と呼ばれることがよくあります。 システムの構築開発作業を行う場合によく最初から作成されるシステム構成図はシステムアーキテクチャーを示すものだと考えられます。

    SapECCは、導入企業によってシステムアーキテクチャーが異なりますが、殆どはSAP推奨の開発機→検証機→本番機を分離する3システムランドスケープに従っています。SapECCはシステムの稼働だけではなく、開発と検証も対象領域として統合して管理しています。下記はそのイメージ図です。

    ソフトウェアアーキテクチャー

    ソフトウェアアーキテクチャーとは、情報システムにおける各ソフトウェアの構成を示すものです。 情報システム特にWEBベースのシステムのソフトウェアアーキテクチャーは論理的に階層化されたものがおおいです。

    SapECCのソフトウェアアーキテクチャーは、データベース、アプリケーション、プレゼンテーションの3階層のクライアントサーバシステムになっております。以下の図でSapECCのソフトウェアアーキテクチャーを示します。

    アプリケーションサーバ

    NetWeaverアプリケーションサーバは、ABAP環境とJAVA環境の両方をサポートしており、それぞれ利用タイプAS ABAPとAS JAVAとして利用することができます。 以下の図でNetWeaverアプリケーションサーバのアーキテクチャ構成を示します。

    サーバの構造

    以下の図で、ABAPアプリケーションサーバの構造を示します。

    ワークプロセス
    ワークプロセスはアプリケーション(すなわち1つのダイアログステップ) を実行することのできるコンポーネントです。
    J2EEにおいては、アプリケーションサーバの実行スレッドに相当します。  ディスパッチャ 
    ディスパッチャは、ダイアログステップに対するリクエストを SAPgui から受け取って、それを空いているワークプロセスに転送します。J2EEにおいては、アプリケーションサーバ:ディスパッチャスレッドに該当します。ゲートウェイ
    ゲートウェイは、ECC通信プロトコル (RFC 、CPI/C) のインタフェースである。ゲートウェイは、同じ ECCシステム内の他のアプリケーションサーバと通信したり、他の R/3 システム、R/2 システム、または非 SAP システムと通信したりすることができます。
    J2EEにおいては、クライアントとアプリケーションサーバとのHTTP通信チャンネルに該当します。ワークプロセス

    以下の図で、ABAPアプリケーションサーバのワークプロセスの種類を示します。

    ダイアログ・ワークプロセス
    ダイアログ・ワークプロセスは、ユーザからのリクエスト(ダイアログステップ実行依頼)を実行します。更新ワークプロセス
    更新ワークプロセスは、データベース更新依頼を実行します。更新依頼は SAP LUW の一部であり、ダイアログワークプロセスの結果として生じたデータベース操作群を 1 つのバックグランド処理用データベースLUW にまとめたものです。バックグランド・ワークプロセス
    バックグランド・ワークプロセスはユーザ・インタラクションなしで実行できるプログラム (バックグランドド・ジョブ) を処理しますスプール・ワークプロセス
    スプール・ワークプロセスは、要求された内容を順次にプリンタなどの出力設備に出力します。スプール・ワークプロセスはアプリケーションサーバ毎に一つのみ存在します。エンキュー・ワークプロセス
    エンキューサーバは、SapECCシステムに一つのみ存在し、アプリケーションサーバ間の処理同期を管理します。

    アプリケーションサーバは、起動する際に、ワークプロセスを必要な数量分全て作成しておきます。何かの処理が実行する必要になるときに、ディスパッチャにより、空いているワークプロセスの中から一つを割り当てられます。処理が終わったら該当ワークプロセスがまた空き状態に戻り、次の割り当てを待ちます。

    SapGUI

    SAPguiは、SapECCシステムをアクセスするためのフロントエンドソフトウェアであり、WebシステムにおけるWebブラウザと同様にThin-Clientの上に動作します。

    SAPguiは、SapECCシステムのアプリケーションサーバである「NetWeaver Applicatiion Server ABAP」と通信し、サーバ上に動作しているABAPプログラムからレスポンスされたプレゼンテーションを表示し、またユーザからの入力を処理し、そのアクションをサーバへリクエストします。

    SAP GUIにも以下の三種類あります。

    SAP GUI for Windows
    Windowsで動くクライアントソフトウェア。SAP GUI for Java
    Java環境で動くクライアントソフトウェア。SAP GUI for HTML 
    HTMLでアプレットとして動く

    一番一般的なのは「SAP GUI for Windows」です。  

    メニュー

    SAPgui画面のメニューは大体下記のようなものから構成されます。

    システム固有システムメニュー
    セッション開始やユーザ設定、ログオフといった、システム全体に影響する機能が含められますヘルプ
    さまざまな形式のオンラインヘルプが提供されますアプリケーション共通オブジェクト
    品目など、通常は現在作業中のオブジェクト名をとって名付けられます。照会、変更、印刷、または終了など、オブジェクト全体に影響する機能が含まれます編集
    選択、編集、コピーなど、現在のオブジェクトの構成要素を編集することができます。ジャンプ:     現在のタスクと関連する他の画面に直接移動することができます。アプリケーション固有
    実行中アプリケーション固有の機能が含められるメニューです。ツールバー

    アイコン機能説明A入力画面で選択または入力したデータのチェックを行います。 Enterキーと同じ機能。Bコマンドフィールド トランザクションコードを入力することで直接目的の画面を開くことができます。なお以下のコードをトランザクションコードの前に入力した場合、/O  -新規ウィンドウで目的画面を開くことが可能。/N  -同一ウィンドウで目的の画面へ遷移することが可能。C保存作業を保存します。メニューの保存と同じ機能。D前画面データのチェックを行い、前画面に戻ります。E終了前画面に戻ります。(注)ボタン押下時に画面チェックが行われます。画面チェックにかかると、正常値へ訂正するか、中止ボタンをクリックしないと画面を閉じることができません。F中止データのチェックを行わず、作業を終了し前画面に戻ります。  ※ボタン押下時に画面チェックは行いません。G印刷データを印刷します。H検索データを検索します。I検索続行データを検索します。データ検索後は、次検索ボタンとなります。J第一ページ画面の表示が1ページを超過する場合に使用します。第1ページにスクロールします。K前ページ画面の表示が1ページを超過する場合に使用します。前ページにスクロールします。L次ページ画面の表示が1ページを超過する場合に使用します。次ページにスクロールします。M最終ページ画面の表示が1ページを超過する場合に使用します。最終ページにスクロールします。Nセッション開始別ウィンドウで新規に画面を開く場合に使用します。(注)新規画面では「SAP Easy Access」画面が表示されます。(注)複数画面で処理中に右上  をクリックすると、確認メッセージなしにセッションが終了されます。ステータスバー

    処理の状態やエラーメッセージ等が表示されます

    アプリケーションアーキテクチャー

    アプリケーション・アーキテクチャーとは、情報システムにおいてエンドユーザが利用する各アプリケーションの設計思想やその構成のことです。下記のようなアプリケーション・アーキテクチャーがよく見られます。

    クライアント/サーバアーキテクチャ
    アプリケーションは論理的にクライアント側とサーバ側と2階層に分割して実装されます。3層アーキテクチャー
    アプリケーションはプレゼンテーション層、ビジネスロジック層、データ層の3階層に分割して実装されます。
    3層アーキテクチャーの基本原則として、プレゼンテーション層は決してデータ層と直接通信しない。つまり、全ての通信は必ずビジネス・ロジック層を通ることになります。WEBシステムを構築する際に、WEBプラットフォームの特性からこの3層アーキテクチャーが採用されるのはほとんどです。MVCアーキテクチャー
    MVCはプログラムを3つの要素、Model(モデル)、View(ビュー)、Controller(コントローラ)に分割して実装する設計思想であり、場所によってMVCアーキテクチャとも呼ばれていますが、ユーザインタフェースにおける画面上のコンポーネントの管理方法を表しているだけのため、、厳密に言うとアプリケーションアーキテクチャーと言えないと思わられます。MVC に基づくコンポーネントは、三層アーキテクチャのアプリケーションでもよく使われます。

    SapECCのアプリケーションアーキテクチャーもソフトウェアアーキテクチャーに合わせて、プレゼンテーション→アプリケーション→データベースの3階層から構成されています。

    プレゼンテーション:DynproやWebDynproアプリケーション:ABAP(汎用モジュールなど)、Javaデータベース: 各テーブル、ビュー等


  • CO 0 Votes 2606 閲覧数


    このトピックでは、COEP(CO 対象: 明細 (期間別))テーブルを取り上げて説明します。

    項目一覧PK技術名称名称説明○KOKRS管理領域-○BELNR伝票番号-○BUZEI転記行明細番号 PERIO期間- WTGBTR取引通貨の金額- WOGBTR対象通貨の金額- WKGBTR管理領域通貨の金額- MBGBTR合計数量- LEDNR元帳- OBJNR対象番号- GJAHR会計年度- WRTTP値タイプ- VERSNバージョン- KSTAR原価要素- HRKFTCO subkey- VRGNG業務Transaction- PAROBパートナ対象- PAROB1パートナ対象- USPOB元対象- VBUND取引先- BEKNZ借方/貸方フラグ- TWAER取引通貨- OWAER対象通貨- MEINH数量単位- SGTXT名称- GKONT相手勘定コード- WERKSプラント- MATNR品目- EBELN購買伝票- EBELP明細- BUKRS会社コード- ---項目明細

    COEPテーブルに格納されるデータを分類毎にまとめて説明します。

    取引関連情報

    システム制御に利用される情報は主に以下の項目があります。

    どんな原価データなのか? 
    原価要素(KSTAR)から判断できます。

    どのCO対象のデータなのか 
    対象番号(OBJNR)に該当CO明細の金額が計上されるCO対象を識別するための番号が格納されます。例:KS2011T201711
    原価センタOR420701000820
    指図PR30019190
    WBSKL2011T201711 ZXDEXH
    活動BP2011BCL2-23
    ビジネスプロセス

    取引相手はなんなのか?
    取引相手はパートナ対象と呼ばれて、PAROBとPAROB1の2項目がありますが、PAROB1がより確実的にとれるようです。
    FIから転記の場合はパートナ対象が空白と設定されます。

    どんな業務で生成されたデータのか?
    業務Transaction(VRGNG)項目から確認できます。例えば、FIからCOへの転記の場合、項目の値がCOIN、CO内のマニュアル再転記の場合、項目の値がKAMVになります。
    TrCD:OKC1ですべての CO 業務トランザクションを照会できます。

    入り側(コスト)のデータのか、抜き側(配賦)のデータのか?
    FIから転記されたデータは常に入り側(コスト)となります、CO内部で転記されたデータは借方/貸方フラグ(BEKNZ)項目で判断できます。(FIから転記されたデータでは、BEKNZ項目値が金額依存となり、マイナス金額はC(貸方)、正数金額はD(借方)となります。)C/O/S
    センダ貸方転記 ⇒ 抜き側D
    レシーバ借方転記 ⇒ 入り側金額関連情報

    金額関連情報は以下のような項目があります。

    取引通貨金額 WTGBTR対象通貨金額 WOGBTR管理領域通貨金額 WKGBTR取引通貨 TWAER対象通貨 OWAER

    管理領域の通貨は保持していないため、管理領域のマスタから取得できます。

    数量関連情報

    数量情報をもっている伝票明細であれば、その情報が以下の項目に格納されます。

    合計数量(MBGBTR)数量単位(MEINH)品目関連情報

    品目情報をもっている伝票明細であれば、その情報が以下の項目に格納されます。

    プラント(WERKS)品目 (MATNR)購買伝票(EBELN)明細(EBELP)


  • CO 0 Votes 1245 閲覧数


    項目一覧PK技術名称名称説明○KOKRS管理領域-○BELNR伝票番号- GJAHR会計年度- VERSNバージョン- VRGNG業務Transaction- PERAB期間開始- PERBI期間終了- BLDAT伝票日付- BUDAT転記日付- CPUDTR登録日- USNAMユーザ名- BLTXT伝票ヘッダ Text- REFBT参照伝票タイプ- REFBN参照伝票番号- REFBK参照会社コード- REFGJ参照伝票会計年- BLARTFI伝票タイプCO 伝票で参照している財務会計伝票のタイプ。 ORGVG元業務 Tran.- SUMBZ明細合計- KWAER管理領域通貨- ---項目明細

    COBKテーブルに格納されるデータを分類毎にまとめて説明します。

    元伝票情報

    FIやMM、または別のCO伝票から自動転記されたCO伝票の場合、元伝票の参照情報が格納されます。 例えば、入出庫処理で自動転記されたCO伝票の場合、元伝票の入出庫伝票番号情報などが格納されます。元伝票の明細番号情報はCOEPに格納されます。

    参照伝票タイプ(REFBT)
    元伝票の伝票タイプを示すフラグ、主に以下のようなタイプ値があります。R
    FI伝票系K
    CO伝票系 活動タイプ空白
    元伝票がない場合は空白になります。元伝票なし

    参照伝票番号( REFBN)
    元伝票の伝票番号

    参照会社コード(REFBK)
    元伝票の会社コード、FI伝票系の場合のみ

    参照伝票会計年(REFGJ)
    元伝票の会計年度、FI伝票系の場合のみ


  • CO 0 Votes 3197 閲覧数


    伝票系

    COKP 原価センタ別の一次原価要素の制御データ

    No.技術名称名称テキストテーブル説明

    AUAK ヘッダ AUAA 明細 AUAS 明細合計 AUAV ビジネスデータ AUAO 決算予定

    1COBKCO 対象: 伝票ヘッダ-CO伝票のヘッダ情報2COEPCO 対象: 明細 (期間別)--2COEPDCO 対象: 明細決済(評価無し ステータス有り)--3COKLCO 対象: 活動タイプ制御データ--4COSLCO 対象: 活動タイプ合計--5COSPCO 対象: 外部転記の原価合計-※6COSRCO 対象: 統計キー数値合計--7COSSCO 対象: 内部転記の原価合計--8CSSL原価センタ/活動タイプ--9GLPCAEC-PCA: 実績明細--10GLPCTEC-PCA: テーブル合計--マスタNo.技術名称名称テキストテーブル説明1CEPC利益センタマスタデータテーブルCEPCT-2CSKS原価センタマスタCSKT-カスタマイジングNo.技術名称名称テキストテーブル説明1CSKA原価要素(勘定コード依存データ)CSKU-2CSKB原価要素 (管理領域依存データ)--3TKA01管理領域--4TKA02管理領域割当--5TKA04CO 伝票番号範囲--6TKA05原価センタタイプTKT05-7TKA06会計年度期--8TKA07会計年度依存バージョンパラメータ--


  • CO 0 Votes 1162 閲覧数


    このトピックでは、管理会計(CO)モジュールの主な標準機能を取り上げて一覧化します。


    マスタ(+残高)原価要素TrCd代表メニューパス機能説明KA01-登録(一次)KA02-変更KA03-照会KA04-削除KA05-履歴KA06-登録(二次)KA23-一覧照会KA24-一括削除------原価センタTrCd代表メニューパス機能説明KS01-登録KS02-変更KS03-照会KS04-削除KS05-履歴KS07-概略登録KS12-一覧変更KS13-一覧照会KS14-一括削除------活動タイプTrCd代表メニューパス機能説明KL01-登録KL02-変更KL03-照会KL04-削除KL05-履歴KL13-一覧照会KL14-一括削除------指図TrCd代表メニューパス機能説明KO01-登録KO02-変更KO03-照会------業務プロセスTrCd代表メニューパス機能説明CP01-登録CP02-変更CP03-照会CP04-削除CP05-履歴CP12-一覧変更CP13-一覧照会CP14-一括削除------取引系再転記用途(例)
    ある勘定科目で、原価センタAにすべきところを、原価センタBにしてしまった、というケース。特徴修正
    元の借方にマイナス転記、貸方には記録しない。 CO内部のみで反映(FIには反映されない)。一次原価のマニュアル再転記TrCd代表メニューパス機能説明KB11N-入力KB13N-照会KB14N-取消------明細の再転記TrCd代表メニューパス機能説明KB61-入力KB63-照会KB64-取消------

    マニュアル再転記(KB11N)と明細再転記(KB61)の区別

    KB11N:元の伝票にリンクせず、原価センタ会計内の再転記とする。KB61:元のFI伝票を参照し、財務会計伝票+CO伝票一括で再転記する活動配分の再転記TrCd代表メニューパス機能説明KB65-入力KB66-照会KB67-取消------収益のマニュアル再転記TrCd代表メニューパス機能説明KB41N-入力KB43N-照会KB44N-取消------配分TrCd代表メニューパス機能説明KB15N-マニュアル原価配分入力KB16N-マニュアル原価配分照会KB17N-マニュアル原価配分取消KB21N-直接活動配分入力KB22N-直接活動配分照会KB23N-直接活動配分取消------配賦TrCd代表メニューパス機能説明KSU1-実績配賦周期登録KSU2-実績配賦周期変更KSU3-実績配賦周期照会KSU4-実績配賦周期削除KSU5-実績配賦周期実行KSU6--------伝票照会TrCd代表メニューパス機能説明KSB5-実際原価伝票照会KOB1-指図の実際原価明細照会KSB1-原価センタの実際原価明細照会KABP-計画原価伝票照会---期末処理原価センタTrCd代表メニューパス機能説明KSS1-差異計算KSS2-実績原価分割KSS3--KSS4-計画原価分割KSII-実績価格計算実行------内部指図TrCd代表メニューパス機能説明KO88-実績決済:指図KON1-実績活動価格で再評価:指図------業務プロセスTrCd代表メニューパス機能説明CPS1-差異計算CPS2-実績原価分割------レポート

    S_ALR_87013611:原価センタ:実績/計画/差異 レポート  ⇒原価センタの計画値・実績値などを参照。FIの伝票まで参照できる

    S_ALR_87013645:統計キー数値 期間ブレークダウン  ⇒統計キー数値の入力結果を参照できる


  • 会計管理 0 Votes 201 閲覧数


    会計とは

    企業のおいて会計とは、金銭や物品の出納を、貨幣を単位として記録、計算、管理等することを意味します。

    財務会計とは

    企業において財務会計(英:Financial Accounting)とは、企業の財務状況を企業外部の利害関係者(株主、債権者、徴税当局など)に対して提供することを目的とする会計のことです。

    管理会計とは

    管理会計(英:Controlling)とは、その名のとおり、会社が内部で管理を行うための会計のことをいいます。

    経営者や管理者は、通常、この管理会計上の会計情報をもとにして、業務分析や意思決定を行います。

    財務会計と管理会計の比較

    財務会計とは、企業の財務状況を企業外部の利害関係者(株主、債権者、徴税当局など)に対して提供することを目的とする会計のことです

     財務会計管理会計利用者投資家や債権者等の企業外部の利用者経営者や管理者等の企業内部の利用者情報の用途企業との関係をどうするかの判断に使う将来の企業活動を改善するために使う利益の質過去及び現在の利益将来の利益利益計算の単位会社全体(企業集団全体)会社全体の他に事業部や支店等計算期間1年(半年、3ヶ月)週、月、年制度的義務付けありなし


  • CO 0 Votes 964 閲覧数


    原価とは

    原価とは、簡単に言うと、製品または商品にかかった費用、コストのことです。

    総原価

    企業で発生する費用は、「総原価」と「非原価」に分けることが出来ます。まず、下記の図で示すように、「売上高」から「営業利益」を引いたものが「総原価」となります。

    総原価はさらに「製造原価(または仕入原価」と「販売費及び一般管理費」に分かれます。

    販売費及び一般管理費(販管費とは、営業部門 における費用や総務部などの管理部門における費用のことです。なお、『非原価』とは、異常による損失や支払利息、さらには法人税及び住民税などとなります。

    総原価は工業簿記での用語であり、財務諸表には特に出ておりません。

    仕入原価

    仕入原価とは、スーパーや商社などが完成した商品を仕入れて販売するときの原価です。 仕入原価は、商品をの購入代価に引き取り運賃や購入手数料・関税などの諸費用(これは仕入諸掛といいます)を加算して算定されます。

    製造原価

    製造原価とは、メーカーが原材料を仕入れて加工して製品を作るときの原価です。 製造原価は、材料費、労務費、設備費などの経費で構成され、これに販売及び一般管理費を加算したものが総原価になります

    一般的に、原価だけという場合は、「製造原価」を指す場合が多いようです。

    原価要素

    原価要素とは、原価の構成要素のことです。製造原価要素はいくつかの分類方法が存在します。

    形態別分類

    原価は財務会計の費用発生を基礎として形態別に「材料費」「労務費」「経費」の3つに分類することができます。

    材料費
    材料費は製品を製造するにあたり消費した物品の費用です。労務費
    労務費は製品を製造する人に対して払う給料です。これは正社員だけでなく契約社員やパートタイマーに対いて支払う賃金も労務費にあたります。経費
    材料費、労務費以外のものすべてが経費となります。水道光熱費、旅費交通費、減価償却費、支払手数料などさまざまなものがあります。製品との関連から分類

    原価は「その費用が特定の製品に使用されたことが明確であるか?」という視点で以下のように分類できます。

    直接費
    特定の製品に使用されたことが明らかな費用間接費
    特定の製品に使用されたことが不明確な費用

    例えば、工場でお菓子を作る場合、お菓子を作るのに使用した米などは直接費になりますが、お菓子を作っている工場の電気代などは、どのお菓子の製造に使用した電気代であるのかは不明確であるため、間接費となります。

    操業度との関連から分類

    操業度との関連における分類とは、操業度の増減により原価がどのように変動したかという観点による分類のことです。。 この分類方法では、製造原価要素は次の2種類に分類されます。

    変動費
    操業度の増減に応じて比例的に変動する原価(操業度がゼロの場合には発生しない)固定費
    操業度の増減に無関係に常に一定額が発生する原価原価の管理

    原価管理とは、1962年、財務省(当時の大蔵省)によって次のように定義されています。 「原価管理とは、原価の標準を設定してこれを指示し、原価の実際の発生額を計算記録し、これを標準と比較して、その差異の原因を分析し、これに関する資料を経営管理者に報告し、原価能率を増進する措置を講ずることをいう」

    簡単にまとめると、原価管理とは、文字通り原価を管理するとのことですね、具体的には、以下3つのアクションがありす。

    原価企画
    製品を企画する際、製造に投じて良い原価を設定することです。原価維持
    目標原価の範囲で製品を製造するために、生産や調達を工夫することです。原価改善
    目標よりも安く原価を抑える取り組みのことです。


  • FI 0 Votes 1655 閲覧数


    このトピックでは、拡張実装の観点から見た各会計処理のプロセスを取り上げて説明します。

    会計業務画面入力

    以下、拡張プログラムの呼び出し順番です。

    BTE/Process:1100代入チェック転記伝票を登録

    以下、拡張プログラムの呼び出し順番です。

    代入(明細単位)チェック(明細単位)BTE/Process:1120完了伝票チェックBTE/P&S:1030未転記伝票を登録

    以下、拡張プログラムの呼び出し順番です。

    チェックAC_DOCUMENT BADIBTE/P&S:2218未転記伝票を転記

    以下、拡張プログラムの呼び出し順番です。

    チェック(完了伝票)代入(明細)チェック(明細)BTE/Process:1120チェック(完了伝票)BTE/P&S:1030会計インタフェース入出庫処理

    以下、拡張プログラムの呼び出し順番です。

    代入(明細)AC_DOCUMENT BADIBTE/Process:1120チェック(明細)チェック(完了伝票)


  • FI 0 Votes 9234 閲覧数


    概要

    転記済みの会計伝票の明細情報が格納されます。未転記の会計伝票の明細はこのテーブルに格納されます。 BSEGはクラスタテーブルであるため、BKPFと結合検索することができません。

    項目一覧No.PK技術名称名称説明1○BUKRS会社コード-2○BELNR伝票番号-3○GJAHR会計年度-4○BUZEI明細-5----項目明細

    BSEGテーブルに格納されるデータを分類毎にまとめて説明します。

    システム制御情報

    システム制御に利用される情報は主に以下の項目があります。

    転記キー(BSCHL)
    転記キーにより、勘定明細の勘定タイプと貸借区分が決定されます、それにその他の登録データも確定されます。金額転記ストリング(BUSTW)勘定の基本情報

    勘定の基本情報は以下の項目があります。

    総勘定元帳勘定(HKONT)
    HKONTには本当の総勘定元帳勘定コードが格納されますG/L勘定(SAKNR)
    SAKNRには、取引先(仕入先または得意先)の統制勘定コードが格納されます。 統制勘定ではない明細にはSAKNRが空白になります。
    普通の統制勘定明細には、SAKNRの値がHKONTと同じになります。
    普通の統制勘定明細には、HKONTに特殊の総勘定元帳勘定コード、SAKNRに統制勘定コードがそれぞれ格納されます。勘定タイプ(KOART)
    会計伝票明細の勘定タイプは以下の5種類が存在します。A:資産D:得意先K:仕入先M:品目S:総勘定元帳借方/貸方(SHKZG)
    借方か貸方かを示すフラグです。 H:貸方、S:借方。貸借対照表勘定(XBILK)
    B/S勘定かどうかを示すフラグです。 空白か“X”かが設定されます。損益計算書勘定(GVTYP)
    損益勘定かどうかを示すフラグです。 空白か“Z”かが設定されます。グループ勘定コード(ALTKT)総勘定元帳の取引タイプ(VORGN)金額情報

    会計伝票明細にはいくつかの金額が保持されています。

    国内通貨額(DMBTR)伝票通貨額(WRBTR)総勘定元帳金額(PSWBT)、総勘定元帳通貨(PSWSL)
    総勘定元帳通貨は必ず国内通貨、伝票通貨の何れかに一致します。消費税情報

    消費税情報はすべての勘定タイプの勘定明細にとも設定されることがありますので、勘定タイプ別に説明します。

    仕入先勘定
    買掛金がすべて同一の税率で掛けられている場合、該当税コードは税コード(MWSKZ)に格納されます。
    買掛金に異なる税率が含められている場合、税コード(MWSKZ)に“**”が格納されるとともに、税コード(MWSK1~3)、国内通貨額(DMBT1~③)、伝票通貨額(WRBT1~3)に各税率(三つまで)の税コードと課税対象金額がそれぞれ格納されます。得意先勘定
    仕入先勘定の仕様に参照ください、買掛金を売掛金に書き換えるだけです。資産勘定
    資産金額の増減が関わっている消費税コードは税コード(MWSKZ)に格納されます。品目勘定
    品目在庫金額の増減が関わっている消費税コードは税コード(MWSKZ)に格納されます。総勘定元帳勘定
    消費税勘定の明細には、税コード(MWSKZ)には該当消費税金額の税コードが格納されます。支払情報支払条件ZTERM支払方法ZLSCH支払保留ZLSPR支払基準日ZFBDT源泉徴収税情報

    源泉徴収税は、拡張源泉徴収税が有効化されているかないかによって動作が異なります。

    拡張源泉徴収税が有効化されていない(従来の源泉徴収税方式)
    仕入先勘定、得意先勘定、総勘定元帳(源泉徴収税)の勘定明細には、源泉徴収税コード(QSSKZ)に該当明細が関わる源泉徴収税コードが格納されます。拡張源泉徴収税が有効化されている(拡張源泉徴収税方式)
    仕入先勘定、得意先勘定の勘定明細には、源泉徴収税があった場合、源泉徴収税コード(QSSKZ)に“XX”がはいり、源泉徴収税)の勘定明細には、源泉徴収税コードではなく、源泉徴収税タイプがはいるようです。
    おそらくBSEGはこのケースにうまく対応できていないと考えられます。
    かわりに、仕入先勘定、得意先勘定の源泉徴収税詳細情報はWITH_ITEMから取得可能です。資産勘定の個別情報

    資産勘定明細の場合のみ設定される情報は以下のものがあります。

    資産番号(ANLN1)資産補助番号(ANLN2)資産取引タイプ(ANBWA)資産評価日(BZDAT)品目勘定の個別情報

    品目勘定明細の場合のみ設定される情報は以下のものがあります。

    品目コード(MATNR)プラント(WERKS)基本数量単位での数量(MENGE)基本数量単位(MEINS) 在庫管理の単位入力単位での数量(ERFMG)入力単位(ERFME) 入出庫伝票で指定された入力単位購買発注価格単位での数量(BPMNG)購買発注価格単位(BPRME) 購買発注伝票で指定された購買発注価格単位原価管理区分(VPRSV)評価レベル(BWKEY)評価タイプ(BWTAR)


  • FI 0 Votes 3862 閲覧数


    概要

    会計伝票のヘッダ情報が格納されます、未転記伝票のヘッダ情報もこのテーブルに格納されます。

    項目一覧No.PK技術名称名称説明1○BUKRS会社コード-2○BELNR伝票番号-3○GJAHR会計年度-4 ---項目明細

    BKPFテーブルに格納されるデータを分類毎にまとめて説明します。

    システム制御情報

    システム制御に利用される情報は主に以下の項目があります。

    伝票タイプ(BLART)伝票ステータス(BSTAT)
    特殊機能のある 伝票 が伝票ステータスにより示されています。以下一部の値です。空白:通常の転記済伝票A:消し込み伝票B:消込済明細再登録伝票D:繰返伝票M:モデル伝票V:未転記伝票Z:削除ずみの未転記伝票実行関連情報どの処理で生成されたデータなのか 
    トランザクションコード(TCODE)にこの伝票を生成した処理のトランザクションコードが格納されます。いつ登録されたデータなのか
    会計伝票登録日(CPUDT)と登録時刻(CPUTMに、この伝票が登録された日付と時刻がそれぞれ格納されます。最後に変更されたのがいつなのか
    変更日(AEDAT)に、最後にの伝票が変更された日付が格納されます。
    但し、伝票登録後に一度も変更がなかった場合、この項目が空白になります。
    なお、このテーブルに最終更新日(UPDDT)という項目がありますが、実際には使用されていないようです。起票者と転記者がそれぞれ誰なのか
    会計伝票は直転記のものもあれば、申請者より未転記伝票を起票してから承認者が転記するものもあります。
    そのため、起票者と転記者を判別するには、以下のようにロジックを組む必要があります。伝票ステータスが「V」(未転記)、「Z」(削除済未転記)の場合(未転記伝票)
    起票者= 「ユーザ名」(USNAM)
    転記者= 空白伝票ステータスが「V」(未転記)、「Z」(削除済未転記)以外の場合(転記済伝票)
    起票者= 「未転記者名」(PPNAM) 但し、「未転記者名」(PPNAM)が空白の場合(直転記のケース)なら、「ユーザ名」(USNAM)
    転記者= ユーザ名」(USNAM)フリー入力情報

    フリー入力項目とは標準テーブルに格納されますが、システムに管理されず、ユーザが自由に入力可能な項目のことです。 ユーザ個別要件を実現するためのEXIT実装にもこれらの項目がよく活用されます。

    参照伝票番号(XBLNR) 
    伝票番号が書いておりますが、ECCシステム内の伝票のことではありません。
    通常、取引先から受領した請求書や納品書に記載されている取引先側番号を記入することが多いが、別の用途として自由に利用してもよい項目です。伝票ヘッダ Text(BKTXT)参照キー1(XREF1_HD)参照キー2(XREF2_HD)参照キー3(XREF3_HD)通貨情報

    会計伝票ヘッダには様々な種類の通貨情報が格納されています。

    伝票通貨
    通貨コード(WAERS)、換算レート(KURSF)国内通貨
    国内通貨(HWAER)、換算レートは国内通貨と換算するレートのため、国内通貨の換算レート項目はなし 
    第2国内通貨(HWAE2)、第2国内通貨の換算レート(KURS2) 
    第3国内通貨(HWAE3)、第3国内通貨の換算レート(KURS3)


  • FI 0 Votes 5337 閲覧数


    伝票転記済No.技術名称名称テキストテーブル説明1BKPF会計伝票ヘッダ--2BKPF会計伝票ヘッダ--3BSEG会計伝票明細--4BSEC会計伝票ワンタイム勘定情報--5BSED会計伝票手形情報--6BSET税データ--7BSAD得意先別決済明細データ--8BSID得意先別未決済明細データ--9BSAK仕入先別決済明細データ--10BSIK仕入先別未決済明細データ--11BSAS総勘定元帳決済明細データ--12BSIM品目別決済明細データ--13BSIS総勘定元帳未決済明細データ--14GLT0総勘定元帳取引金額(月次)データ--15KNC1得意先取引金額(月次)データ--16KNC3得意先特殊仕訳取引金額データ--17LFC1仕入先取引金額(月次)データ--18LFC3仕入先特殊仕訳取引金額データ--19WITH_ITEM会計伝票源泉徴収税データ--未転記No.技術名称名称テキストテーブル説明1VBKPF未転記会計伝票ヘッダ--2VBSEGA未転記会計伝票明細(資産)--3VBSEGD未転記会計伝票明細(得意先)--4VBSEGK未転記会計伝票明細(仕入先)--5VBSEGS未転記会計伝票明細(総勘定)--伝票データ(二次)

    検索や集計のための二次テーブルです、オリジナル伝票データを元にテーブルのデータが転記されます。

    No.技術名称名称テキストテーブル説明1ACCTCRFI/CO 伝票からの圧縮データ - 通貨--2ACCTHDFI/CO 伝票からの圧縮データ - ヘッダ--3ACCTITFI/CO 伝票からの圧縮データ - 明細--4FAGLFLEXT総勘定元帳: 合計--カスタマイジング基本No.技術名称名称テキストテーブル説明1T856取引タイプT856T2TABW資産取引タイプTABWT消費税No.技術名称名称テキストテーブル説明1T005国コードT005S2T007A税キーT007S源泉徴収税No.技術名称名称テキストテーブル説明1T001会社コード--2T001WT会社毎の源泉徴収税タイプ--3T059P源泉徴収税タイプT059U4T059Z源泉徴収税コード (拡張機能)T059ZT5T059FB源泉徴収税計算論理式 (拡張機能)-