销售模块主要的业务表及其关系(来源未知)
来源:互联网 发布:2017网络信息安全考试 编辑:程序博客网 时间:2024/04/30 20:00
销售模块有很多的业务表,下图是一个简单的概括,不全面,而且没有涉及到Project,但涵盖了主要的一些表。希望对理解销售模块功能的实现逻辑和开发有帮助。由于我个人AX经验也不足,难免有什么纰漏,还请不吝指教。
Step4, 5, 6:
当对于一个或多个SO(Sales Order)做一个Confirmation单时,如果不存在汇总,每一个SO都单独拥有一个Confirmation单,那么,每一个SO都对应会生成一条CustConfirmJour,而CustConfrimJour和SO之间的关系是通过一条CustConfirSalesLink来连接的。每一条要做confirmation的SOLine会对应有一条CustConfirmTrans记录。
如果存在汇总,如:
SO
InvoiceAccount
SO000001
C00001
SO000002
C00001
SO000003
C00002
当我们在做confirmation时,以InvoiceAccount来对SO进行汇总,那么就会生成如下:
SO
InvoiceAccount
CustConfirmJour
CustConfirmSalesLink
SO000001
C00001
A journal with salesId = SO000001
New sales link with salesId = SO000001 and origSalesId = SO000001
SO000002
C00001
New sales link with salesId = SO000001 and origSalesId = SO000002
SO000003
C00002
A journal with salesId = SO000002
New sales link with salesId = SO000002 and origSalesId = SO000003
如果SO的Line如下:
SO
Line
CustConfirmTrans
SO000001
Line1
Trans with SalesId = SO000001 and origSalesId = SO000001
Line2
Trans with SalesId = SO000001 and origSalesId = SO000001
SO000002
Line1
Trans with SalesId = SO000001 and origSalesId = SO000002
SO000003
Line1
Trans with SalesId = SO000003 and origSalesId = SO000003
在过账Confirmation, picking slip, packing slip, invoice时,会有一些中间表来辅助过账,这些表大多以模块+Parm开头。如在过账Invoice时,会有这样一些表:
Table Name
Description
SalesParmUpdate
每次过账时,会新生成一个ParmId,过账过程中用到的所有中间表都会包含这个ParmId,也就是说用ParmId可以区分同一批次过账的所有记录
SalesParmTable
当多个SO汇总过账时会选其中一个SO作为头,SalesParmTable会对应这个作为头的SO。如果不存在汇总,那么SalesParmTable直接对应相应的SO
SalesParmSubTable
当多个SO被汇总过账时,所有被汇总的SO都会对应有一条SalesParmSubTable来映射到原始的SO
SalesParmLine
当多个SO汇总过账时,这些SO下的所有Line都会以SalesParmLine被映射到那个作为头的SO上,并通过origSalesId和其原始的SO关联。
SalesParmSubLine
当多个SO汇总过账时,SalesParmSubLine会将所有这些SO下的Line映射到其原始的SO上,并与SalesParmLine关联
Step 13, 14, 15:
当过账Invoice时,每一条SalesParmTable会对应生成一条CustInvoiceJour, 每一天SalesParmLine会对应生成一条CustInvoiceTrans。CustInvoiceSalesLink将在CustInvoiceJour与其所涉及到的所有SO直接建立一个关联。
与此同时,会生成记帐凭证,记录在LedgerTrans表中。
CustInvoiceJour相当于销售日记账,同时在过账时,客户明细账会被写入到CustTrans。而与客户有关的没有被结算的交易则会被写到CustTransOpen表中,并且CustTrans和CustTransOpen直接会建立关联。
如果对应某一笔交易,我们有一个收款计划,比如六个月收完,那么根据这个收款计划,会为计划中的每一次还款建一条CustTransOpen.
所以,CustTrans与CustTransOpen之间是1:N的关系。
Step 19, 20, 21:
在结算时需要选择我们的付款时用于结算那一笔交易,这个时候我们是将我们的付款日记账与未结束交易进行关联,也即CustTransOpen和LedgerJournalTrans。
LedgerJournalTrans上有一个字段Invoice,它表示所要结算的发票号,如果一条LedgerJournalTrans同时用于结算多个发票(通过Mark要结算的记录便可)时,你会发现Invoice变为’*’号。
LedgerJournalTrans与CustTransOpen之间的结算与被结算关系是通过一个中间表SpecTrans来完成的,具体对应关系请参考图中的表关系。当Mark一条CustTransOpen到LedgerJournalTrans时,先查找SpecTrans确认该CustTransOpen没有被其他付款所结算,然后新建一条SpecTrans表示要用这笔付款结算该交易。如果同时结算多个CustTransOpen,那么就产生对应多的SpecTrans。如果取消对某条CustTransOpen的Mark,对应的SpecTrans也会被删除掉。
Step 22, 23, 24:
当过账某一笔付款日志时,那么新建记账凭证(LedgerTrans),付款交易被写入到CustTrans中,这条新的付款交易用于结算在销售过账是生成的那条CustTrans,它们之间结算与被结算的关系被保存在CustSettlement表中。结算之后,删除掉对应的CustTransOpen(应为CustTransOpen本身就是用来记录需要被结算的交易,当交易被结算后自然要删除的)。同时也删除对应的SpecTrans。
- 销售模块主要的业务表及其关系(来源未知)
- 销售模块主要的业务表及其关系
- 一张销售订单的主要数据来源
- 一张销售订单的主要数据来源
- 一张销售订单的主要数据来源(ZT)
- 《程序员》 -- 业务、销售与技术的关系
- Sap 主要模块业务主表
- ffmpeg主要数据结构及其之间的关系
- ffmpeg主要数据结构及其之间的关系
- ffmpeg主要数据结构及其之间的关系
- ffmpeg主要数据结构及其之间的关系
- ffmpeg主要数据结构及其之间的关系
- ffmpeg主要数据结构及其之间的关系
- python tornado主要模块以及模块之间的关系
- 转载文章的主要来源
- 软件漏洞的主要来源
- 我的主要资源来源
- 电磁干扰的主要来源
- VTK修炼之道61:体绘制_光线投影+最大密度投影+等值面法
- linux中find常用
- UP9601/UP9602台湾力智快充识别芯片方案
- static关键字
- Sass-字符串插值
- 销售模块主要的业务表及其关系(来源未知)
- 把Matlab的p代码还原为可读的m代码的可能性
- canvas-实例时钟
- Android RatingBar星级评分
- CmakeLists实践(3)
- Keil MDK中Image$$RW_IRAM1$$ZI$$Limit
- 《Android群英传》读书笔记3.Android控件架构与自定义控件详解
- Android获取RAM大小,内部存储大小,外部存储大小
- 6 spring framework导入eclipse(github下载 gradle构建)