楼主: yunhyang

有關報表的編號

[复制链接]
论坛徽章:
4
会员2007贡献徽章
日期:2007-09-26 18:42:10
31#
发表于 2007-9-26 21:01 | 只看该作者
最初由 yunhyang 发布
[B]我要的結果是:
當同為一個ORG_ID時,序號都是從第一個到最後,中間不管是從那個部門開始都要延續最後一個編碼,好比說
我第一廠,A部門,從001到056
我一廠的,B部門,就開始從057開始編碼到099
我一廠的,C部門,就開始從099開始至最後
          D部門...........
如果換一個組織,
            雙是從001開始編碼,和前面的一樣 [/B]


如果是这样的话。。
就太难控制了。。。

可以考虑在 某张表 里面开一个ATTRIBUTE。。


在BEFORE REPORT里

SELETE MAX() INTO NUM
NUM+1
然后UPDATE ATTRIBUTE。。

SELECT 的时候吧这个选出来。

不知道你明白我的意思了没?

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
32#
 楼主| 发表于 2007-9-26 21:05 | 只看该作者
其四,
e-go給我提示說用包,放在before中,
我也試工了下,放在before trigger ,report 老是報錯,package,不讓調用

後來,想到主SQL 中進行調用,目前沒有結果,還沒有進行測試
這為其四,
備註:大家對這個方法如何看待??將包體放在主sql中,進行存儲,並產生延續編號

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
33#
 楼主| 发表于 2007-9-26 21:07 | 只看该作者
最初由 黑枪 发布
[B]

不同的部门之间不是要重新开始编号么? [/B]


要是不同一個組織的編號才重新編號
同一組織不同部門的需要延續前一個部門的最後編號

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
34#
 楼主| 发表于 2007-9-26 21:08 | 只看该作者
最後一個是寫CF ,試了兩次
一看,行不通,完全行不通,
所以這個方法,我在一開始的時候就將它淘汰了

總共就這五種方法。

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
35#
 楼主| 发表于 2007-9-26 21:11 | 只看该作者
最初由 yefq2008 发布
[B]MR.YANG 明天我那张入库单完成了.我给你弄一下吧.看你挺辛苦的 [/B]

謝謝

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
36#
 楼主| 发表于 2007-9-26 21:13 | 只看该作者
最初由 黑枪 发布
[B]

如果是这样的话。。
就太难控制了。。。

可以考虑在 某张表 里面开一个ATTRIBUTE。。


在BEFORE REPORT里

SELETE MAX() INTO NUM
NUM+1
然后UPDATE ATTRIBUTE。。

SELECT 的时候吧这个选出来。

不知道你明白我的意思了没? [/B]



如果update attribute1/2/....
明年盤點呢,是否年年讓報表update ??

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
37#
 楼主| 发表于 2007-9-26 21:13 | 只看该作者
今天總結一下,
大MM,大GG 的方法:

第一個使我想到了創建sequence,因為之前寫過一個退貨單自動触發編碼,就是用sequence實現的,試了下,可以編碼,但所有的資料全是同一個編號,
備註:這個sequence的触發,我是放在before trigger 中進行的,看了一下文檔,資料上說,也只能触發一次,所以放在before trigger 上是不可實現的 ,同理放在after trigger 也是不可能實現的。
頁之間触發,試了,report 老是提醒錯誤。這為其一

其二, 黑枪 開始說讓我試rownum ,我馬上就試了試,確實是產生了,每一個都產生了,這個不容怀疑,但是我是讓部門作為參數,如果換一個部門,rownum也又從開始重復,
好比說,當傳A 部門時,從 001 開始,
傳B部門時,也是從001開始,
後來查看了一下rownum是如何產生的原理,我記得此rownum是在緩存區產生的一個序列(應該是這樣的吧),當有數據進行重新排序時,會重復編碼,
備註:我不知道我這樣想是不是對的,黑槍你有其它的想法或者提示我還有些沒有想到??
提示提示?


後來,ZHAO兄,給我提示了另外一種方法,
說可以用個cursor 來實現,我試了下,開始放在before 中,不會報錯,但就是不出來編碼,
几經週折後,蹦出一個編碼,可全是統一的編碼 ,好像了沒太行的通,
後來ZHAO兄,雙建議我使用rownum ,試了,總還是不行.....也還是出現重復編碼
備註:ZHAO兄不知有沒有需要補充的?讓不才多試兩下??
這為其三


其四,
e-go給我提示說用包,放在before中,
我也試工了下,放在before trigger ,report 老是報錯,package,不讓調用

後來,想到主SQL 中進行調用,目前沒有結果,還沒有進行測試
這為其四,
備註:大家對這個方法如何看待??將包體放在主sql中,進行存儲,並產生延續編號

最後一個是寫CF ,試了兩次
一看,行不通,完全行不通,
所以這個方法,我在一開始的時候就將它淘汰了

總共就這五種方法。

我要的結果是:
當同為一個ORG_ID時,序號都是從第一個到最後,中間不管是從那個部門開始都要延續最後一個編碼,好比說
我第一廠,A部門,從001到056
我一廠的,B部門,就開始從057開始編碼到099
我一廠的,C部門,就開始從099開始至最後
D部門...........

如果換一個組織到二廠的話,
雙是從001開始編碼,和前面的一樣
A部門,從001到011
B部門,就開始從012開始編碼到054
C部門,就開始從055開始至最後
...............

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
38#
 楼主| 发表于 2007-9-26 21:14 | 只看该作者
要是不同一個組織的編號才重新編號
同一組織不同部門的需要延續前一個部門的最後編號,往下編

使用道具 举报

回复
论坛徽章:
3
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
39#
 楼主| 发表于 2007-9-26 21:15 | 只看该作者
兄弟們都出來看看這問題,這問題差點讓我禿頂

使用道具 举报

回复
论坛徽章:
4
会员2007贡献徽章
日期:2007-09-26 18:42:10
40#
发表于 2007-9-26 22:32 | 只看该作者
最初由 yunhyang 发布
[B]


如果update attribute1/2/....
明年盤點呢,是否年年讓報表update ?? [/B]


对头。

我们现在对凭证编号就是这样做的。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表