3.4 伝票 承認 API
3.4.2 サンプルプログラムによる使用例
作成者:株式会社 NTT データ イントラマート Page 85 (承認前)
(承認後)
Page 86 Copyright 2000-2006 株式会社NTTデータ イントラマート All rights Reserved.
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-4-2/im_sapapi.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 //EN">
<HTML>
<HEAD>
<TITLE>チュートリアル</TITLE>
</HEAD>
<BODY>
<BR>
SAP R/3リアルタイム連携API チュートリアル(購買発注業務向けAPI)<BR>
<BR>
<BR>
◆購買伝票承認<BR>
<IMART type ="form" method="POST" action="execute" page="sapapi_tutorial/tutorial4-4-2/result">
<INPUT type ="submit" value="チュートリアル実行">
</IMART></BODY>
</HTML>
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-4-2/im_sapapi.js
function execute(request){
var objCon;
var status;
var relInd;
var retCode;
//インスタンス生成
objCon = new PurchaseReleaseController("4500000480", "AA","X"); ・・・ 説明 1
//購買伝票の承認処理の実行
objResult = objCon.executeBapi(); ・・・ 説明 2
//要素[ERR_CODE]に何らかの値がセットされている場合 if (objResult["ERR_CODE"] != null) {
//エラー情報を出力する。
Dbug.browse(objResult);
}
//オブジェクトをグローバル領域に保存 status = objCon.getRelStatusNew(); ・・・ 説明 3 relInd = objCon.getRelIndicatorNew(); ・・・ 説明 4 retCode = objCon.getRetCode(); ・・・ 説明 5
Client.set("Status",status);
Client.set("RelInd", relInd);
Client.set("RetCode", retCode);
}
作成者:株式会社 NTT データ イントラマート Page 87
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-4-2/result.js
//承認状況 var strStatus;
//承認区分 var strRelInd;
//リターン値 var strRetCode;
function init(request){
//オブジェクトを取得
strStatus = Client.get("Status");
strRelInd = Client.get("RelInd");
strRetCode = Client.get("RetCode");
}
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-4-2/result.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 //EN">
<HTML>
<HEAD>
<TITLE>チュートリアル実行結果</TITLE>
</HEAD>
<BODY>
<B>購買伝票の承認に成功しました。</B>
<BR><BR>
<TABLE border=1 cellspacing=1>
<TR>
<TD bgcolor="#0000cc"><FONT color="#ffffff">新承認状況</FONT></TD>
<TD><IMART type="string" value = strStatus></IMART></TD>
</TR>
<TR>
<TD bgcolor="#0000cc"><FONT color="#ffffff">新承認区分</FONT></TD>
<TD><IMART type="string" value = strRelInd></IMART></TD>
</TR>
<TR>
<TD bgcolor="#0000cc"><FONT color="#ffffff">リターン値</FONT></TD>
<TD><IMART type="string" value = strRetCode></IMART></TD>
</TR>
</TABLE>
</BODY>
</HTML>
Page 88 Copyright 2000-2006 株式会社NTTデータ イントラマート All rights Reserved.
【説明1】 伝票承認APIのインスタンス生成
PurchaseReleaseControllerクラスのインスタンスを生成します。第 1 引数に承認する伝票番号、第 2 引数に承認コ
ード、第 3 引数に例外メッセージ区分を設定します。
【説明2】 購買伝票の承認処理の実行
PurchaseReleaseController クラスの executeBapi メソッドを実行すると、コンストラクタでセットされた購買伝票の承
認処理が実行されます。承認処理が成功した場合には、購買伝票承認 API の内部で自動的に commit 処理が 実行されます。承認処理に失敗した場合には、自動的に rollback 処理が実行されます。
ただし、標準の購買伝票承認用 BAPI(BAPI_PO_RELEASE)では、BAPI 内部で commit/rollback 処理が実行され ます。ConnectionManager を使用し commit/rollback 処理を制御されたい場合、BAPI 自体をカスタマイズする必 要がございます。
【説明3】 新承認状況を取得
承認実行後の承認状況を取得します。
【説明4】 新承認コードを取得
承認実行後の承認状況を取得します。
【説明5】 リターン値を取得
承認実行処理のリターン値を取得します。
作成者:株式会社 NTT データ イントラマート Page 89