受注伝票 登録 API (SalesOrderCreateFromDat2Controller)¶
受注伝票を登録するためには、SalesOrderCreateFromDat2Controller クラスの持つ各メソッドを利用する必要があります。引数、戻り値についての詳細な情報は、API リストを参照してください。また、登録可能な項目は、見積伝票として必要最低限必要と判断される項目のみとなっています。
各メソッドの説明¶
コンストラクタ / メソッド名 説明 SalesOrderCreateFromDat2Controller コンストラクタ(引数無し) SalesOrderCreateFromDat2Controller コンストラクタ(第 1 引数あり)。ConnectionManager を使う場合に使用する。第 1 引数で「ConnectionManager」を設定する。SalesOrderCreateFromDat2Controller コンストラクタ(第 1 引数あり)。SAPClient の接続情報を使う場合に使用する。第 1 引数で「SAPClient」(オブジェクト)を設定する。setBehaveWhenError import 項目:エラー処理を設定します。 setBinaryRelationshiptype import 項目:バイナリ関連タイプ (専用)を設定します。 setConvert import 項目:変換: 取引先機能 + 受注伝票タイプを設定します。 setIntNumberAssignment import 項目:明細番号内部採番を設定します。 setSalesdocumentin import 項目:販売管理伝票番号を設定します。 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 が返却されます。getBehaveWhenError import 項目:エラー処理を取得します。 getBinaryRelationshiptype import 項目:バイナリ関連タイプ (専用)を取得します。 getConvert import 項目:変換: 取引先機能 + 受注伝票タイプを取得します。 getIntNumberAssignment import 項目:明細番号内部採番を取得します。 getSalesdocument import 項目:生成された伝票の番号を取得します。 getTestrun import 項目:テスト実行を取得します。 getSalesdocumentin export 項目:販売管理伝票番号を取得します。 getExtensionInList import項目:設定したVBAK、VBAP、VBEP のカスタマ拡張情報を取得します。 getLogicSwitch import 項目:設定した内部制御パラメータ情報を取得します。 getOrderCcardList import 項目:設定したクレジットカードデータ情報を取得します。 getOrderCfgsBlobList import項目:設定した選定: BLOB 内部データ (SCE)情報を取得します。 getOrderCfgsInstList import 項目:設定した選定: インスタンス情報を取得します。 getOrderCfgsPartOfList import 項目:設定した選定: 部分設定情報を取得します。 getOrderCfgsRefList import 項目:設定した選定: 参照データ情報を取得します。 getOrderCfgsRefInstList import 項目:設定した選定: 参照明細/インスタンス情報を取得します。 getOrderCfgsValueList import 項目:設定した選定: 特性値情報を取得します。 getOrderCfgsVkList import 項目:設定した選定: バリアント条件キー情報を取得します。 getOrderConditionsInList import 項目:設定した条件情報を取得します。 getOrderConditionsInXList import 項目:設定した条件チェックボックス情報を取得します。 getOrderHeaderIn import 項目:設定した受注伝票ヘッダ情報を取得します。 getOrderHeaderInX import 項目:設定した受注伝票チェックリスト情報を取得します。 getOrderItemsInList import 項目:設定した明細データ情報を取得します。 getOrderItemsInXList import 項目:設定した明細データチェックボックス情報を取得します。 getOrderKeysList import 項目:設定した参照キーの出力テーブル情報を取得します。 getOrderPartnersList import 項目:設定した伝票取引先情報を取得します。 getOrderSchedulesInList import 項目:設定した納入日程行データ情報を取得します。 getOrderSchedulesInXList import 項目:設定した納入日程行データチェックボックス情報を取得します。 getOrderTextList import 項目:設定したテキスト情報を取得します。 getPartnerAddressesList import 項目:設定したアドレス (組織/会社) 用 BAPI 参照構造情報を取得します。 getSender import 項目:設定した論理システム - 送信者情報を取得します。
サンプルプログラム¶
var salesDocument; var partneraddressesList; // グローバル変数 省略 var cfgsreflistCount; var ret; function init(request) { //-------------------------------------------------------------------------- //変数宣言 //-------------------------------------------------------------------------- var objRet; // executeBapi実行結果 var objMsg; // executeBapi実行結果メッセージ //-------------------------------------------------------------------------- //インスタンス生成 // 説明 1 //-------------------------------------------------------------------------- var objCon = new SalesOrderCreateFromDat2Controller(); //-------------------------------------------------------------------------- // テスト実行 // 説明 2 //-------------------------------------------------------------------------- objCon.setTestrun(""); //-------------------------------------------------------------------------- // 構造体項目セット // 説明 3 //-------------------------------------------------------------------------- // 通信項目: 販売管理伝票ヘッダ objCon.setStrParam("HeaderIn", "DOC_TYPE", "TA"); // 販売伝票タイプ objCon.setStrParam("HeaderIn", "PRICE_DATE", "20070301"); // 見積/引合有効開始日 objCon.setStrParam("HeaderIn", "PURCH_NO_C", "API_受注伝票登録1"); // 出荷先発注番号 //-------------------------------------------------------------------------- // テーブル項目セット // 説明 4 //-------------------------------------------------------------------------- // 伝票取引先 objCon.setTblParam("Partners", "PARTN_ROLE", "AG", 1); // 取引先機能 objCon.setTblParam("Partners", "PARTN_NUMB", "0000000012", 1); // 得意先コード1 objCon.setTblParam("Partners", "PARTN_ROLE", "WE", 2); // 取引先機能 objCon.setTblParam("Partners", "PARTN_NUMB", "0000000012", 2); // 得意先コード1 objCon.setTblParam("Partners", "PARTN_ROLE", "RG", 3); // 取引先機能 objCon.setTblParam("Partners", "PARTN_NUMB", "0000000012", 3); // 得意先コード1 //ORDER_ITEMS_IN[明細データ] objCon.setTblParam("ItemsIn", "ITM_NUMBER", "000010", 1); // 販売伝票明細 objCon.setTblParam("ItemsIn", "MATERIAL", "000000000000000011", 1); // 品目コード //ORDER_SCHEDULES_IN[納入日程行データ] objCon.setTblParam("SchedulesIn", "ITM_NUMBER", "000010", 1); // 販売伝票明細 objCon.setTblParam("SchedulesIn", "SCHED_LINE", "0010", 1); // 納入日程行 objCon.setTblParam("SchedulesIn", "REQ_DATE", "20070302", 1); // 納入日程日付 objCon.setTblParam("SchedulesIn", "REQ_QTY", "1", 1); // 販売単位による受注数量 objCon.setTblParam("SchedulesIn", "ITM_NUMBER", "000010", 2); // 販売伝票明細 objCon.setTblParam("SchedulesIn", "SCHED_LINE", "0020", 2); // 納入日程行 objCon.setTblParam("SchedulesIn", "REQ_DATE", "20070303", 2); // 納入日程日付 objCon.setTblParam("SchedulesIn", "REQ_QTY", "2", 2); // 販売単位による受注数量 //-------------------------------------------------------------------------- // executeBapi実行 // 説明 5 //-------------------------------------------------------------------------- objRet = objCon.executeBapi(); //-------------------------------------------------------------------------- // エラー判定 //-------------------------------------------------------------------------- //要素[ERR_CODE]に何らかの値がセットされている場合 if (objRet["ERR_CODE"] != null) { //エラーメッセージ出力 Debug.browse(objRet); } // オブジェクトを取得 // 説明 6 // 販売伝票番号をセット salesDocument = objCon.getSalesdocument(); // アドレス (組織/会社) 用 BAPI 参照構造 partneraddressesList = objCon.getPartnerAddressesList(); partneraddresseslistCount = partneraddressesList.length; // VBAK、VBAP、VBEP のカスタマ拡張 extensioninList = objCon.getExtensionInList(); extensioninlistCount = extensioninList.length; // 省略 // 選定: 参照データ cfgsrefList = objCon.getOrderCfgsRefList(); cfgsreflistCount = cfgsrefList.length; //API実行結果を取得します。 objMsg = objCon.getBapiReturnMessage(); ret = objMsg; }
受注伝票登録 API のインスタンス生成(説明1)
SalesOrderCreateFromDat2Controller クラスのインスタンスを生成します。引数は不要です。インスタンスを生成すると、受注伝票登録 BAPI(BAPI_SALESORDER_CREATEFROMDAT2)の import 型の import、structure、table パラメータに値を設定することができます。
-
import の各項目に値を設定(説明2)
import パラメータの項目に値を設定する場合は、set メソッドを使用します。メソッドについては各 API のAPI リストを参照ください。
-
structure の各項目に値を設定(説明3)
structure パラメータの項目に値を設定する場合は、setStrParam メソッドを使用します。第1引数のstructure 名称は固定値になっています。後述のとおりに名称を設定して下さい。第2引数の項目名称はSAPの各属性の項目名称を設定してください。structure 名称、項目名称は英字の大文字、小文字は厳密に区別されます。第3引数に値を設定します。SAP structure セットする固有名称 LOGIC_SWITCH 内部制御パラメータ LogicSwitch ORDER_HEADER_IN 受注伝票ヘッダ HeaderIn ORDER_HEADER_INX 受注伝票チェックリスト HeaderInX SENDER 論理システム - 送信者 Sender
-
table の各項目に値を設定(説明4)
table パラメータの項目に値を設定する場合は、setTblParam メソッドを使用します。第1引数のtable名称は固定値になっています。後述のとおりに名称を設定して下さい。第2引数の項目名称は SAPの各属性の項目名称を設定してください。table 名称、項目名称は英字の大文字、小文字は厳密に区別されます。第3引数に値、第4引数にレコード番号を設定します。SAP table セットする固有名称 EXTENSIONIN VBAK、VBAP、VBEP のカスタマ拡張 ExtensionIn ORDER_CCARD クレジットカードデータ OrderCcard ORDER_CFGS_BLOB 選定: BLOB 内部データ (SCE) CfgsBlob ORDER_CFGS_INST 選定: インスタンス CfgsInst ORDER_CFGS_PART_OF 選定: 部分設定 CfgsPartOf ORDER_CFGS_REF 選定: 参照データ CfgsRef ORDER_CFGS_REFINST 選定: 参照明細/インスタンス CfgsRefInst ORDER_CFGS_VALUE 選定: 特性値 CfgsValue ORDER_CFGS_VK 選定: バリアント条件キー CfgsVk ORDER_CONDITIONS_IN 条件 ConditionsIn ORDER_CONDITIONS_INX 条件チェックボックス ConditionsInX ORDER_ITEMS_IN 明細データ ItemsIn ORDER_ITEMS_INX 明細データチェックボックス ItemsInX ORDER_KEYS 参照キーの出力テーブル Keys ORDER_PARTNERS 伝票取引先 Partners ORDER_SCHEDULES_IN 納入日程行データ SchedulesIn ORDER_SCHEDULES_INX 納入日程行データチェックボックス SchedulesInX ORDER_TEXT テキスト Text PARTNERADDRESSES アドレス (組織/会社) 用 BAPI 参照構造 PartnerAddresses
-
受注伝票の登録(説明5)
SalesOrderCreateFromDat2Controller クラスの executeBapi メソッドを実行すると、各項目にセットされた値が SAP 上に受注伝票データとして登録されます。登録が成功した場合には、受注伝票登録 API の内部で自動的に commit 処理が実行されます。登録に失敗した場合には、自動的に rollback 処理が実行されます。成功・失敗の基準は、受注伝票登録用 BAPI(BAPI_SALESORDER_CREATEFROMDAT2)の実行後に RETURN パラメータの TYPE 値を取得して、S(正常終了)、空文字以外が1つでも存在するかどうかです。1つでも存在する場合は、rollback が自動的に実行されます。
-
サンプルプログラムの中で記載されたデータ取得メソッドの詳細説明については、以下を参照してください。(説明6)
Type 情報が正常(デフォルト値: “S” / “”)以外の BapiReturn を取得
SalesOrderCreateFromDat2Controller クラスの getBapiReturnErrMessage メソッドを使用すると、取得した BapiReturn の Type 情報が正常(デフォルト値: “S” / “”)以外の BapiReturn オブジェクトのメッセージ情報を取得することが可能です。全て正常の場合は null を取得します。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。Type 情報が正常(デフォルト値: “S” / “”)の BapiReturn を取得
SalesOrderCreateFromDat2Controller クラスの getBapiReturnMessage メソッドを使用すると、取得したBapiReturn の Type 情報が正常(デフォルト値: “S” / “”)と判断された Type 情報のメッセージ情報を取得することが可能です。メッセージが存在しない場合は null を取得します。項目の値には、KEY に SAP の各属性の項目名称を設定してください。エラー処理情報を取得
SalesOrderCreateFromDat2Controller クラスの getBehaveWhenError メソッドを使用すると、設定したエラー処理情報を取得することが可能です。バイナリ関連タイプ (専用)情報を取得
SalesOrderCreateFromDat2Controller クラスの getBinaryRelationshiptype メソッドを使用すると、設定したバイナリ関連タイプ (専用)情報を取得することが可能です。変換: 取引先機能 + 受注伝票タイプ情報を取得
SalesOrderCreateFromDat2ControllerクラスのgetConvertメソッドを使用すると、設定した変換: 取引先機能 + 受注伝票タイプ情報を取得することが可能です。明細番号内部採番情報を取得
SalesOrderCreateFromDat2Controller クラスの getIntNumberAssignment メソッドを使用すると、設定した明細番号内部採番情報を取得することが可能です。生成された伝票の番号情報を取得
SalesOrderCreateFromDat2Controller クラスの getSalesdocument メソッドを使用すると、設定した生成された伝票の番号情報を取得することが可能です。テスト実行情報を取得
SalesOrderCreateFromDat2Controller クラスの getTestrun メソッドを使用すると、設定したテスト実行情報を取得することが可能です。販売管理伝票番号情報を取得
SalesOrderCreateFromDat2Controller クラスのgetSalesdocumentin メソッドを使用すると、取得した販売管理伝票番号情報を取得することが可能です。VBAK、VBAP、VBEP のカスタマ拡張情報を取得
SalesOrderCreateFromDat2Controller クラスの getExtensionInList メソッドを使用すると、設定したVBAK、VBAP、VBEP のカスタマ拡張情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。内部制御パラメータ情報を取得
SalesOrderCreateFromDat2Controller クラスの getLogicSwitch メソッドを使用すると、設定した内部制御パラメータ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。クレジットカードデータ情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCcardList メソッドを使用すると、設定したクレジットカードデータ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。選定: BLOB 内部データ (SCE)情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCfgsBlobList メソッドを使用すると、設定した選定: BLOB 内部データ (SCE)情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。選定: インスタンス情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCfgsInstList メソッドを使用すると、設定した選定: インスタンス情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。選定: 部分設定情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCfgsPartOfList メソッドを使用すると、設定した選定: 部分設定情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。選定: 参照データ情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCfgsRefList メソッドを使用すると、設定した選定: 参照データ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。選定: 参照明細/インスタンス情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCfgsRefInstList メソッドを使用すると、設定した選定: 参照明細/インスタンス情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。選定: 特性値情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCfgsValueList メソッドを使用すると、設定した選定: 特性値情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。選定: バリアント条件キー情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderCfgsVkList メソッドを使用すると、設定した選定: バリアント条件キー情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。条件情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderConditionsInList メソッドを使用すると、設定した条件情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。条件チェックボックス情報を取得
SalesOrderCreateFromDat2ControllerクラスのgetOrderConditionsInXListメソッドを使用すると、設定した条件チェックボックス情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。受注伝票ヘッダ情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderHeaderIn メソッドを使用すると、設定した受注伝票ヘッダ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。受注伝票チェックリスト情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderHeaderInX メソッドを使用すると、設定した受注伝票チェックリスト情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。明細データ情報を取得
SalesOrderCreateFromDat2ControllerクラスのgetOrderItemsInListメソッドを使用すると、設定した明細データ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。明細データチェックボックス情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderItemsInXList メソッドを使用すると、設定した明細データチェックボックス情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。参照キーの出力テーブル情報を取得
SalesOrderCreateFromDat2Controller クラスのgetOrderKeysList メソッドを使用すると、設定した参照キーの出力テーブル情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。伝票取引先情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderPartnersList メソッドを使用すると、設定した伝票取引先情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。納入日程行データ情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderSchedulesInList メソッドを使用すると、設定した納入日程行データ情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。納入日程行データチェックボックス情報を取得
SalesOrderCreateFromDat2Controller クラスの getOrderSchedulesInXList メソッドを使用すると、設定した納入日程行データチェックボックス情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。テキスト情報を取得
SalesOrderCreateFromDat2Controller クラスのgetOrderTextListメソッドを使用すると、設定したテキスト情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。アドレス (組織/会社) 用 BAPI 参照構造情報を取得
SalesOrderCreateFromDat2Controller クラスの getPartnerAddressesList メソッドを使用すると、設定したアドレス (組織/会社) 用 BAPI 参照構造情報を取得することが可能です。項目の値を取得するには、KEY に SAP の各属性の項目名称を設定してください。論理システム - 送信者情報を取得
SalesOrderCreateFromDat2Controller クラスの getSender メソッドを使用すると、設定した論理システム - 送信者情報を取得することが可能です。項目の値を取得するには、KEY に SAP R/4 の各属性の項目名称を設定してください。
コラム
サンプルプログラム実行結果では、SAP テスト環境のデータが取得されています。SAP 標準では該当データが存在しません。
注意
受注伝票登録 API に関して、import、structure、table パラメータが持つ各コンポーネントの必須項目や値の相関チェック等を確認する必要がある場合は、SAP 上の汎用モジュールビルダ(t-cd:SE37)等を使用して、「BAPI_SALESORDER_CREATEFROMDAT2」の BAPI 仕様を確認してください。