原価センタ 取得 API (CostCenterController)¶
原価センタの情報を取得するためには、CostCenterController クラスの持つ各メソッドを利用する必要があります。引数、戻り値についての詳細な情報は、API リストを参照してください。
各メソッドの説明¶
コンストラクタ / メソッド名 説明 CostCenterController コンストラクタ(引数無し)。No4~18 のメソッドで値を設定し、No19 executeBapi メソッドで BAPI を呼び出し原価センタを取得する場合に使用します。CostCenterController コンストラクタ(第1引数あり)。引数で指定した「管理領域コード」配下の原価センタの内、システム日付時点で有効な原価センタの情報のみ、No20~22 のメソッドにて取得することができるようになる。CostCenterController コンストラクタ(第1、第2引数あり)。第1引数で指定した「管理領域コード」配下の原価センタの内、第2引数で指定した日付時点で有効な原価センタの情報のみ、No20~22 のメソッドにて取得することができるようになる。setControllingarea 第1引数で指定した管理領域を設定する。 setCostcenterFrom 第1引数で指定した原価センタ(開始値)を設定する。 setCostcenterTo 第1引数で指定した原価センタ(終了値)を設定する。 setPersonInChargeFrom 第1引数で指定した責任者(開始値)を設定する。 setPersonInChargeTo 第1引数で指定した責任者(終了値)を設定する。 setDateFrom 第1引数で指定した有効期間(開始値)を設定する。 setDateTo 第第1引数で指定した有効期間(終了値)を設定する。 setCostcentergroup 第1引数で指定した原価センタグループを設定する。 setControllingarea 第1引数で指定した事業領域を設定する。 setMasterDataInactive 第1引数で指定したマスタレコードの無効化を設定する。 setPersonInChargeUserFrom 第1引数で指定した担当ユーザ(開始値)を設定する。 setPersonInChargeUserTo 第1引数で指定した担当ユーザ(終了値)を設定する。 setTblParam テーブル型の各項目に値を設定する。第一引数にテーブル名、第二引数に項目名、第三引数に値、第四引数にレコード番号を設定する。executeBapi 上記のsetメソッドで設定した値に紐づく原価センタを取得する為にBAPI を呼び出します。 getCostCenterList コンストラクタまたは、上記のsetメソッドで設定した値に紐づく原価センタ情報(管理領域コード、原価センタコード、一般名称、テキスト)が格納された配列を取得する。 getName 引数で指定した「原価センタコード」に対応する原価センタの一般名称を取得する。 getDescript 引数で指定した「原価センタコード」に対応する原価センタのテキストを取得する。 getExtensionInList BAPI パラメータ EXTENSIONIN の参照構造配列を取得する。 getExtensionOutList BAPI パラメータ EXTENSIONOUT の参照構造を取得する。
サンプルプログラム¶
var name; var descript; var listResult; var listCount; function init(request) { var objCon; var code; //インスタンス生成 objCon = new CostCenterController("1000"); // 説明1 // コンストラクタでのエラーチェック if(objCon.getErrCode() != "0"){ //エラーメッセージ出力 Debug.browse(objCon.getErrMsg()); } //原価センタの一覧を取得 listResult = objCon.getCostCenterList(); // 説明3 //原価センタの一覧から1件目の「原価センタコード」を取得 code = listResult[0]["COST_CENTER"]; //1件目のデータの一般名称を取得 name = objCon.getName(code); // 説明4 //1件目のデータのテキストを取得 descript = objCon.getDescript(code); // 説明5 //一覧の件数を取得 listCount = listResult.length; // 説明6 }
原価センタ取得 API のインスタンス生成(説明1)
CostCenterController クラスのインスタンスを生成します。インスタンスは、以下の3つのいずれかの方法で生成することができます。インスタンスを生成すると、BAPI を呼出して原価センタを取得する処理が実行されます。サンプルプログラム内では、管理領域コード「JP10」を直接記述していますが、管理領域取得APIにて取得した管理領域コードがセットされた変数を引数に用いれば、より効率的なプログラムを作成することが可能です。
- システム日付時点で有効な原価センタを取得する場合
インスタンス(第1引数あり)を生成します。第1引数で「管理領域コード」を指定します。objCon = new CostCenterController (“JP10”)は、管理領域コード「JP10」に紐付けられている原価センタの情報の内、システム日付時点で有効な情報のみを取得する、となります。
- 引数で指定した日付時点で有効な原価センタを取得する場合
インスタンス(第1、第2引数あり)を生成します。第1引数で「管理領域コード」、第2引数で「日付(YYYYMMDD)」を指定します。もし、objCon = new CostCenterController (“JP10”,”20040930”)とした場合は、管理領域コード「JP10」に紐付けられている原価センタの情報の内、2004年9月30日時点で有効な情報のみを取得する、となります。
- 引数を指定しないで原価センタを取得する場合
引数なしインスタンスを生成します。コンストラクタ生成後、管理領域や会社コード、原価センタなどをsetter メソッドにより設定します。そして executeBapi メソッドにより BAPI を呼び出し、setter メソッドで設定した値に紐付けられている原価センタの情報を取得します。table の各項目に値を設定(説明2)
引数なしコンストラクタを生成し、各 setter メソッドで値を設定し executeBapi メソッドで BAPI を呼び出すことができます。table パラメータの項目に値を設定する場合は、setTblParam メソッドを使用します。第一引数のtable名称は固定値になっています。後述のとおりに名称を設定して下さい。COSTCENTERLIST(原価センタ一覧):CostCenterEXTENSIONIN(BAPIパラメータ EXTENSIONIN):ExtensionInEXTENSIONOUT(BAPIパラメータ EXTENSIONOUT):ExtensionOut第二引数の項目名称はSAP の各属性の項目名称を設定してください。table 名称、項目名称は英字の大文字、小文字は厳密に区別されます。第三引数に値、第四引数にレコード番号を設定します。原価センタの一覧を取得(説明3)
CostCenterController クラスの getCostCenterList メソッドを使用すると、原価センタの一覧を取得することが可能です。ただし、CostCenterController クラスのインスタンスを生成する際に、引数で指定した管理領域コードに紐付けられている原価センタのみ一覧に含まれます(引数で指定したシステム日付時点で有効でない原価センタは対象外)。1件目のデータの一般名称を取得(説明4)
CostCenterController クラスのgetNameメソッドを使用すると、引数に指定した原価センタコードに対応する一般名称を取得することが可能です。該当するデータが存在しない場合は、何も返却されません。1件目のデータのテキストを取得(説明5)
CostCenterController クラスの getDescript メソッドを使用すると、引数に指定した原価センタコードに対応するテキストを取得することが可能です。該当するデータが存在しない場合は、何も返却されません。一覧の件数を取得(説明6)
CostCenterController クラスの getCostCenterList メソッドで取得した原価センタの一覧は、length で件数を取得することが可能です。