【SAP知識】クラスと特性 設定方法の解説

SAP 共通・技術情報

SAPにはクラスおよび特性というものがあり、品目やロットの属性情報を指定するために使える設定だ。

これだけではロジに馴染みのないSAPコンサルは首をかしげると思うが、品目マスタの「分類」タブを思い返してみてほしい。
このタブだけ他と挙動が違うので、うっかり踏みたくないという人も居そうだが、この分類タブこそクラスを設定するためのものだ。

では、品目やロットの属性情報とは何か?

乗用車で例えてみよう。
同じ車種であったとしても、購入者の好みにより様々なカスタマイズやオプションが存在する。
車体の色であったり、シートの材質、オーディオコンポの有り無しであったり、国によって左ハンドル/右ハンドルであったりと、バリエーションが発生する。

こうした一つ一つのオプションが「特性」であり、その特性をワンセットで束ねておくものが「クラス」なのだ。

使い道は色々あり、例えば生産ロットごとに特性情報を紐づけておき、在庫引当時にロット検索方針にて、要求仕様にあった在庫を引き当てることができる。
あるいは、品質検査項目を「特性」として登録しておき、品質検査ロットの検査結果入力項目として使用する。許容値から外れる場合は検査不合格とするような制御も可能。

今回は、そうした機能の前提となるクラスと特性の設定方法について解説する。

クラスと特性の設定方法

今回は極力分かりやすくするために、「品目:家系ラーメン」を例に、それに紐づけるクラスと特性を定義する。

ご存知の方も多いと思うが家系ラーメン店では入店時に「お好み」を訊かれる。
この時、以下の三項目について店員に回答しなければならない。

・麺 (固め・ふつう・やわらかめ)
・味 (濃いめ・ふつう・うすめ)
・油 (多め・ふつう・少なめ)

このとき、特性項目は「麺」「味」「油」の3つであり、「お好み」というクラスにそれら特性をまとめておく、ということになる。

特性登録(Tr:CT04)

まずトランザクションCT04の画面から、特性を定義する。
特性「麺の固さ」を以下のように定義してみよう。

特性:Z_MEN

【基本データ】タブ
・特性テキスト:麺の固さ
・データタイプ:CHAR 文字書式
・文字数:5
・値割当:個別値

【値】タブ
許可値:
・ふつう
・固め
・やわらかめ

同じ要領で、特性「Z_AJI(味の濃さ)」、特性「Z_ABURA(油の量)」も定義していき、合計3つの特性が出来上がる。

クラス登録(Tr:CL01)

トランザクションCL01からクラス「お好み」を以下のように設定していこう。

クラス:Z_OKONOMI
クラスタイプ:023(ロットクラス)
テキスト:お好み【特性】タブ
・Z_MEN(麺の固さ)
・Z_AJI(味の濃さ)
・Z_ABURA(油の量)

これでクラス「お好み」に特性「麺」「味」「油」がセットされたわけだ。

ロットにクラスを設定してみる(Tr:MSC1)

設定したクラスZ_OKONOMIを実際に使ってみよう。
今回はロットに分類を割り当てる例を紹介する。

Tr:MSC1で「品目:家系ラーメン」を使って任意のロットを作成する。
ロット登録画面にて「分類」というボタンがあるので、そこからクラスZ_OKONOMIを割り当てる。すると画面の下半分に、当該クラスに割り当てた特性の一覧が表示される。

特性「Z_MEN」の検索ヘルプを開いてみよう。すると、ラジオボタンにて許可値である「固め」「ふつう」「やわらかめ」から一つ選択できるようになっているはずだ。
このようにしてロットの属性を定義できるのだ。

ロット検索を行ってみる(Tr:BMBC ロット情報コックピット)

ロットの検索はTr:BMBC(ロット情報コックピット)から実行できる

検索条件として「分類」タブで「選択クラス」にクラスZ_OKONOMIを設定し、隣の白紙ボタンを押そう。直下に検索対象の特性が表示されるので、検索したい特性値を入力する。
特性「Z_MEN」に特性値「固め」を入力すれば、その条件に合った特性を持つロットの一覧が表示される。

特性とクラスの関連機能

特性一覧(Tr:CT10)

設定済みの特性の一覧を表示できる。

特性の使用先一覧(Tr:CT12)

特性がどこで使われているか(どのクラスに割り当てられているかなど)を検索可能。

クラス一覧(Tr:CL6AN)

クラスの一覧を検索、表示できる。紐づいている特性および特性値も照会可能。

対象依存(Tr:CU01)

対象依存とは、特性を使って自動計算などの処理を行うことが出来る機能だ。
日本語だと何となく違和感がある単語だが、英語だとObject Dependencyなので、オブジェクト間の関係を定義するような意味だと捉えればいい。

例えば一つのクラスの中で「縦幅」「横幅」「高さ」という数値特性(単位:センチメートル)を定義していたとする。
もう一つ「体積」という数値特性を定義しておき、体積の特性には「縦幅」×「横幅」×「高さ」という計算式をセットしておく。

こうすることで、特性「体積」には常に、入力された長さ情報に基づく計算結果(立方センチメートル)が表示されるというわけだ。

ただ表示させるだけではなく、受注伝票・製造指図・購買発注における品目数量を、特性「体積」の計算結果で更新させることも出来る。
(Tr:CT04の「追加データ」タブの「テーブル名」「項目名」の設定で可能となるが、長くなるので別途「選定可能品目」についての説明記事を設ける)

ちなみに、対象依存で使用した特性の使用先一覧はTr:CT25で検索できる。

特性とクラスの関連テーブル

CABN 特性
KLAH クラスヘッダデータ
KSML クラスの特性

より詳しく学びたい方へ(参考書、専門書のご紹介)

・ファーストステップABAP入門 (Espresso Tutorials)


ABAPを勉強したい人向けの入門書。めずらしく日本語で書かれており、図表付きで初学者の導入にはかなり良いカンジの参考書となっている。

・ABAP to the Future (3rd edition updated and expanded)

次世代のSAP動向を勉強したいのであれば、ABAP to the Future (3rd edition updated and expanded)もおススメできる。
これも英語だが、2025年問題(現2027年問題)以降のSAP業界を技術者として生きていくのであれば、押さえておくべき重要知識が詰まっている。

ブログランキング・にほんブログ村へにほんブログ村

タイトルとURLをコピーしました