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

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. error: command 'gcc' failed with exit status 1 的解决办法

    yum install gcc python-devel 之前yum install gcc* 了 所以没成功. wget http://prdownloads.sourceforge.net/doc ...

  2. oracle小测试

    1.请解释以下几个函数意思:NVL.TRUNC.DECODE.TO_DTAE.TO_CHAR.CONVERT.ROUND.TRIM.ISNULL.SUBSTR.GROUP BY.HAVING 答: N ...

  3. 4.mybatis属性和表的列名不相同时的处理方法

    /** * 属性和表的列名不相同时的处理方法 * 1.sql中给列重新命名: * select tid id, tname name from teacher t where tid=#{id} * ...

  4. 《Redis设计与实现》读书笔记

    <Redis设计与实现>读书笔记 很喜欢这本书的创作过程,以开源的方式,托管到Git上进行创作: 作者通读了Redis源码,并分享了详细的带注释的源码,让学习Redis的朋友轻松不少: 阅 ...

  5. NYOJ214

    单调递增子序列(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长 ...

  6. bootstrap-datepicker 日期格式设置

    [参考文档]http://bootstrap-datepicker.readthedocs.org/en/latest/ datepicker插件默认是时间格式为mm/dd/yyyy,如何更改时间的格 ...

  7. 使用Maven构件Web应用

    一个典型的WAR文件会有如下目录结构: Maven的WEB项目结构: jetty-maven-plugin默认很好地支持了Maven的项目结构.在通常情况下,我们只需要直接在IDE中修改源码,IDE能 ...

  8. C#中“==”和equals()的区别

    如以下代码: 1 2 3 4 5 6 7 8 9 int age = 25;   short newAge = 25;   Console.WriteLine(age == newAge);  //t ...

  9. MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

    本节开始为大家讲解偏向应用的知识--创建对话框.  对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是对话框,知识它做了很多美工方面的工作,将其大大美 ...

  10. 本地获取System权限CMD方法汇总(转)

    本地获取System权限CMD方法汇总(转) 稍微整理了下,大概有三种方法可以本地获取system权限的cmd,但前提都是当前用户具备administrator权限. 下面列举的三种方法各有千秋,看你 ...