好吧,前提要说一下,信贷是到客户的信贷范围级别的。

FUNCTION zfm_credit.
*"----------------------------------------------------------------------
*"*"本地接口:
*" TABLES
*" T_TAB STRUCTURE ZJKS001 OPTIONAL
*" T_TAB_I STRUCTURE ZJKS002 OPTIONAL
*"---------------------------------------------------------------------- DATA:gs_zsds001 TYPE zsds001.
DATA:gs_zsds002 TYPE zsds002.
DATA:lv_func TYPE char50."结构ID
DATA:s_tab TYPE zjks001."表头结构
DATA:s_tab_i TYPE zjks002."表体结构
DATA:gt_table TYPE ddfields,
gs_table TYPE dfies.
DATA:gs_knka TYPE knka,
gs_knkk TYPE knkk,
gv_knka TYPE knka,
gv_knkk TYPE knkk,
gv_upd TYPE cdpos-chngind.
DATA:gv_name1 TYPE kna1-name1.
DATA:gt_kna1 TYPE TABLE OF zsknb1,
gs_kna1 TYPE zsknb1.
DATA:lv_line TYPE i. DATA:gs_zsds003 TYPE zsds003. DATA:gt_message TYPE TABLE OF bdcmsgcoll.
DATA:gs_message TYPE bdcmsgcoll.
DATA:lv_str TYPE string.
DATA:lv_int TYPE i. FIELD-SYMBOLS: <dyn_wa>,"表头
<dyn_la>,"表体
<dyn_field>."字段
DATA lv_col_sting TYPE string . DEFINE mesgadd."返回消息赋值
S_TAB-FIELDNAME = &.
S_TAB-VALUE = &.
IF & is not INITIAL .
APPEND S_TAB TO T_TAB.
ENDIF.
END-OF-DEFINITION. DEFINE mesgaddi."返回消息赋值
lv_col_sting = & .
CONCATENATE & lv_col_sting into S_TAB_I-FIELDNAME .
SHIFT S_TAB_I-FIELDNAME RIGHT DELETING TRAILING space.
CONDENSE S_TAB_I-FIELDNAME NO-GAPS.
S_TAB_I-VALUE = &.
CONDENSE S_TAB_I-VALUE NO-GAPS.
APPEND S_TAB_I TO T_TAB_I.
END-OF-DEFINITION. CLEAR:gs_zsds001,gs_zsds002,lv_func,s_tab,gt_table[],gs_zsds003,lv_str,gt_message. READ TABLE t_tab INTO s_tab WITH KEY fieldname = 'FUNCTION'.
IF sy-subrc = .
lv_func = s_tab-value.
ELSE.
REFRESH:t_tab.
mesgadd:'RETURN' 'E',
'MESSAGE' '未指定函数!'.
RETURN.
ENDIF. CASE lv_func.
WHEN 'CREDIT02'.
ASSIGN gs_zsds003 TO <dyn_wa>."表头结构
WHEN OTHERS.
ENDCASE. LOOP AT t_tab INTO s_tab."表头数据装换
ASSIGN COMPONENT s_tab-fieldname OF STRUCTURE <dyn_wa> TO <dyn_field>.
IF sy-subrc = .
<dyn_field> = s_tab-value.
IF s_tab-fieldname = 'KLIMK'.
lv_int = s_tab-value.
gs_zsds003-klimk = lv_int.
ENDIF.
ENDIF.
ENDLOOP. REFRESH:t_tab."清空表头 CASE lv_func. WHEN 'CREDIT02'. IF gs_zsds003-ctlpc IS INITIAL.
gs_zsds003-ctlpc = 'Z01'.
ENDIF.
CONCATENATE 'Z' gs_zsds003-kkber INTO gs_zsds003-kkber.
CONDENSE gs_zsds003-kkber NO-GAPS.
IF gs_zsds003-waers IS INITIAL.
gs_zsds003-waers = 'CNY'.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gs_zsds003-kunnr
IMPORTING
output = gs_zsds003-kunnr. SELECT SINGLE * INTO CORRESPONDING FIELDS OF gs_knkk
FROM knkk WHERE kunnr = gs_zsds003-kunnr AND kkber = gs_zsds003-kkber.
IF sy-subrc = .
gv_upd = 'U'.
ELSE.
gv_upd = 'I'.
ENDIF. SELECT SINGLE * INTO CORRESPONDING FIELDS OF gs_knka
FROM knka WHERE kunnr = gs_zsds003-kunnr. gs_knkk-kunnr = gs_zsds003-kunnr.
gs_knkk-knkli = gs_zsds003-kunnr.
gs_knkk-kkber = gs_zsds003-kkber.
gs_knkk-klimk = gs_zsds003-klimk.
gs_knkk-erdat = sy-uname.
gs_knkk-ctlpc = gs_zsds003-ctlpc. CALL FUNCTION 'CREDITLIMIT_CHANGE'
EXPORTING
i_knka = gs_knka
i_knkk = gs_knkk
upd_knka = ''
upd_knkk = gv_upd
* XNEUA = ' '
* XREFL = ' '
yknka = gv_knka
yknkk = gv_knkk.
IF sy-subrc = .
mesgadd:'RETURN' 'S',
'MESSAGE' '信贷更新成功!'.
ELSE.
mesgadd:'RETURN' 'E',
'MESSAGE' '信贷更新失败!'.
ENDIF. WHEN OTHERS.
ENDCASE. ENDFUNCTION.

结构,自己参考那几个表就晓得了。。。主要说的是这个函数的用法

SAP客户标准信用额度修改和创建的更多相关文章

  1. 「SAP技术」如何看Z移动类型是复制哪个标准移动类型而创建的?

    [SAP技术]SAP MM 如何看一个自定义移动类型是复制哪个标准移动类型而创建的? 比如项目上有一个自定义移动类型Z59,是复制551移动类型而定义的. OMJJ配置界面里,是有一个Ref字段.如下 ...

  2. SAP标准价格修改

    标准MR21修改前期的价格,不会影响到当期. 相关配置 事务码OMRN. 如企业账期已经开到 2015 年 2 月,会计账期还可对 1月记账,配置后可修改1月物料价格.

  3. SAP Brazil J1BTAX 为税收例外创建税收组(翻译)

    很多人对如何维持巴西的税收仍有疑问.前段时间,一家有几个税务问题的公司联系我帮助他们,我发现多年来,由于他们的税务计算系统缺少配置,他们正在进行手动调整. 维持税收的第一条规则是: TAXBRJ = ...

  4. Jerry眼中的SAP客户数据模型

    本文Jerry将介绍八款SAP产品中的客户模型.希望您在阅读完本文之后,能对SAP客户模型设计的思路有一个最最粗浅的了解. 由于Jerry水平和精力所限,本文不会详细阐述这些产品里的客户模型设计细节, ...

  5. 【MM系列】SAP MM模块-如何修改物料的移动平均价

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-如何修改物料的移动 ...

  6. SAP MM 标准采购组织的分配对于寄售采购订单收货的影响

    SAP MM 标准采购组织的分配对于寄售采购订单收货的影响 PO 4100004022 是一个寄售的采购订单, 采购组织是CSAS, 工厂代码SZSP.采购信息记录也是有的, MIGO试图对该采购订单 ...

  7. Docker修改已创建容器端口映射

    修改已创建容器端口映射. 通过编辑 hostconfig.json 文件来修改 Docker 容器的端口映射 该文件地址:/var/lib/docker/containers/[hash_of_the ...

  8. Ramdisk根文件系统映像的修改与创建

    本文简述Ramdisk根文件系统映像的修改以及创建,并附相关脚本以实现自动化配置,而根文件系统的制作过程请网上自行搜索.相关过程尽可能以图的方式展示出来,重在说明操作的过程,仅供参考. Ramdisk ...

  9. 【ABAP系列】SAP ABAP 为表维护生成器创建事务代码

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 为表维护生成器 ...

随机推荐

  1. jquery获取当前时间

    一.获取当前时间 new Date()方法---------得到结果是当前电脑时间如2011-11-6,10:07 二.获取有个固定的时间方法---------var endtime=new Date ...

  2. 线程入门之yield

    package com.thread; /** * <yiedl:把cpu让给其他线程> * <功能详细描述> * * @author 95Yang */ public cla ...

  3. 【CC评网】2013.第42周 话说时间管理

    时间管理 工作几年之后,大家都会有意识的培养时间管理的概念:但如何真正做到位,并持续坚持,并不是一件容易的事: 虽然关注时间管理已有几年,但目前我对于时间的利用并不高效: 理论上的东西就是那些,但真正 ...

  4. 测试框架Mockito使用笔记

    Mockito,测试框架,语法简单,功能强大! 静态.私有.构造等方法测试需要配合PowerMock,PowerMock有Mockito和EasyMock两个版本,语法相同,本文只介绍Mockito. ...

  5. Codeforces Round #279 (Div. 2) E. Restoring Increasing Sequence 二分

    E. Restoring Increasing Sequence time limit per test 1 second memory limit per test 256 megabytes in ...

  6. JS学习笔记(三) 对象

    参考资料: 1. http://www.w3school.com.cn/js/js_objects.asp ☂ 知识点: ☞ Javascript中的所有事物都是对象. ☞ Javascript是基于 ...

  7. 杭电1466------简单的dp

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=1466 #include<iostream> #include<cstdio> # ...

  8. 保存会话数据——cookie学习

    Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的就是用户各自的数据了 ...

  9. c++ 操作符 重载。

    操作符如关系操作符,全局函数的话,必须第一个是class. 1.赋值(=),下标([ ]),调用(())和成员访问箭头(->)等操作符必须定义为成员,如果定义为非成员的话,程序在编译的时候,会发 ...

  10. [转载] 文件系统vs对象存储——选型和趋势

    原文: http://www.testlab.com.cn/Index/article/id/1082.html#rd?sukey=fc78a68049a14bb2699b479d5e730f6f45 ...