3.5 伝票 承認取消API
3.5.2 サンプルプログラムによる使用例
作成者:株式会社 NTT データ イントラマート Page 89
Page 90 Copyright 2000-2006 株式会社NTTデータ イントラマート All rights Reserved.
作成者:株式会社 NTT データ イントラマート Page 91 (承認取消前)
(承認取消後)
Page 92 Copyright 2000-2006 株式会社NTTデータ イントラマート All rights Reserved.
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-5-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-5-2/result">
<INPUT type ="submit" value="チュートリアル実行">
</IMART></BODY>
</HTML>
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-5-2/im_sapapi.js
function execute(request){
var objCon;
var status;
var relInd;
var retCode;
//インスタンス生成
objCon = new PurchaseResetReleaseController ("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
Client.set("Status",status);
Client.set("RelInd", relInd);
}
作成者:株式会社 NTT データ イントラマート Page 93
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-5-2/result.js
//承認状況 var strStatus;
//承認区分 var strRelInd;
function init(request){
//オブジェクトを取得
strStatus = Client.get("Status");
strRelInd = Client.get("RelInd");
}
<%intra-mart インストールディレクトリ%>/pages/sapapi_tutorial/tutorial4-5-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="decision" case="" value=strStatus><BR></IMART>
<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>
</TABLE>
</BODY>
</HTML>
Page 94 Copyright 2000-2006 株式会社NTTデータ イントラマート All rights Reserved.
【説明1】 伝票承認APIのインスタンス生成
PurchaseReleaseControllerクラスのインスタンスを生成します。第 1 引数に承認取消する伝票番号、第 2 引数に承
認コード、第 3 引数に例外メッセージ区分を設定します。
【説明2】 購買伝票の承認取消処理の実行
PurchaseReleaseController クラスの executeBapi メソッドを実行すると、コンストラクタでセットされた購買伝票の承
認取消処理が実行されます。承認取消処理が成功した場合には、購買伝票承認取消 API の内部で自動的に commit 処理が実行されます。承認取消処理に失敗した場合には、自動的に rollback 処理が実行されます。
ただし、標準の購買伝票承認取消用 BAPI(BAPI_PO_RESET_RELEASE)では、BAPI 内部で commit/rollback 処理 が実行されます。ConnectionManager を使用し commit/rollback 処理を制御されたい場合は、BAPI 自体をカスタ マイズする必要がございます。
【説明2】 新承認状況を取得
承認取消実行後の承認状況を取得します。
【説明3】 新承認コードを取得
承認取消実行後の承認状況を取得します。
作成者:株式会社 NTT データ イントラマート Page 95