KO02内部订单修改
结合两个SAP标准的函数完成仅是修改内部订单基本主数据
1、KAUF_ORDER_READ
2、KAUF_ORDER_STORE
如果还要需要修改AUFK表中的订单状态 和 结算规则系统状态需要再加一个内部订单状态的标准函数
3、STATUS_CHANGE_INTERN
1-3 组可以修改整个内部订单的数据
DATA i_actvt TYPE tact-actvt.
DATA i_aufnr TYPE aufk-aufnr.
DATA e_afko TYPE afko.
DATA e_afpo TYPE afpo.
DATA e_coas_old TYPE coas.
DATA lv_desp LIKE zpv_s_lgcont-desp.
DATA ls_coas TYPE coas."订单信息
DATA ls_kauf TYPE kauf.
DATA lt_set_stat TYPE STANDARD TABLE OF jstat.
DATA:ls_set_stat TYPE jstat.
DATA:lt_jest TYPE TABLE OF jest.
DATA:ls_jest TYPE jest.
"读取内部订单信息信息
CALL FUNCTION 'KAUF_ORDER_READ'
EXPORTING
i_actvt = '03'
i_aufnr = p_aufnr
IMPORTING
e_coas = ls_coas
e_kauf = ls_kauf
* e_coas_old = e_coas_old
EXCEPTIONS
auart_not_found = 1
foreign_lock = 2
no_authority = 3
order_not_found = 4
order_type_not_valid = 5
wrong_input = 6
logsystem_inconsistent = 7
OTHERS = 8.
IF sy-subrc <> 0.
* Implement suitable error handling here
PERFORM frm_build_msg USING sy-msgid sy-msgno
sy-msgv1 sy-msgv2
sy-msgv3 sy-msgv4
CHANGING lv_desp.
pt_ret-type = c_e.
pt_ret-message = '内部订单状态修改失败' && lv_desp.
APPEND pt_ret. CLEAR pt_ret.
RETURN.
ENDIF.
ls_coas-phas3 = abap_true.
ls_coas-phas1 = abap_false.
ls_coas-phas2 = abap_false.
ls_coas-phas0 = abap_false.
CALL FUNCTION 'KAUF_ORDER_STORE'
EXPORTING
i_check = 'N'
i_coas = ls_coas
* I_DIALOG = ' '
i_kauf = ls_kauf
i_save_flag = 'X'
EXCEPTIONS
illegal_change = 1
order_not_in_buffer = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
PERFORM frm_build_msg USING sy-msgid sy-msgno
sy-msgv1 sy-msgv2
sy-msgv3 sy-msgv4
CHANGING lv_desp.
pt_ret-type = c_e.
pt_ret-message = '内部订单状态修改失败' && lv_desp.
APPEND pt_ret. CLEAR pt_ret.
RETURN.
ELSE.
CONSTANTS:
l_con_stk_crtd TYPE jest-stat VALUE 'I0001',"建立 PHAS1 状态 "订单建立"
l_con_stk_rel TYPE jest-stat VALUE 'I0002',"已释放 PHAS2 状态 "订单完成"
l_con_stk_setc TYPE jest-stat VALUE 'I0028',"结算规则维护 这个状态 保持激活状态
l_con_stk_teco TYPE jest-stat VALUE 'I0045',"技术实现 PHAS2 状态 "订单完成"
l_con_stk_clsd TYPE jest-stat VALUE 'I0046'."算结算 PHAS3 状态 "订单关闭"
REFRESH lt_set_stat.
SELECT * FROM jest
INTO TABLE lt_jest
WHERE stat IN ('I0001','I0002','I0045','I0046')
AND objnr EQ ls_coas-objnr.
LOOP AT lt_jest INTO ls_jest.
IF ls_jest-stat EQ l_con_stk_clsd.
CLEAR:ls_jest-inact.
ELSE.
ls_jest-inact = abap_true.
ENDIF.
MOVE-CORRESPONDING ls_jest TO ls_set_stat.
APPEND ls_set_stat TO lt_set_stat.
CLEAR:ls_set_stat.
ENDLOOP.
CALL FUNCTION 'STATUS_CHANGE_INTERN'
EXPORTING
objnr = ls_coas-objnr
TABLES
status = lt_set_stat
EXCEPTIONS
object_not_found = 1
status_inconsistent = 2
status_not_allowed = 3
OTHERS = 4.
IF sy-subrc <> 0.
PERFORM frm_build_msg USING sy-msgid sy-msgno
sy-msgv1 sy-msgv2
sy-msgv3 sy-msgv4
CHANGING lv_desp.
pt_ret-type = c_e.
pt_ret-message = '内部订单状态修改失败' && lv_desp.
APPEND pt_ret. CLEAR pt_ret.
RETURN.
ELSE.
COMMIT WORK AND WAIT.
PERFORM frm_build_msg USING sy-msgid sy-msgno
sy-msgv1 sy-msgv2
sy-msgv3 sy-msgv4
CHANGING lv_desp.
pt_ret-type = c_s.
pt_ret-message = '内部订单状态修改成功' && lv_desp.
APPEND pt_ret. CLEAR pt_ret.
ENDIF.
ENDIF.
KO02内部订单修改相关推荐
- 【学习笔记】CO内部订单
内部订单 一.用途 主要用途是归集跨部门之间的费用,将其分摊到相应的成本中心或直接费用化. 比如在生产环节,我们可以用内部订单归集新产品研发费用(跨部门合作的情况). 简单理解为"专项费用& ...
- Internal Order内部订单
Internal Order内部订单 (2016-11-15 21:48:08) 标签: ko22 可用性检查 ko88 ko02 kka1 分类: CO控制[原创] 获取更多sap资料(教程,项目资 ...
- FICO配置详解之五:内部订单管理
概述 内部订单:可用于跟踪成本控制范围内的成本和收入(在某些情况下).可使用内部订单来计划.监控和分配成本. 可根据用途将内部订单拆分为四个类别: • 间接费用成本订单:用于监控由于某些情况(如举行商 ...
- SAP固定资产计提折旧费到内部订单
该需求,第一反应就是,在AS03固定资产卡片的时间相关标签内增加"内部订单"字段,填写完订单后,进行AFAB进行折旧计提, But,经测试,计提分录并未进入内部订单内容,百度.谷歌 ...
- 【转载】SAP内部订单概念信息
内部订单 内部订单是用来对企业内部某项工作或者任务编制计划.归集成本.结算的载体.比如市场推广活动.内部团队活动.研发项目.投资项目.在建工程项目等. 内部订单需要区别于销售订单.采购订单和生产订单. ...
- SAP中内部订单和PS的区别
1.内部订单用于计划.收集.监视和结算在公司内部进行的特定操作或任务.内部订单可用于不同的目的.这种功能分类反映在不同的订单类型中,其属性定义了在系统中处理订单的方式.SAP系统内内部定单分为两类:实 ...
- SAP内部订单使用实例
下面举几个实例说明如何使用内部订单 1. 实际费用归集 和成本中心通常用来归集部门发生的费用不同,(实际)内部订单通常用来归集某个专项的费用,这个专项可以是公司的一次春游,一次年会甚至某个建设项目,通 ...
- SAP内部订单的作用
SAP内部订单的作用:通过内部订单来计划.监控以及分析实际任务,用来归集费用,成本的预算控制,成本分析等,可根据需要将内部订单分组
- 成本中心和内部订单浅析
内部订单:内部订单用于计划.收集.监视和结算在公司内部进行的特定操作或任务. 内部订单可用于不同的目的.这种功能分类反映在不同的订单类型中,其属性定义了在系统中处理订单的方式.SAP系统内内部定单分为 ...
最新文章
- php 中文转拼音,可以只转首字母,可以设置utf8、gbk
- 等值连接_sql高阶教程:非等值自连接
- 【实施工程师】ARP——地址解析协议(高清版本)
- Linux文件IO-例会笔记总结
- sql语法,未完待续
- [剑指offer]面试题第[42]题[Leedcode][JAVA][第53题][最大子序和][动态规划][贪心][分治]
- mysql编码转换工具_mysql编码转换搞定
- 我给女朋友讲编程html系列(1) -- Html快速入门
- drupal的php运行版本,Drupal 运行的系统要求
- 【人工智能数学基础(五)】信息论
- 时速云:基于K8S的容器PaaS,将成为未来IT基础设施的重要组成部分
- Excel常用技巧(一)
- 设备驱动安装不上怎么办?
- 信息系统项目管理重点:客户关系管理(CRM)
- 图像的转化(包括灰度,HSV,HSI)
- 最强损失函数分析:一般自适应鲁棒损失函数
- 【软考-软件设计师】(五).计算机网络
- bootstrap的tooltip
- 第4版-信息系统项目管理师十大知识域及ITTO
- 人人通服务器返回为空,沁教云人人通-操作手册教师版-V1.doc