首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

matinal:SAP SD 分析信用控制管理

SAP系统信用管理功能的介绍: R/3系统具有强大的信用管理功能。系统可将来自于FI、SD的财务及销售信息进行汇总, 提供即时的信用数据;并可依据信用政策对订单及发货进行管理,有效地降低风险;并可集中、简便地处理信用问题,加快销售订单的办理。 SAP信用管理功能 信用管理包括以下特性: * 辅助公司制定满足公司信用管理需要的信用管理政策 * 根据公司信用管理政策,在系统中自动进行信用检查 * 可以指定在销售和分销周期中的某一关键点执行这些检 * 通过系统内部电子邮件系统传递信用相关问题给信用管理者 SAP信用管理功能 * 提供全面的客户信用、资金、帐务信息 * 根据公司的信用政策,信用管理者可以快速地、准确地复核客户的信用 状况,决定是否调整信用。通过为客户指定信用额度,可按情况自己决定信用风险程度。能够跟踪一个客户或客户组的财务状况,识别早期的预警信号,提高公司的信用决策水平。 SAP信用管理基本概念 * 信用控制区 * 风险级别 * 信用组 * 信用控制点 * 信用政策的制定 SAP信用管理基本概念 * 信用控制区:对客户的信用控制与信用评估是在某个信用控制区进行的,信用控制区是根据销售区域进行一定的组合合并建立。一个信用控制区可对应一个信用额度。 *风险等级:对客户进行评估后,据其信用历史将客户进行分类,一般分为高、中、低等级别。一个信用控制区对应多个风险级别,根据不同的级别采用不同的信用控制方法 * 信用组:对销售订单和发货单进行分组,定义何种销售订单或发货单参加信用控制,或采用不同的信用政策。 * 参与信用控制订单:外销订单、内销订单 * 不参与信用控制订单:冲红请求单、补款请求、退货订单、后续免费订单、 * 信用控制点:系统何时进行信用检查(订单、交货) * 信用控制点 销售订单 创建交货单 发货过账 * 信用政策的制定:在信用控制区、风险级别的任意有效组合中可定义下列任何一种信用检查政策。静态信用额度检查客户的信用使用不能超过已建立的信用额度。信用使用额是下列各方面金额的总和: <未清订单:尚未发货的订单的金额 <未清发货:尚未开具发票的交货单金额 <未清发票:财务尚未入帐的发票金额 <未清项目:财务已入帐但客户尚未结清 * 信用政策的制定 基于信用期间的动态信用额度检查 展望期:信用检查基准日期的延长期对于系统确认的交货日期在延长期后的订单,该订单在延长期内不占用信用额度 * 信用政策的制定:最大风险金额销售订单和发货单金额不能超过在信用检查中定义的一个最大金额。 关键字段指系统中与信用相关的字段,如付款条件、 固定价值日期以上数据改变系统会重新进行信用检查。 SAP信用管理基本概念 * 信用政策的制定:下次复查日使用下次复查日用以提示信用管理者即时进行信用政策的检查。 例:在系统后台设置天数(如1天),在客户信用主数据中设定下次复查日(如1999年3月25日),则系统将在1999年3月26日自动提示:客户检查日期超过,提示信用管理者进行信用检查后修改该日期为下一需校验日期。 * 信用政策的制定: 未清项目 最大未清项%: 超过一定天数的逾期欠款/客户应收帐款余额的最大百分比 未清项目天数:允许的逾期欠款的天数 例如: 定义最大未清项目%为5%,未清天数为3天,即允许客户“逾期3天的未清应收帐款/该客户的应收帐款余额”最大比例为5%,若超过5%则将被信用冻结。 * 信用政策的制定: 最早未清项目 允许客户最长的逾期欠款天数。 例如,定义某信用控制区的客户最早未清项目为1天,则该客户的逾期欠款不能在1天以上,否则将不满足信用条件。 * 信用政策的制定: 最高拖欠级客户利用FI的催款程序,规定客户的最高拖欠级,若达到最高拖欠级,则将不满足信用条件。目前,FI设置的拖欠等级为四级: 一级:逾期90天 二级:逾期120天 三级:逾期150天 四级:逾期180天 最高拖欠级为第四级,若某客户的在集团范围内任一销售区域的应收帐款逾期180天,则其他销售区域的订单、交货单也将会被冻结。 R/3系统操作方法

01

合理选择数据结构

写程序很重要的一点是选择合理的数据结构,不合适的数据结构在如今高性能计算机盛行的情况下,小数据量体现不出什么来,但是在超大数据的时候, 你所面临的困境将会无穷的放大。 在python里主要的数据结构,也就是内置数据结构,包括了列表,元组,字典以及集合。这四种数据结构分别具有不同的特性,影响着python的方方面面。 列表和元组类似于C的数组,但是不同的是,列表是动态的数组,具有着增删改查的操作,元组是静态的数组,本身是不可变的(除非里面包含了可变的容器类) 。那python为啥还要实现元组呢?按照python之禅所述,Special cases aren't special enough to break the rules...There should be one-- and preferably only one --obvious way to do it. 这是因为元组可以缓存于python的运行环境,在每次使用元组时我们都无需去访问内核分配内存,元组和列表代表着两种不同的方式,元组是一个不会改变事物的多种属性,而 列表是保存多个相对独立的对象的集合。 列表的搜索,如果在已知次序的情况下,使用二分法效率会变得很好,但是如前言所述,在相对独立的对象的数据集合中,有序是比较少见的情况,这意味着对列表的搜索 在python内部结构就只能是遍历。python的内建排序不是如《python源码剖析》所述是快速排序,而是Tim排序,这个排序是google发明的,可以在最好的情况下实现O(n)的复杂度排序 ,在最坏的情况下也有O(log(n))。对于数据的搜索, def b_search(i, haystack): imin, imax = 0, len(haystack) while True: if imin > imax: return -1 mid = (imin + imax) // 2 if haystack[mid] > i: imax = mid elif haystack[mid] < i: imin = mid + 1 else: return mid python的二分搜索实现很简单,因为你不需要再考虑内存溢出以及安全性,这些python已经帮你做好了。还有和二分搜索相似的,就是二叉搜索树。至于如果你不想自己实现 你可以选择bisect模块帮你解决这个问题。 元组因为其的不可改变性,对于列表为了其可变性牺牲的额外的内存以及使用它们进行的额外的计算,元组就内存消耗和速度就快的多了。并且小元组在申请了内存后也就是 不会返还给系统,还留待未来使用,在接下来需要新元组时就不需要向系统申请内存了。 下面看看字典和集合,字典在很多语言内都有实现,也就是映射,属于key-value的一种,在python里集合也是类似字典的结构,只不过没有了value,只有key了。 字典和集合的查询无需遍历,只需要计算散列函数就可获得其值,但这也意味着这两种数据结构会占用更大的内存,而且O(1)的复杂度也取决于散列函数的计算复杂度。 字典插入时,会计算键的散列值,理想的散列函数对应的键应该是就是整数,不会出现任何形式的冲突。计算出散列值后,很重要的一点要计算掩码,来得知value应该存放的 位置。对于冲突的处理,python使用的是开放定址法,会在一个数组里不断‘嗅探’,获得空的内存空间。当然,在字典的内存不够用时,自然会申请空间,这意味着我们需要重新散列值和 掩码。 所以,每种数据结构都有其不同的特性,所以这也意味着选择一个良好的数据数据会使得你的代码效率快上不少。

02
领券