Ticket #31714

配分リセットにおいて期間を指定すると実行できない

Open Date: 2013-07-12 16:40 Last Update: 2013-07-12 16:42

Reporter:
Owner:
(None)
Type:
Status:
Open
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

配分リセットで期間を入力すると実行できません。 配分番号の指定の場合は削除できますが、 期間がオープンでなくても1件消えてしまいます。

Ticket History (3/3 Histories)

2013-07-12 16:40 Updated by: saiouga_uma
  • New Ticket "配分リセットにおいて期間を指定すると実行できない" created
2013-07-12 16:41 Updated by: saiouga_uma
Comment

◆エラーメッセージ AllocationReset.doIt SELECT * FROM C_AllocationHdr ah WHERE EXISTS (SELECT * FROM C_AllocationLine al WHERE ah.C_AllocationHdr_ID=al.C_AllocationHdr_ID AND al.C_BPartner_ID=? AND TRIM(ah.DateAcct) >= ? AND TRIM(ah.DateAcct) <= ? AND al.C_CashLine_ID IS NULL) AND EXISTS (SELECT * FROM C_Period p INNER JOIN C_PeriodControl pc ON (p.C_Period_ID=pc.C_Period_ID AND pc.DocBaseType='CMA') WHERE ah.DateAcct BETWEEN p.StartDate AND p.EndDate)

2013-07-12 16:42 Updated by: saiouga_uma
Comment

◆原因 オープン期間を判定する部分のSQL文にバグがある(と思う) AND EXISTS (SELECT * FROM C_Period p INNER JOIN C_PeriodControl pc ON (p.C_Period_ID=pc.C_Period_ID AND pc.DocBaseType='CMA') WHERE ah.DateAcct BETWEEN p.StartDate AND p.EndDate) 「期間がオープンの場合、配分は削除されます」とのことなので、 この部分は期間オープンかどうかの確認部分と思われる だとすれば WHERE ah.DateAcct BETWEEN p.StartDate AND p.EndDate ではなく SELECT * FROM adempiere.C_Period p INNER JOIN adempiere.C_PeriodControl pc ON (p.C_Period_ID=pc.C_Period_ID AND pc.DocBaseType='CMA') WHERE (pc.periodstatus='O' AND p.isactive='Y') AND(?【期間FROM】>=p.startdate and p.startdate>= ?【期間TO】)or(?【期間FROM】>=p.enddate and p.endtdate>=?【期間TO】) /*AND(p.startdate BETWEEN ?【期間FROM】AND ?【期間TO】)OR(p.enddate BETWEEN ?【期間FROM】AND ?【期間TO】) */ かも?

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login