入出庫伝票 登録 API (GoodsMvtCreateController)¶
入出庫伝票を登録するためには、GoodsMvtCreateController クラスの持つ各メソッドを利用する必要があります。引数、戻り値についての詳細な情報は、API リストを参照してください。また。登録可能な項目は、入出庫伝票として必要最低限必要と判断される項目のみとなっています。
各メソッドの説明¶
コンストラクタ / メソッド名 説明 GoodsMvtCreateController コンストラクタ(引数無し) GoodsMvtCreateController コンストラクタ(第1引数あり)。ConnectionManager を使う場合に使用する。第1引数で「ConnectionManager」を設定する。 GoodsMvtCreateController コンストラクタ(第1引数あり)。SAPClient の接続情報を使う場合に使用する。第1引数で「SAPClient」(オブジェクト)を設定する。 setTestrun import 項目:在庫移動シミュレーションを設定します。 setStrParam 構造型の各項目に値を設定する。第1引数に structure名、第2引数に項目名、第3引数に値を設定する。 setTblParam テーブル型の各項目に値を設定する。第1引数にテーブル名、第2引数に項目名、第3引数に値、第4引数にレコード番号を設定する。 executeBapi BapiController により入出庫伝票を登録します。 getBapiReturnErrMessage BAPI実行結果であるBapiReturnのType情報が正常(デフォルト値:”S”/””)以外の BapiReturn オブジェクトのメッセージ情報を全て返します。全て正常の場合は null が返却されます。getBapiReturnMessage BAPI実行結果である BapiReturn の Type 情報が正常(デフォルト値: “S” / “”)と判断された Type 情報のメッセージ情報を全て返します。メッセージが存在しない場合は null が返却されます。getTestrun import 項目:在庫移動シミュレーションを取得します。 getMatdocumentyear export 項目:入出庫伝票会計年度を取得します。 getMaterialdocument export 項目:入出庫伝票番号を取得します。 getGoodsMvtCode import 項目:設定した在庫移動に対するコードのトランザクションへの割当情報を取得します。 getGoodsMvtHeader import 項目:設定した入出庫伝票ヘッダデータ情報を取得します。 getGoodsMvtRefEwm import 項目:BAdI 通信構造: 入出庫伝票 EWM 照会情報を取得します。 getGoodsMvtHeadret export 項目:設定した入出庫伝票番号/入出庫伝票会計年度情報を取得します。 getGoodsMvtItemList import 項目:設定した入出庫伝票明細情報を取得します。 getGoodsMvtSerialNumberList import 項目:設定したシリアル番号情報を取得します。 getGoodsMvtServPartDataList import 項目:BAPI 通信構造: サービスパーツデータ情報を取得します。 getExtensioninList Import 項目:BAPI パラメータ ExtensionIn の参照構造情報を取得します。
サンプルプログラム¶
//■入庫伝票登録 var materialDocument; var matDocumentYear; var goodsMvtHeadret; var ret; function init(request) { //-------------------------------------------------------------------------- //変数宣言 //-------------------------------------------------------------------------- var objCon; var objResult; var objMsg; // executeBapi実行結果メッセージ //-------------------------------------------------------------------------- //インスタンス生成 //-------------------------------------------------------------------------- objCon = new GoodsMvtCreateController(); // 説明 1 //-------------------------------------------------------------------------- // テスト実行 //-------------------------------------------------------------------------- objCon.setTestrun(""); //在庫移動シミュレーション // 説明 2 //-------------------------------------------------------------------------- // 構造体項目セット // 説明 3 //-------------------------------------------------------------------------- objCon.setStrParam("GoodsMvtHeader","PSTNG_DATE","20061201",1); //伝票の転記日付 objCon.setStrParam("GoodsMvtCode","GM_CODE","01",1); //BAPI 在庫移動トランザクションのコード割当 //-------------------------------------------------------------------------- // テーブル項目セット // 説明 4 //-------------------------------------------------------------------------- objCon.setTblParam("GoodsMvtItem","MOVE_TYPE","101",1); //移動タイプ (在庫管理) objCon.setTblParam("GoodsMvtItem","ENTRY_QNT","1",1); //入力単位での数量 objCon.setTblParam("GoodsMvtItem","PO_NUMBER","4500000015",1); //購買発注番号 objCon.setTblParam("GoodsMvtItem","PO_ITEM","00010",1); //購買伝票の明細番号 objCon.setTblParam("GoodsMvtItem","MVT_IND","B",1); //移動区分 //-------------------------------------------------------------------------- // executeBapi実行 //-------------------------------------------------------------------------- objResult = objCon.executeBapi(); // 説明 5 //-------------------------------------------------------------------------- // エラー判定 //-------------------------------------------------------------------------- if (objResult["ERR_CODE"] != null){ Debug.browse(objResult); } //入出庫伝票 // 説明 6 materialDocument = objCon.getMaterialdocument(); matDocumentYear = objCon.getMatdocumentyear(); goodsMvtHeadret = objCon.getGoodsMvtHeadret(); //API実行結果を取得します。 objMsg = objCon.getBapiReturnMessage(); Debug.print("objMsg =[" + objMsg + "]"); ret = objMsg; }
入出庫伝票登録 API のインスタンス生成(説明1)
GoodsMvtCreateControllerクラスのインスタンスを生成します。引数は不要です。インスタンスを生成すると、入出庫伝票登録BAPI(BAPI_GOODSMVT_CREATE)のimport型のimport、structure、table パラメータに値を設定することができます。
-
import の各項目に値を設定(説明2)
import パラメータの項目に値を設定する場合は、set メソッドを使用します。メソッドについては各 API のAPI リストを参照ください。コラム
サンプルプログラムでは import セットは行っていません。
structure の各項目に値を設定(説明3)
structure パラメータの項目に値を設定する場合は、setStrParam メソッドを使用します。第1引数のstructure 名称は固定値になっています。後述のとおりに名称を設定して下さい。第2引数の項目名称はSAPの各属性の項目名称を設定してください。structure 名称、項目名称は英字の大文字、小文字は厳密に区別されます。第3引数に値を設定します。SAP structure セットする固有名称 GOODSMVT_CODE (在庫移動に対するコードのトランザクションへの割当) GoodsMvtCode GOODSMVT_HEADER 入出庫伝票ヘッダデータ GoodsMvtHeader GOODSMVT_REF_EWM (BAdI 通信構造: 入出庫伝票 EWM 照会) GoodsMvtRefEwm table の各項目に値を設定(説明4)
table パラメータの項目に値を設定する場合は、setTblParam メソッドを使用します。第1引数のtable名称は固定値になっています。後述のとおりに名称を設定して下さい。第2引数の項目名称は SAP の各属性の項目名称を設定してください。table 名称、項目名称は英字の大文字、小文字は厳密に区別されます。第3引数に値、第四引数にレコード番号を設定します。SAP structure セットする固有名称 GOODSMVT_ITEM (入出庫伝票明細) GoodsMvtItem GOODSMVT_SERIALNUMBER (シリアル番号) GoodsMvtSerialNumber GOODSMVT_SERV_PART_DATA (BAPI通信構造:サービスパーツデータ情報) GoodsMvtServPartData EXTENSIONIN (BAPI パラメータ ExtensionInの参照構造) Extensionin 入出庫伝票の登録(説明5)
GoodsMvtCreateController クラスの executeBapi メソッドを実行すると、各項目にセットされた値が SAP上に入出庫伝票データとして登録されます。登録が成功した場合には、入出庫伝票登録APIの内部で自動的に commit 処理が実行されます。登録に失敗した場合には、自動的に rollback 処理が実行されます。成功・失敗の基準は、入出庫伝票登録用 BAPI(BAPI_GOODSMVT_CREATE)の実行後に RETURNパラメータの TYPE 値を取得して、S(正常終了)、空文字以外が1つでも存在するかどうかです。1つでも存在する場合は、rollback が自動的に実行されます。
-
サンプルプログラムの中で記載されたデータ取得メソッドの詳細説明については、以下を参照してください。(説明6)
Type 情報が正常(デフォルト値: “S” / “”)以外の BapiReturn を取得
GoodsMvtCreateController クラスの getBapiReturnErrMessage メソッドを使用すると、取得したBapiReturn の Type 情報が正常(デフォルト値: “S” / “”)以外の BapiReturn オブジェクトのメッセージ情報を取得することが可能です。全て正常の場合は null を取得します。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。Type 情報が正常(デフォルト値: “S” / “”)の BapiReturn を取得
GoodsMvtCreateController クラスの getBapiReturnMessage メソッドを使用すると、取得した BapiReturnのType情報が正常(デフォルト値: “S” / “”)と判断された Type情報のメッセージ情報を取得することが可能です。メッセージが存在しない場合は null を取得します。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。在庫移動シミュレーション情報を取得
GoodsMvtCreateController クラスの getTestrun メソッドを使用すると、設定した在庫移動シミュレーション情報を取得することが可能です。入出庫伝票会計年度情報を取得
GoodsMvtCreateControllerクラスのgetMatdocumentyearメソッドを使用すると、取得した入出庫伝票会計年度情報を取得することが可能です。入出庫伝票番号情報を取得
GoodsMvtCreateController クラスの getMaterialdocument メソッドを使用すると、取得した入出庫伝票番号情報を取得することが可能です。在庫移動に対するコードのトランザクションへの割当情報を取得
GoodsMvtCreateController クラスの getGoodsMvtCode メソッドを使用すると、設定した在庫移動に対するコードのトランザクションへの割当情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。入出庫伝票ヘッダデータ情報を取得
GoodsMvtCreateController クラスのgetGoodsMvtHeader メソッドを使用すると、設定した入出庫伝票ヘッダデータ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。入出庫伝票番号/入出庫伝票会計年度情報を取得
GoodsMvtCreateController クラスの getGoodsMvtHeadret メソッドを使用すると、取得した入出庫伝票番号/入出庫伝票会計年度情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。BAdI 通信構造: 入出庫伝票 EWM 照会情報を取得
GoodsMvtCreateController クラスの getGoodsMvtRefEwm メソッドを使用すると、取得した BAdI 通信構造: 入出庫伝票 EWM 照会情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。入出庫伝票明細情報を取得
GoodsMvtCreateController クラスの getGoodsMvtItemList メソッドを使用すると、設定した入出庫伝票明細情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。シリアル番号情報を取得
GoodsMvtCreateController クラスの getGoodsMvtSerialNumberList メソッドを使用すると、設定したシリアル番号情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。BAPI 通信構造: サービスパーツデータ情報を取得
GoodsMvtCreateController クラスの getGoodsMvtServPartDataList メソッドを使用すると、設定したBAPI 通信構造: サービスパーツデータ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。BAPI パラメータ ExtensionIn の参照構造情報を取得
GoodsMvtCreateController クラスの getExtensioninList メソッドを使用すると、設定した BAPI パラメータ ExtensionIn の参照構造情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。コラム
サンプルプログラム実行結果では、SAP テスト環境のデータが取得されています。SAP標準では該当データが存在しません。
注意
入出庫伝票登録 API に関して、import、structure、table パラメータが持つ各コンポーネントの必須項目や値の相関チェック等を確認する必要がある場合は、SAP 上の汎用モジュールビルダ(t-cd:SE37)等を使用して、「BAPI_GOODSMVT_CREATE」の BAPI 仕様を確認してください。