| 名称 | |
|---|---|
| 現在の値(年度・月序) | |
| 注意事項 |
UPDATE_TABLE 設定 + ブロック SELECT 式 (BODY_SQL/TITLE_SQL) + 各種 JavaScript コード (CHR_TEXT) + 呼び出すストアドプロシージャの本体 (Oracle / PostgreSQL / MySQL / SQL Server) を FROM / JOIN / INSERT INTO / UPDATE ... SET / DELETE FROM / MERGE INTO / REPLACE INTO / MERGE ... USING のキーワードで正規表現解析した結果です。 動的SQL (EXECUTE IMMEDIATE / PREPARE / sp_executesql 等) は、文字列リテラルが DML 文で始まる場合のみ抽出します。function exec() {
/* 事前準備 */
if (TALON.getDbConfig().isMssql()) {
var itemSelectList = TALON.select(
"SELECT " +
" TLN_CHAR_TO_NUMBER(SUBSTRING(TXVALUE,1,4)) AS NOW_NENDO " +
",TLN_CHAR_TO_NUMBER(SUBSTRING(TXVALUE,1,4)) + 1 AS NEX_NENDO " +
",SUBSTRING(TXVALUE,5,2) AS NOW_MONTH " +
",SUBSTRING( TLN_DATE_TO_CHAR('MD', TLN_DATEADD('M', 1, TLN_CHAR_TO_DATE('YMDHMS2',CONCAT(TXVALUE,'01000000')) ) ), 1, 2 ) AS NEX_MONTH " +
"FROM ZT010 " +
"WHERE IDVARIANT = 'ALLOWED_FISCAL_MONTH' "
);
} else {
var itemSelectList = TALON.select(
"SELECT " +
" TLN_CHAR_TO_NUMBER(SUBSTR(TXVALUE,1,4)) AS NOW_NENDO " +
",TLN_CHAR_TO_NUMBER(SUBSTR(TXVALUE,1,4)) + 1 AS NEX_NENDO " +
",SUBSTR(TXVALUE,5,2) AS NOW_MONTH " +
",SUBSTR( TLN_DATE_TO_CHAR('MD', TLN_DATEADD('M', 1, TLN_CHAR_TO_DATE('YMDHMS2',CONCAT(TXVALUE,'01000000')) ) ), 1, 2 ) AS NEX_MONTH " +
"FROM ZT010 " +
"WHERE IDVARIANT = 'ALLOWED_FISCAL_MONTH' "
);
}
var lineDataMap = itemSelectList[0];
var _NOW_NENDO = lineDataMap['NOW_NENDO'];
var _NEX_NENDO = lineDataMap['NEX_NENDO'];
/* 買掛繰越処理 */
var itemSelectList = TALON.select(
"SELECT " +
" DT010.IDSIIRESAKI " +
" ,DT010.AMKISYUKAIKAKE + DT100.SHIIRE - DT100.SHIIRE_NEW - DT100.SIHARAI + DT100.SIHARAI_NEW AS AMKISYUKAIKAKE " +
" ,DT100.SHIIRE_NEW AS AMSIIRE " +
" ,DT100.SIHARAI_NEW AS AMSIHARAI " +
" ,DT010.AMKISYUKAIKAKE + DT100.SHIIRE - DT100.SIHARAI AS AMGENKAIKAKE " +
"FROM DT010 " +
"LEFT OUTER JOIN ( " +
" SELECT " +
" DT100.IDSIIRESAKI " +
" ,SUM( CASE WHEN DT100.KBKAITORI = '90' THEN AMZOUGEN ELSE 0 END ) AS SIHARAI " +
" ,SUM( CASE WHEN DT100.KBKAITORI = '90' AND DT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS SIHARAI_NEW " +
" ,SUM( CASE WHEN DT100.KBKAITORI <> '90' THEN AMZOUGEN ELSE 0 END ) AS SHIIRE " +
" ,SUM( CASE WHEN DT100.KBKAITORI <> '90' AND DT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS SHIIRE_NEW " +
" FROM DT100 " +
" WHERE DT100.FGVALID = 'T' " +
" AND DT100.DTNEND = " + _NOW_NENDO + " " +
" GROUP BY DT100.IDSIIRESAKI " +
") DT100 " +
" ON DT100.IDSIIRESAKI = DT010.IDSIIRESAKI "
);
for (var i = 0; i < itemSelectList.length; i++) {
var lineDataMap = itemSelectList[i]
var itemDataList = new Array();
//仕入先ID
itemDataList['IDSIIRESAKI'] = lineDataMap['IDSIIRESAKI'];
//期首買掛残高
itemDataList['AMKISYUKAIKAKE'] = lineDataMap['AMKISYUKAIKAKE'];
//期間仕入額(税込金額)
itemDataList['AMSIIRE'] = lineDataMap['AMSIIRE'];
//期間支払額
itemDataList['AMSIHARAI'] = lineDataMap['AMSIHARAI'];
//現買掛残高
itemDataList['AMGENKAIKAKE'] = lineDataMap['AMGENKAIKAKE'];
updateDT010(itemDataList);
}
/* 売掛繰越処理 */
var itemSelectList = TALON.select(
"SELECT " +
" ET010.IDTOKUISAKI " +
" ,ET010.AMKISYUURIKAKE + ET100.URIAGE - ET100.URIAGE_NEW - ET100.JURYOU + ET100.JURYOU_NEW AS AMKISYUURIKAKE " +
" ,ET100.URIAGE_NEW AS AMURIAGE " +
" ,ET100.JURYOU_NEW AS AMJYURYO " +
" ,ET010.AMKISYUURIKAKE + ET100.URIAGE - ET100.JURYOU AS AMGENURIKAKE " +
"FROM ET010 " +
"LEFT OUTER JOIN ( " +
" SELECT " +
" ET100.IDTOKUISAKI " +
" ,SUM( CASE WHEN ET100.KBURITORI NOT IN ('90','91','92') THEN AMZOUGEN ELSE 0 END ) AS URIAGE " +
" ,SUM( CASE WHEN ET100.KBURITORI NOT IN ('90','91','92') AND ET100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS URIAGE_NEW " +
" ,SUM( CASE WHEN ET100.KBURITORI IN ('90','91','92') THEN AMZOUGEN ELSE 0 END ) AS JURYOU " +
" ,SUM( CASE WHEN ET100.KBURITORI IN ('90','91','92') AND ET100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS JURYOU_NEW " +
" FROM ET100 " +
" WHERE ET100.FGVALID = 'T' " +
" AND ET100.DTNEND = " + _NOW_NENDO + " " +
" GROUP BY ET100.IDTOKUISAKI " +
") ET100 " +
" ON ET100.IDTOKUISAKI = ET010.IDTOKUISAKI "
);
for (var i = 0; i < itemSelectList.length; i++) {
var lineDataMap = itemSelectList[i]
var itemDataList = new Array();
//得意先ID
itemDataList['IDTOKUISAKI'] = lineDataMap['IDTOKUISAKI'];
//期首売掛残高
itemDataList['AMKISYUURIKAKE'] = lineDataMap['AMKISYUURIKAKE'];
//期間売上額
itemDataList['AMURIAGE'] = lineDataMap['AMURIAGE'];
//期間受領額
itemDataList['AMJYURYO'] = lineDataMap['AMJYURYO'];
//現売掛残高
itemDataList['AMGENURIKAKE'] = lineDataMap['AMGENURIKAKE'];
updateET010(itemDataList);
}
/* 在庫繰越処理 */
var itemSelectList = TALON.select(
"SELECT " +
" FT010.IDHINMOKU " +
" ,FT010.CDSOUKO " +
" ,FT010.QTKISYU + FT100.NYUKO_SU - FT100.NYUKO_SU_NEW - FT100.SYUKO_SU + FT100.SYUKO_SU_NEW AS QTKISYU " +
" ,FT100.SYUKO_SU_NEW AS QTNYUKO " +
" ,FT100.NYUKO_SU_NEW AS QTSYUKKO " +
" ,FT010.AMKISYU + FT100.NYUKO - FT100.NYUKO_NEW - FT100.SYUKO + FT100.SYUKO_NEW AS AMKISYU " +
" ,FT100.SYUKO_NEW AS AMNYUKO " +
" ,FT100.NYUKO_NEW AS AMSYUKKO " +
"FROM FT010 " +
"LEFT OUTER JOIN ( " +
" SELECT " +
" FT100.IDHINMOKU " +
" ,FT100.CDSOUKO " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') THEN QTZOUGEN * -1 ELSE 0 END ) AS SYUKO_SU " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN QTZOUGEN * -1 ELSE 0 END ) AS SYUKO_SU_NEW " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') THEN QTZOUGEN ELSE 0 END ) AS NYUKO_SU " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN QTZOUGEN ELSE 0 END ) AS NYUKO_SU_NEW " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') THEN AMZOUGEN * -1 ELSE 0 END ) AS SYUKO " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN * -1 ELSE 0 END ) AS SYUKO_NEW " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') THEN AMZOUGEN ELSE 0 END ) AS NYUKO " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS NYUKO_NEW " +
" FROM FT100 " +
" WHERE FT100.FGVALID = 'T' " +
" AND FT100.DTNEND = " + _NOW_NENDO + " " +
" GROUP BY FT100.IDHINMOKU " +
" ,FT100.CDSOUKO " +
") FT100 " +
" ON FT100.IDHINMOKU = FT010.IDHINMOKU " +
"AND FT100.CDSOUKO = FT010.CDSOUKO "
);
for (var i = 0; i < itemSelectList.length; i++) {
var lineDataMap = itemSelectList[i]
var itemDataList = new Array();
//品目ID
itemDataList['IDHINMOKU'] = lineDataMap['IDHINMOKU'];
//倉庫C
itemDataList['CDSOUKO'] = lineDataMap['CDSOUKO'];
//期首在庫数
itemDataList['QTKISYU'] = lineDataMap['QTKISYU'];
//期間入庫数
itemDataList['QTNYUKO'] = lineDataMap['QTNYUKO'];
//期間出庫数
itemDataList['QTSYUKKO'] = lineDataMap['QTSYUKKO'];
//期首在庫額
itemDataList['AMKISYU'] = lineDataMap['AMKISYU'];
//期間入庫額
itemDataList['AMNYUKO'] = lineDataMap['AMNYUKO'];
//期間出庫額
itemDataList['AMSYUKKO'] = lineDataMap['AMSYUKKO'];
updateFT010(itemDataList);
}
/* 入力認可過去月度の更新 */
TALON.update(
"UPDATE ZT010 SET " +
" TXVALUE = '" + _NEX_NENDO + "01' " +
"WHERE IDVARIANT = 'ALLOWED_FISCAL_MONTH' "
)
TALON.addMsg( "年次繰越処理を実行しました" );
TALON.setIsSuccess(true);
}
exec();
SELECT
ZT010.TXNAME as TXNAME
,ZT010.TXVALUE as TXVALUE
,'新年度の期首残高(在庫・売掛・買掛)が残高増減履歴にもとづいて計算され、更新されます。
実行前にバックアップを取っておくことをお奨めします。
処理後は旧年度の会計データを変更できなくなります。' as TXMEMO
FROM
ZT010
WHERE ZT010.IDVARIANT = 'ALLOWED_FISCAL_MONTH'
| 管理者ID | |
|---|---|
| 業務分類(大) | XTEA生産管理 (4) |
| 業務分類(中) | その他マスタ (12) |
| 業務分類(小) | |
| 機能概要 | 現在の会計年度を締めて、新年度の期首残高を計算し更新します。実行すると入力認可過去月度が新年度の01に設定され、旧年度の会計データは変更できなくなります。 実行前にデータベースのバックアップ取得をお薦め致します。 |
| 備考 | |
| ヘルプリンク名 | |
| ヘルプURL |
| 機能タイプ | 検索ボタン無し |
|---|---|
| ボタンの非表示 > Excel出力 | ON [1] |
| ボタンの非表示 > PDF出力 | ON [1] |
| 起動Window状態 | 別Window (既存あれば上書き) [NORMAL] |
system — システム管理SELECT
ZT010.TXNAME as TXNAME
,ZT010.TXVALUE as TXVALUE
,'新年度の期首残高(在庫・売掛・買掛)が残高増減履歴にもとづいて計算され、更新されます。
実行前にバックアップを取っておくことをお奨めします。
処理後は旧年度の会計データを変更できなくなります。' as TXMEMO
FROM
ZT010
WHERE ZT010.IDVARIANT = 'ALLOWED_FISCAL_MONTH'
| 並び順 | 物理項目名 | 表示名 | 改行 | 表示・入力形式 | データ型 | 桁数 | 表示桁 | 行数 |
|---|---|---|---|---|---|---|---|---|
| 1 | TXNAME | 名称 | TEXT:半角、全角混在(Byte) | VARCHAR2 | 50 | |||
| 2 | TXVALUE | 現在の値(年度・月序) | ○ | TEXT:半角、全角混在(Byte) | VARCHAR2 | 100 | ||
| 3 | TXMEMO | 注意事項 | ○ | TEXT:半角、全角混在(Byte) | CHAR | 500 | 100 | 3 |
| ブロック名フィールドを非表示 | ON [1] |
|---|
| ボタンの非表示 > 画面設定 | ON [1] |
|---|
| ボタン名 | 処理タイプ | プロシージャ/コマンド/JS | 条件式 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 年次繰越処理の実行 | JavaScript呼出 | |||||||||||||
| ||||||||||||||
| 権限グループID | 表示名 | 権限区分 | 表示順 | URL | ヘルプURL |
|---|---|---|---|---|---|
| XTEA//XTEA_SYSTEM | 年次繰越処理の起動 | 1:更新 | 4300 | TALON/APPLICATION/GENERALFREE/GENERALFREE.xhtml?PARAM_FUNC_ID=XDMF_ZF400_0 |
| FUNC_ID | FUNC_NM | APP_KBN | BG_L | BG_M | BG_S | ADMIN_ID | FUNC_OUTLINE | NOTE | CREATED_DATE | CREATED_BY | UPDATED_DATE | UPDATED_BY |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| XDMF_ZF400_0 | 年次繰越処理の起動 | BAT | 4 | 12 | 現在の会計年度を締めて、新年度の期首残高を計算し更新します。実行すると入力認可過去月度が新年度の01に設定され、旧年度の会計データは変更できなくなります。 実行前にデータベースのバックアップ取得をお薦め致します。 | 2024-07-11 11:38:09.0 | demo | 2024-07-11 11:38:09.0 | demo |
| FUNC_SEQ | FUNC_KBN | VALUE | NUM_VALUE |
|---|---|---|---|
| -1 | EXCEL_BUTTON_HDN_FLG | 1 | |
| -1 | OPEN_WINDOW_MODE | NORMAL | |
| -1 | PDF_BUTTON_HDN_FLG | 1 | |
| 0 | BLOCK_NAME_HDN_FLG | 1 | |
| 0 | COL_BUTTON_HDN_FLG | 1 |
| FUNC_SEQ | SORT | TYPE | TITLE | BODY_SQL | TITLE_SQL |
|---|---|---|---|---|---|
| 0 | 0 | CARD | 年次繰越 | SELECT
ZT010.TXNAME as TXNAME
,ZT010.TXVALUE as TXVALUE
,'新年度の期首残高(在庫・売掛・買掛)が残高増減履歴にもとづいて計算され、更新されます。
実行前にバックアップを取っておくことをお奨めします。
処理後は旧年度の会計データを変更できなくなります。' as TXMEMO
FROM
ZT010
WHERE ZT010.IDVARIANT = 'ALLOWED_FISCAL_MONTH'
|
| FUNC_SEQ | SORT | COL_NAME | DISP_NAME | KEY_FLG | UPDATE_FLG | SEARCH_FLG | PATTERN_ID | DATA_TYPE | INPUT_SIZE | DISP_SIZE | TEXT_ROWS | COMPONENT | SIKIBETU_CODE | REQUIRED_FLG | CR_FLG | GROUP_NAME |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | TXNAME | 名称 | 0 | TEXT | VARCHAR2 | 50 | |||||||||
| 0 | 1 | TXVALUE | 現在の値(年度・月序) | 0 | TEXT | VARCHAR2 | 100 | 1 | ||||||||
| 0 | 2 | TXMEMO | 注意事項 | 0 | TEXT | CHAR | 500 | 100 | 3 | 1 |
| FUNC_SEQ | COL_NAME | FUNC_KBN | OPT_SORT | KIND | CHR1 | CHR2 | CHR3 | CHR4 | CHR5 | NUM1 | NUM2 | NUM3 | NUM4 | NUM5 | FLAG | CHR_TEXT |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ALL | BUTTON_BAT | 0 | 年次繰越処理の実行 | 1 | 1 | 0 | 2 | function exec() {
/* 事前準備 */
if (TALON.getDbConfig().isMssql()) {
var itemSelectList = TALON.select(
"SELECT " +
" TLN_CHAR_TO_NUMBER(SUBSTRING(TXVALUE,1,4)) AS NOW_NENDO " +
",TLN_CHAR_TO_NUMBER(SUBSTRING(TXVALUE,1,4)) + 1 AS NEX_NENDO " +
",SUBSTRING(TXVALUE,5,2) AS NOW_MONTH " +
",SUBSTRING( TLN_DATE_TO_CHAR('MD', TLN_DATEADD('M', 1, TLN_CHAR_TO_DATE('YMDHMS2',CONCAT(TXVALUE,'01000000')) ) ), 1, 2 ) AS NEX_MONTH " +
"FROM ZT010 " +
"WHERE IDVARIANT = 'ALLOWED_FISCAL_MONTH' "
);
} else {
var itemSelectList = TALON.select(
"SELECT " +
" TLN_CHAR_TO_NUMBER(SUBSTR(TXVALUE,1,4)) AS NOW_NENDO " +
",TLN_CHAR_TO_NUMBER(SUBSTR(TXVALUE,1,4)) + 1 AS NEX_NENDO " +
",SUBSTR(TXVALUE,5,2) AS NOW_MONTH " +
",SUBSTR( TLN_DATE_TO_CHAR('MD', TLN_DATEADD('M', 1, TLN_CHAR_TO_DATE('YMDHMS2',CONCAT(TXVALUE,'01000000')) ) ), 1, 2 ) AS NEX_MONTH " +
"FROM ZT010 " +
"WHERE IDVARIANT = 'ALLOWED_FISCAL_MONTH' "
);
}
var lineDataMap = itemSelectList[0];
var _NOW_NENDO = lineDataMap['NOW_NENDO'];
var _NEX_NENDO = lineDataMap['NEX_NENDO'];
/* 買掛繰越処理 */
var itemSelectList = TALON.select(
"SELECT " +
" DT010.IDSIIRESAKI " +
" ,DT010.AMKISYUKAIKAKE + DT100.SHIIRE - DT100.SHIIRE_NEW - DT100.SIHARAI + DT100.SIHARAI_NEW AS AMKISYUKAIKAKE " +
" ,DT100.SHIIRE_NEW AS AMSIIRE " +
" ,DT100.SIHARAI_NEW AS AMSIHARAI " +
" ,DT010.AMKISYUKAIKAKE + DT100.SHIIRE - DT100.SIHARAI AS AMGENKAIKAKE " +
"FROM DT010 " +
"LEFT OUTER JOIN ( " +
" SELECT " +
" DT100.IDSIIRESAKI " +
" ,SUM( CASE WHEN DT100.KBKAITORI = '90' THEN AMZOUGEN ELSE 0 END ) AS SIHARAI " +
" ,SUM( CASE WHEN DT100.KBKAITORI = '90' AND DT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS SIHARAI_NEW " +
" ,SUM( CASE WHEN DT100.KBKAITORI <> '90' THEN AMZOUGEN ELSE 0 END ) AS SHIIRE " +
" ,SUM( CASE WHEN DT100.KBKAITORI <> '90' AND DT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS SHIIRE_NEW " +
" FROM DT100 " +
" WHERE DT100.FGVALID = 'T' " +
" AND DT100.DTNEND = " + _NOW_NENDO + " " +
" GROUP BY DT100.IDSIIRESAKI " +
") DT100 " +
" ON DT100.IDSIIRESAKI = DT010.IDSIIRESAKI "
);
for (var i = 0; i < itemSelectList.length; i++) {
var lineDataMap = itemSelectList[i]
var itemDataList = new Array();
//仕入先ID
itemDataList['IDSIIRESAKI'] = lineDataMap['IDSIIRESAKI'];
//期首買掛残高
itemDataList['AMKISYUKAIKAKE'] = lineDataMap['AMKISYUKAIKAKE'];
//期間仕入額(税込金額)
itemDataList['AMSIIRE'] = lineDataMap['AMSIIRE'];
//期間支払額
itemDataList['AMSIHARAI'] = lineDataMap['AMSIHARAI'];
//現買掛残高
itemDataList['AMGENKAIKAKE'] = lineDataMap['AMGENKAIKAKE'];
updateDT010(itemDataList);
}
/* 売掛繰越処理 */
var itemSelectList = TALON.select(
"SELECT " +
" ET010.IDTOKUISAKI " +
" ,ET010.AMKISYUURIKAKE + ET100.URIAGE - ET100.URIAGE_NEW - ET100.JURYOU + ET100.JURYOU_NEW AS AMKISYUURIKAKE " +
" ,ET100.URIAGE_NEW AS AMURIAGE " +
" ,ET100.JURYOU_NEW AS AMJYURYO " +
" ,ET010.AMKISYUURIKAKE + ET100.URIAGE - ET100.JURYOU AS AMGENURIKAKE " +
"FROM ET010 " +
"LEFT OUTER JOIN ( " +
" SELECT " +
" ET100.IDTOKUISAKI " +
" ,SUM( CASE WHEN ET100.KBURITORI NOT IN ('90','91','92') THEN AMZOUGEN ELSE 0 END ) AS URIAGE " +
" ,SUM( CASE WHEN ET100.KBURITORI NOT IN ('90','91','92') AND ET100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS URIAGE_NEW " +
" ,SUM( CASE WHEN ET100.KBURITORI IN ('90','91','92') THEN AMZOUGEN ELSE 0 END ) AS JURYOU " +
" ,SUM( CASE WHEN ET100.KBURITORI IN ('90','91','92') AND ET100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS JURYOU_NEW " +
" FROM ET100 " +
" WHERE ET100.FGVALID = 'T' " +
" AND ET100.DTNEND = " + _NOW_NENDO + " " +
" GROUP BY ET100.IDTOKUISAKI " +
") ET100 " +
" ON ET100.IDTOKUISAKI = ET010.IDTOKUISAKI "
);
for (var i = 0; i < itemSelectList.length; i++) {
var lineDataMap = itemSelectList[i]
var itemDataList = new Array();
//得意先ID
itemDataList['IDTOKUISAKI'] = lineDataMap['IDTOKUISAKI'];
//期首売掛残高
itemDataList['AMKISYUURIKAKE'] = lineDataMap['AMKISYUURIKAKE'];
//期間売上額
itemDataList['AMURIAGE'] = lineDataMap['AMURIAGE'];
//期間受領額
itemDataList['AMJYURYO'] = lineDataMap['AMJYURYO'];
//現売掛残高
itemDataList['AMGENURIKAKE'] = lineDataMap['AMGENURIKAKE'];
updateET010(itemDataList);
}
/* 在庫繰越処理 */
var itemSelectList = TALON.select(
"SELECT " +
" FT010.IDHINMOKU " +
" ,FT010.CDSOUKO " +
" ,FT010.QTKISYU + FT100.NYUKO_SU - FT100.NYUKO_SU_NEW - FT100.SYUKO_SU + FT100.SYUKO_SU_NEW AS QTKISYU " +
" ,FT100.SYUKO_SU_NEW AS QTNYUKO " +
" ,FT100.NYUKO_SU_NEW AS QTSYUKKO " +
" ,FT010.AMKISYU + FT100.NYUKO - FT100.NYUKO_NEW - FT100.SYUKO + FT100.SYUKO_NEW AS AMKISYU " +
" ,FT100.SYUKO_NEW AS AMNYUKO " +
" ,FT100.NYUKO_NEW AS AMSYUKKO " +
"FROM FT010 " +
"LEFT OUTER JOIN ( " +
" SELECT " +
" FT100.IDHINMOKU " +
" ,FT100.CDSOUKO " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') THEN QTZOUGEN * -1 ELSE 0 END ) AS SYUKO_SU " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN QTZOUGEN * -1 ELSE 0 END ) AS SYUKO_SU_NEW " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') THEN QTZOUGEN ELSE 0 END ) AS NYUKO_SU " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN QTZOUGEN ELSE 0 END ) AS NYUKO_SU_NEW " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') THEN AMZOUGEN * -1 ELSE 0 END ) AS SYUKO " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN * -1 ELSE 0 END ) AS SYUKO_NEW " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') THEN AMZOUGEN ELSE 0 END ) AS NYUKO " +
" ,SUM( CASE WHEN FT100.KBUKEBARAI NOT IN ('110','120','130','140','150','160','170') AND FT100.DTNEND = " + _NEX_NENDO + " THEN AMZOUGEN ELSE 0 END ) AS NYUKO_NEW " +
" FROM FT100 " +
" WHERE FT100.FGVALID = 'T' " +
" AND FT100.DTNEND = " + _NOW_NENDO + " " +
" GROUP BY FT100.IDHINMOKU " +
" ,FT100.CDSOUKO " +
") FT100 " +
" ON FT100.IDHINMOKU = FT010.IDHINMOKU " +
"AND FT100.CDSOUKO = FT010.CDSOUKO "
);
for (var i = 0; i < itemSelectList.length; i++) {
var lineDataMap = itemSelectList[i]
var itemDataList = new Array();
//品目ID
itemDataList['IDHINMOKU'] = lineDataMap['IDHINMOKU'];
//倉庫C
itemDataList['CDSOUKO'] = lineDataMap['CDSOUKO'];
//期首在庫数
itemDataList['QTKISYU'] = lineDataMap['QTKISYU'];
//期間入庫数
itemDataList['QTNYUKO'] = lineDataMap['QTNYUKO'];
//期間出庫数
itemDataList['QTSYUKKO'] = lineDataMap['QTSYUKKO'];
//期首在庫額
itemDataList['AMKISYU'] = lineDataMap['AMKISYU'];
//期間入庫額
itemDataList['AMNYUKO'] = lineDataMap['AMNYUKO'];
//期間出庫額
itemDataList['AMSYUKKO'] = lineDataMap['AMSYUKKO'];
updateFT010(itemDataList);
}
/* 入力認可過去月度の更新 */
TALON.update(
"UPDATE ZT010 SET " +
" TXVALUE = '" + _NEX_NENDO + "01' " +
"WHERE IDVARIANT = 'ALLOWED_FISCAL_MONTH' "
)
TALON.addMsg( "年次繰越処理を実行しました" );
TALON.setIsSuccess(true);
}
exec();
|
| FUNC_ATH_ID |
|---|
| system |
(TXNAME)(TXVALUE)(TXMEMO)