IM-ERP Real Connect for Accel Platform プログラミングガイド 初版 2013-02-01

会計伝票 登録 API (AccEmployeePayPostController)

会計伝票情報を登録するためには、AccEmployeePayPostController クラスの持つ各メソッドを利用する必要があります。
引数、戻り値についての詳細な情報は、API リストを参照してください。
また、登録可能な項目は、会計伝票として必要最低限必要と判断される項目のみとなっています。

各メソッドの説明

コンストラクタ / メソッド名 説明
AccEmployeePayPostController コンストラクタ(引数無し)
setDocObjType 伝票ヘッダの参照処理に引数の値を設定する。
setDocObjKey 伝票ヘッダのオブジェクトキーに引数の値を設定する。
setDocUsername 伝票ヘッダのユーザ名に引数の値を設定する。
setDocHeaderTxt 伝票ヘッダの伝票ヘッダテキストに引数の値を設定する。
setDocCompCode 伝票ヘッダの会社コードに引数の値を設定する。
setDocAcDocNo 伝票ヘッダの会計伝票番号に引数の値を設定する。
setDocFiscYear 伝票ヘッダの会計年度に引数の値を設定する。
setDocDocDate 伝票ヘッダの伝票の伝票日付に引数の値を設定する。
setDocPstngDate 伝票ヘッダの伝票の転記日付に引数の値を設定する。
setDocFisPeriod 伝票ヘッダの会計期間に引数の値を設定する。
setDocDocType 伝票ヘッダの伝票タイプに引数の値を設定する。
setDocRefDocNo 伝票ヘッダの参照伝票番号に引数の値を設定する。
setPaItemnoAcc 第2引数で指定したレコード番号で、仕入先明細の会計伝票明細番号に第1引数の値を設定する。
setPaVendorNo 第2引数で指定したレコード番号で、仕入先明細の仕入先または債権者の勘定コードに第1引数の値を設定する。
setPaGlAccount 第2引数で指定したレコード番号で、仕入先明細の総勘定元帳勘定に第1引数の値を設定する。
setPaBlineDate 第2引数で指定したレコード番号で、仕入先明細の期日計算の支払基準日に第1引数の値を設定する。
setPaPymtMeth 第2引数で指定したレコード番号で、仕入先明細の支払方法に第1引数の値を設定する。
setPaAllocNmbr 第2引数で指定したレコード番号で、仕入先明細のソートキーに第1引数の値を設定する。
setPaItemText 第2引数で指定したレコード番号で、仕入先明細の明細テキストに第1引数の値を設定する。
setGlItemnoAcc 第2引数で指定したレコード番号で、G/L 勘定明細の会計伝票明細番号に第1引数の値を設定する。
setGlGlAccount 第2引数で指定したレコード番号で、G/L 勘定明細の総勘定元帳勘定に第1引数の値を設定する。
setGlCompCode 第2引数で指定したレコード番号で、G/L 勘定明細の会社コードに第1引数の値を設定する。
setGlPstngDate 第2引数で指定したレコード番号で、G/L 勘定明細の伝票の転記日付に第1引数の値を設定する。
setGlDocType 第2引数で指定したレコード番号で、G/L 勘定明細の伝票タイプに第1引数の値を設定する。
setGlFiscYear 第2引数で指定したレコード番号で、G/L勘定明細の会計年度に第1引数の値を設定する。
setGlRefKey1 第2引数で指定したレコード番号で、G/L 勘定明細の取引先参照キーに第1引数の値を設定する。
setGlItemText 第2引数で指定したレコード番号で、G/L 勘定明細の明細テキストに第1引数の値を設定する。
setGlTaxCode 第2引数で指定したレコード番号で、G/L 勘定明細の消費税コードに第1引数の値を設定する。
setGlAllocNmbr 第2引数で指定したレコード番号で、G/L 勘定明細のソートキーに第1引数の値を設定する。
setGlBusArea 第2引数で指定したレコード番号で、G/L勘定明細の事業領域に第1引数の値を設定する。
setGlCostcenter 第2引数で指定したレコード番号で、G/L勘定明細の原価センタに第1引数の値を設定する。
setGlOrderid 第2引数で指定したレコード番号で、G/L勘定明細の指図番号に第1引数の値を設定する。
setGlWbsElement 第2引数で指定したレコード番号で、G/L勘定明細の WBS要素に第1引数の値を設定する。
setTaItemnoAcc 第2引数で指定したレコード番号で、税明細の会計伝票明細番号に第1引数の値を設定する。
setTaGlAccount 第2引数で指定したレコード番号で、税明細の総勘定元帳勘定に第1引数の値を設定する。
setTaTaxCode 第2引数で指定したレコード番号で、税明細の消費税コードに第1引数の値を設定する。
setCuItemnoAcc 第2引数で指定したレコード番号で、明細通貨項目の会計伝票明細番号に第1引数の値を設定する。
setCuCurrency 第2引数で指定したレコード番号で、明細通貨項目の通貨コードに第1引数の値を設定する。
setCuAmtDoccur 第2引数で指定したレコード番号で、明細通貨項目の伝票通貨額に第1引数の値を設定する。
setCuAmtBase 第2引数で指定したレコード番号で、明細通貨項目の課税基準額(伝票通貨建て)に第1引数の値を設定する。
setStrParam
構造型の各項目に値を設定する。
第1引数に structure 名、第2引数に項目名、第3引数に値を設定する。
setTblParam
テーブル型の各項目に値を設定する。
第1引数にテーブル名、第2引数に項目名、第3引数に値、第4引数にレコード番号を設定する。
executeBapi setメソッドで設定した値を、接続先の SAP に登録する。登録に失敗した場合、登録処理はロールバックされる。
getObjType 参照処理を取得する。
getObjSys 参照システムを取得する。
getObjKey 参照キーを取得する。
getDocumentHeader 伝票ヘッダ情報を取得する。
getAccountPayableList 仕入先明細一覧を取得する。
getAccountGlList G/L 勘定明細一覧を取得する。
getCurrencyAmountList 明細通貨項目一覧を取得する。
getTravelAmountList 旅費資金計画通貨項目一覧を取得する。
getTravelList 旅費資金予算明細一覧を取得する。
getExtension1List カスタマ拡張テーブル一覧を取得する。

サンプルプログラム

function init(request) {
    var errList = [];
    var objCon;
    var objResult;

    //インスタンス生成 
    objCon  =  new  AccEmployeePayPostController();      //    説明1 
   
    //伝票ヘッダ structure の各項目に値を設定            //    説明2
    objCon.setDocObjType(""); 
    objCon.setDocObjKey(""); 
    objCon.setDocUsername("ERP001"); 
    objCon.setDocHeaderTxt("イントラの伝票番号"); 
    objCon.setDocCompCode("1000"); 
    objCon.setDocAcDocNo(""); 
    objCon.setDocFiscYear("2006"); 
    objCon.setDocDocDate("20061205"); 
    objCon.setDocPstngDate("20061210"); 
    objCon.setDocFisPeriod("09"); 
    objCon.setDocDocType("AB"); 
    objCon.setDocRefDocNo("参照伝票番号"); 

    //仕入先明細 table の各項目に値を設定 
    objCon.setPaItemnoAcc("0000000001", 1); 
    objCon.setPaVendorNo("0000100011", 1); 
    objCon.setPaGlAccount("0000412100", 1); 
    objCon.setPaBlineDate("20061210", 1); 
    objCon.setPaPymtMeth("T",  1); 
    objCon.setPaAllocNmbr("10001 ソートキー", 1); 
    objCon.setPaItemText("高橋啓介", 1); 

    //G/L 勘定明細 table の各項目に値を設定 
    objCon.setGlItemnoAcc("0000000002", 1); 
    objCon.setGlGlAccount("0000823100", 1); 
    objCon.setGlCompCode("1000", 1); 
    objCon.setGlPstngDate("20061210", 1); 
    objCon.setGlDocType("AB",  1); 
    objCon.setGlFiscYear("2006", 1); 
    objCon.setGlRefKey1("取引参照キー", 1)
    objCon.setGlItemText("費用勘定", 1); 
    objCon.setGlTaxCode("V1",  1); 
    objCon.setGlAllocNmbr("ソートキー",  1); 
    objCon.setGlBusArea("1200", 1); 
    objCon.setGlCostcenter("1220000000", 1); 
    objCon.setGlOrderid("000001000000", 1); 
    objCon.setGlWbsElement("100002", 1); 

    //税明細 table の各項目に値を設定 
    objCon.setTaItemnoAcc("0000000003", 1); 
    objCon.setTaGlAccount("0000148200", 1); 
    objCon.setTaTaxCode("V1",  1); 

    //明細通貨項目 table の各項目に値を設定         //    説明3
    objCon.setCuItemnoAcc("0000000001", 1); 
    objCon.setCuCurrency("JPY", 1); 
    objCon.setCuAmtDoccur("-105000", 1); 
    objCon.setCuAmtBase("0",  1); 
    objCon.setCuItemnoAcc("0000000002", 2); 
    objCon.setCuCurrency("JPY", 2); 
    objCon.setCuAmtDoccur("100000", 2); 
    objCon.setCuAmtBase("0",  2); 
    objCon.setCuItemnoAcc("0000000003", 3); 
    objCon.setCuCurrency("JPY", 3); 
    objCon.setCuAmtDoccur("5000", 3); 
    objCon.setCuAmtBase("100000", 3);

    //会計伝票の登録 
    objResult  =    objCon.executeBapi();              //    説明 4 
    
    //要素[ERR_CODE]に何らかの値がセットされている場合
    if (objResult["ERR_CODE"] != null) {
        //エラー情報を出力する。
        Debug.browse(objResult);
    }
}
  • 会計伝票登録 API のインスタンス生成(説明1)

    AccEmployeePayPostController クラスのインスタンスを生成します。
    引数は不要です。
    インスタンスを生成すると、会計伝票登録用 BAPI(BAPI_ACC_EMPLOYEE_PAY_POST)の import 型の structure、table パラメータに値を設定することができます。
„
  • 伝票ヘッダ structure の各項目に値を設定

    伝票ヘッダは structure パラメータになっています。
    以下の2つのいずれかの方法で値を設定することができます。
‹
  1. 各項目の setter メソッドを使用する場合

    setDoc・・・のメソッドを利用して、伝票ヘッダの各コンポーネントに値を設定します。
  2. setStrParam メソッドする場合

    第1引数の structure 名称は固定値になっています。
    後述のとおりに名称を設定して下さい。
    第2引数の項目名称は SAP の各属性の項目名称を設定してください。
    structure 名称、項目名称は英字の大文字、小文字は厳密に区別されます。第3引数に値を設定します。
    SAP structure セットする固有名称
    DOCUMENTHEADER(伝票ヘッダ) DocumentHeader
  • 明細通貨項目 table の各項目に値を設定(説明3)

    伝票ヘッダ以外の明細データは、複数件数を登録する場合もあるので、table パラメータになっています。
    以下の2つのいずれかの方法で値を設定することができます。
‹
  1. 各テーブルの setter メソッドを使用する場合

    tableパラメータに値を設定する場合は、objCon.setCuItemnoAcc(“0000000001”, 1)のように、第1引数に登録する値、第 2 引数にレコード番号を設定してください。
    実際のシステム開発時には、objCon.setCuItemnoAcc(値を設定した属性, idx)のようにして For 文等のループ処理によってレコード番号をインクリメントして、第 1 引数で使用する属性の値も動的に設定する方法が望ましいでしょう。
  2. setTblParam メソッドを使用する場合

    第1引数の table 名称は固定値になっています。
    後述のとおりに名称を設定して下さい。
    第2引数の項目名称は SAP の各属性の項目名称を設定してください。table 名称、項目名称は英字の大文字、小文字は厳密に区別されます。
    第3引数に値、第4引数にレコード番号を設定します。
    SAP table セットする固有名称
    ACCOUNTPAYABLE(仕入先明細) AccountPayable
    ACCOUNTGL(G/L 勘定明細) AccountGl
    ACCOUNTTAX(税明細) AccountTax
    CURRENCYAMOUNT(明細通貨項目) CurrencyAmount
    TRAVEL(旅費資金予算明細) Travel
    TRAVELAMOUNT(旅費資金予算通貨項目) TravelAmount
    EXTENSION1(カスタマ拡張テーブル) Extension1
  • 会計伝票の登録(説明4)

    AccEmployeePayPostController クラスの executeBapi メソッドを実行すると、伝票ヘッダ structure、各明細
    table にセットされた値が SAP 上に会計伝票データとして登録されます。
    登録が成功した場合は、会計伝票登録 API の内部で自動的に commit 処理が実行されます。
    登録に失敗した場合は、自動的に rollback処理が実行されます。
    成功・失敗の基準は、会計伝票登録用BAPI(BAPI_ACC_EMPLOYEE_PAY_POST)の実行後に RETURN パラメータの TYPE 値を取得して、S(正常終了)、空文字以外の値が1つでも存在するかどうかです。
    1つでも存在する場合は、rollback が自動的に実行されます。

    注意

    会計伝票登録 API に関して、structure、table パラメータが持つ各コンポーネントの必須項目や値の相関チェック等を確認する必要がある場合は、SAP上の汎用モジュールビルダ(t-cd:SE37)等を使用して、「BAPI_ACC_EMPLOYEE_PAY_POST」の BAPI 仕様を確認してください。