客户信贷管理&临时授信
信贷额度的组成:假如某客户信用限额1万;开出销售订单时锁定1万;一旦发货1万,销售订单1万限额释放,变成发货锁定限额1万。一旦开票,发货1万限额释放,应收锁定1万限额。清帐成功,应收释放1万。信用限额又回到1万了,如此循环。
未清订单价值:未清订单价值是所有未交货的订单条目的价值;未清订单的价值是基于已确认数量的(已
确认数量乘以信用价格=订单的未清订单价值);因信用检查已经被锁住的订单不包含已确认的数量;
只要锁还在,未清订单价值就不会增加
未清交货价值:未清交货价值是所有尚未出具发票的交货条目的价值;做了交货装载未做交货确认(客
户收货)。
未清出具发票价值:未清出具发票价值是所有尚未传输到会计的出具发票条目的价值
来自特殊总账事务的预收款:如果它们与信用限额相关(例如,付款),则会从特殊承付款转移到总承
付款;系统基于付款者更新价值;
http://wenku.baidu.com/link?url=oPMuwXni1B0tSevcDr_o1EPnS87vmuYSrg-AKhoho6xDIBCgDaAr4LsWyHcdzrxdZir25PAwjSYxmi8EfnA9FinymWcFuaMbs4iTs-iCQ6K
以上部分为标准信贷管理的配置和说明,下面就说说临时信贷的东西,临时信贷不在SAP标准范围了,这是根据业务需要整出来为一些信用超额的用户实行的特殊管理。
一张临时授信表,对应到客户级别,订单级别,信贷范围级别,且每条授信数据都是有有效期。
逻辑说明:在信用检查的出口中计算客户的临时授信等数据,并参与到标准的信用计算中,最终对于结果给出标准的信贷返回值。
程序出口:LVKMPFZ1
***INCLUDE LVKMPFZ1 .
* Subroutines for user credit check 1 *---------------------------------------------------------------------*
* FORM USER_CREDIT_CHECK1 *
*---------------------------------------------------------------------*
* this routine must be programmed, if user activates credit *
* check user 1 in T691f *
* please regard message numbers V1170, V1171 in Table T100 *
*---------------------------------------------------------------------*
* --> UCC1_UPDATE 'X' means during posting a document *
* ' ' means during processing items *
* --> UCC1_KKBER credit control area *
* --> UCC1_KNKLI credit customer *
* --> UCC1_FLG_ORDER 'X' means document is an order *
* --> UCC1_FLG_DELIVERY 'X' means document is a delivery note *
* <-- UCC1_RC returncode: 0 means OK, 4 means not OK *
*---------------------------------------------------------------------*
FORM USER_CREDIT_CHECK1 USING UCC1_UPDATE
UCC1_KKBER
UCC1_KNKLI
UCC1_FLG_ORDER
UCC1_FLG_DELIVERY
CHANGING
UCC1_RC.
* clear the returncode
CLEAR UCC1_RC.
* credit check: if not positiv, set returncode
* MOVE CON_RC_NOK TO UCC1_RC.
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Form USER_CREDIT_CHECK1, End A
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT ZLVKMPFZ1_CHECK. "active version
DATA: DATE_CREDIT_EXPOSURE TYPE D VALUE '',
SCC_OPEN_ORDER LIKE S066-OEIKW,
SCC_OPEN_DELIVERY LIKE S067-OLIKW,
SCC_OPEN_INVOICE LIKE S067-OFAKW,
SCC_SUM_OPENS LIKE S067-OFAKW,
SCC_RC,
SCC_RC_ALL,
SCC_RC_WARNING,
SCC_RC_ERROR,
SCC_RC_STATUS_SET,
SCC_UPDATE,
SCC_KKBER LIKE rlikp-kkbeR,
SCC_KNKLI LIKE rlikp-knkli,
SCC_FLG_ORDER,
SCC_FLG_DELIVERY,
SCC_CMPSX LIKE rkvbuk-cmpsa.
*变量赋值将UCC的变量值赋值给SCC
SCC_KKBER = UCC1_KKBER.
SCC_KNKLI = UCC1_KNKLI.
SCC_FLG_ORDER = UCC1_FLG_ORDER.
SCC_FLG_DELIVERY = UCC1_FLG_DELIVERY.
SCC_UPDATE = UCC1_UPDATE. "*执行标准的静态检查程序
CLEAR SCC_RC. "实时应回款金额
DATA:LV_DMBTR TYPE DMBTR.
CLEAR:LV_DMBTR.
READ TABLE XVBPA INDEX .
IF SY-SUBRC = .
CLEAR:LV_DMBTR.
CALL FUNCTION 'ZFM_DYN_DUE_PAY'
EXPORTING
IM_VBELC = ''
IM_VBELA = XVBPA-VBELN
IM_ERDAT = SY-DATUM
IMPORTING
EX_DMBTR = LV_DMBTR. IF LV_DMBTR <= .
UCC1_RC = .
ELSE.
UCC1_RC = .
ENDIF.
ENDIF.
"收款单货款金额
DATA:LV_SHKDJE TYPE DMBTR.
CLEAR:LV_SHKDJE.
CALL FUNCTION 'ZSD_SKD_HKJE'
EXPORTING
IM_KUNNR = UCC1_KNKLI
IM_KKBER = UCC1_KKBER
* IM_ZDJLX =
* IM_GJAHR = SY-DATUM+0(4)
IMPORTING
EX_ZHKJE = LV_SHKDJE. "获取临时信用额度
DATA:LV_LSXYED TYPE DMBTR.
CLEAR:LV_LSXYED.
CALL FUNCTION 'ZFM_GET_TEMP_CREDIT'
EXPORTING
* IM_VBELC =
IM_VBELA = XVBPA-VBELN
IM_KUNNR = UCC1_KNKLI
IM_KKBER = UCC1_KKBER
IM_ERDAT = SY-DATUM
* IM_ERDAT2 = SY-DATUM
* IM_CRBLB =
IMPORTING
* EX_ZJLH =
EX_LSXYJE = LV_LSXYED. * Ermitteln Alterung
PERFORM CREDIT_MASTER_GET
USING SCC_KKBER
SCC_KNKLI
T691F-ERLTA
T691F-ERLST
CHANGING SAV_FI_VEKTOR_AKTUELL KNKK.
* get credit exposure SD
IF T691F-STVAW EQ TRUE
OR T691F-STVLW EQ TRUE.
PERFORM CREDIT_EXPOSURE_GET
USING SCC_KKBER
SCC_KNKLI
DATE_CREDIT_EXPOSURE
T014
T691F-STVAW "open order
T691F-STVLW "open delivery
T691F-STVLW "open invoice
CHANGING
SCC_OPEN_ORDER
SCC_OPEN_DELIVERY
SCC_OPEN_INVOICE
SAV_OPEN_ORDER_SECURE
SAV_OPEN_DELIVERY_SECURE
SAV_OPEN_INVOICE_SECURE
DELTA_SPTAG
DELTA_SPWOC
DELTA_SPMON
DELTA_SPBUP.
ENDIF.
* gets the delta of current order, that must computed to credit database
CLEAR: DELTA_OEIKW, DELTA_OLIKW, DELTA_OFAKW.
IF T691F-STVAW EQ TRUE
OR T691F-STVLW EQ TRUE.
IF SCC_FLG_ORDER EQ TRUE.
PERFORM CREDIT_DELTA_ORDER.
* CHANGING DELTA_OEIKW DELTA_OLIKW DELTA_OFAKW.
ENDIF.
*
IF SCC_FLG_ORDER EQ CHARY.
PERFORM CREDIT_DELTA_SM_ORDER.
ENDIF.
*
IF SCC_FLG_DELIVERY EQ TRUE.
PERFORM CREDIT_DELTA_DELIVERY.
* CHANGING DELTA_OEIKW DELTA_OLIKW DELTA_OFAKW.
ENDIF.
ENDIF.
* offene werte bestimmen SCC_SUM_OPENS = SCC_SUM_OPENS - LV_SHKDJE - LV_LSXYED. IF T691F-STVAW EQ TRUE.
ADD DELTA_OEIKW TO SCC_OPEN_ORDER.
SCC_SUM_OPENS = SCC_SUM_OPENS + SCC_OPEN_ORDER.
ENDIF.
IF T691F-STVLW EQ TRUE.
ADD DELTA_OLIKW TO SCC_OPEN_DELIVERY.
ADD DELTA_OFAKW TO SCC_OPEN_INVOICE.
SCC_SUM_OPENS = SCC_SUM_OPENS + SCC_OPEN_DELIVERY
+ SCC_OPEN_INVOICE.
ENDIF.
* Kreditlimit anpassen
PERFORM KNKK-KLIMK_CHANGE USING T691F CHANGING SAV_KNKK_KLIMK.
* open values > creditlimit
IF SCC_SUM_OPENS GT SAV_KNKK_KLIMK.
PERFORM MESSAGE_EXCEEDED_VALUE USING SCC_FLG_ORDER SCC_SUM_OPENS.
MOVE CON_RC_NOK TO SCC_RC.
ELSE.
CLEAR:RC_CHECK,RC_WARNING.
* IF SY-TCODE = 'VA02'.
* CALL FUNCTION 'SD_ORDER_CREDIT_RELEASE'
* EXPORTING
* VBELN = XVBPA-VBELN
** IF_SYNCHRON = 'X'
* .
*
* ENDIF.
ENDIF.
* set returncodes and status
* PERFORM INDICATORS_SET USING SCC_UPDATE
* SCC_RC
* T691F-STSET
* T691F-STREA
* CHANGING SCC_RC_ALL
* SCC_RC_WARNING
* SCC_RC_ERROR
* SCC_RC_STATUS_SET
* SCC_CMPSX.
* set returncodes and status for ageing FI data
PERFORM AGEING_FI_DATA USING SAV_FI_VEKTOR_AKTUELL
SCC_UPDATE
T691F-STSET
T691F-STREA
CHANGING RC_CHECK_M
SCC_RC_ALL
SCC_RC_WARNING
SCC_RC_STATUS_SET
RKVBUK-CMPSM
FI_VEKT_REA.
ENDENHANCEMENT.
*$*$-End: (1)---------------------------------------------------------------------------------$*$*
ENDFORM.
订单解冻函数:SD_ORDER_CREDIT_RELEASE 效果等同于VKM1
状态更新函数:I_CHANGE_STATUS 强制修改状态,用前需检查状态未变更,否则状态会DUMP
信贷金额限度:CREDITLIMIT_CHANGE upd_knkk ‘I’ 'U'...
客户信贷管理&临时授信的更多相关文章
- CRM(客户关系管理)
CRM最初是由Gartner Group提出的. CRM定义:"客户关系管理(CRM),是代表增进赢利.收入和客户满意度而设计的,企业范围的商业战略." 我们可以看出,Gartne ...
- 如何选择合适的CRM客户关系管理软件?
面对日益激烈的市场竞争,很多企业管理者不断通过各种途径和方式,试图寻找一个合适并行之有效的解决方案,以帮助他们解决企业管理难题,不断提高企业的业绩,获得持续的成功. 企业管理软件的出现填补了企业管理领 ...
- 医院管理者必须知道的医院客户关系管理(CRM)
客户关系管理(customer relationship management,CRM)是在二战之后首先由美国IBM.道氏.通用等大型企业提出并运用的一种以有效销售为目的的市场营销思想,其理论基础就是 ...
- 智能化CRM客户关系管理系统介绍一
智能化CRM客户关系管理系统介绍一 CRM客户关系管理的定义是:企业为提高核心竞争力,利用相应的信息技术以及互联网技术来协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方式,向客户提供创新式 ...
- SAP 客户信贷重建一则
前段时间接到业务的一个需求,需要将标准和定制业务的信贷分开.原来目前公司是将标准和定制的客户信贷金额整在一起,共用一个信贷范围.而定制业务特殊性决定了公司要收到客户全款才会接单生产并发货,而客户打预收 ...
- CRM客户关系管理系统 北京易信软科信息技术有限公司
北京易信软科信息技术有限公司 推出大型erp系统,库存管理系统,客户关系管理系统,车辆登记管理系统,员工管理系统,采购管理系统,销售管理系统,为您的企业提供最优质的产品服务 北京易信软科您可信赖的北京 ...
- 关系型数据库工作原理-客户端连接管理器(翻译自Coding-Geek文章)
本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-data ...
- AEAI CRM客户关系管理升级说明
本次发版的AEAI CRM_v1.5.1版本为AEAI CRM_v1.5.0版本的升级版本,该产品现已开源并上传至开源社区http://www.oschina.net/p/aeaicrm. 1 升级说 ...
- android 管理手机短信
为了看代码方便,一边在网上google资料,一边看Android java 源代码. 偶然发现了一个类MmsSmsDatabaseHelper.java,原来android将所有的短信信息都存入了mm ...
随机推荐
- Photoshop CS6 快捷键
1.工具箱 移动工具 [V]矩形.椭圆选框工具 [M]套索.多边形套索.磁性套索 [L]快速选择工具.魔棒工具 [W] 裁剪.透视裁剪.切片.切片选择工具 [C]吸管.颜色取样器.标尺.注释.12 ...
- CUBRID学习笔记 44 UPDATE 触发器 更新多表 教程
cubrid的中sql查询语法UPDATE c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...
- Android——例子:屏幕切换
效果图如下: Xml文件代码: <?xml version="1.0" encoding="utf-8" ...
- jpg 批量压缩工具 v1.0
工作需要经常压缩大量图片,网上搜了一些 使用起来总觉得不方便.昨天自己用AIR 写了一个,功能简单,需要的朋友可以自己 下载使用win 版绿色版 http://pan.baidu.com/s/1k ...
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'db'
1.问题 在刚刚安装MySQL之后,进入到mysql环境下,创建数据库,出现下面的提示信息: ERROR 1044 (42000): Access denied for user ''@'localh ...
- oracle 10g正则表达式 REGEXP_LIKE 用法
ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBS ...
- Java 文件IO续
文件IO续 File类 用来将文件和文件夹封装成对象 方便对文件和文件夹的属性信息进行操作 File对象可以作为参数传递给流的构造函数 Demo1 File的构造方法 public cla ...
- 在Linux或者Unix下打开,每一行都会出多出^M这样的字符
Windows上写好的文件,在Linux或者Unix下打开,每一行都会出多出^M这样的字符,这是因为Windows与*nix的换行符不同所致,我们看看文件格式有什么不同. 在Linux下查看文件格式: ...
- js倒计时天时分秒[转]
<script language="JavaScript"> <!-- // function getQueryString(name) { var reg =n ...
- SCCM日志存放路径
sccm有一些比较重要的日志大家可能经常需要查看.下面是一些比较常用的日志文件的存放位置. 客户端日志文件: 日志位于服务器端 SMS_CCM\Logs 文件夹中 日志位于客户端 %Windir%\S ...