配置SAP 采购合同审批
需求:
采购合同类型是MK,采购组织是POSC,采购组PGC,标识:估计价格是空,总价有值0.00 - 9999999999.00 RMB
满足以上条件的时候需要审批该合同。
配置:
spro->物料管理->采购->合同->合同下达的过程:
1.配置特性值:
基本数据页签:
状态:已发布
格式:数据类型
字符数:
值分配:
附加数据页签:
表名:CEKKO 字段名:BSART 合同类型
备注:如果没有字段,需要在结构CEKKO中增强
2.配置类:
基本数据页签:
状态:
相同分类:不要检查
特性:把设置的特性都填写进来
3.定义合同审批过程:
3.1:批准组 第一列填写批准组,第2列采购订单类将被批准的对象的类别
都是2,第三列填写设置的类名称,第四列名称
3.2:批准代码设置
3.3:发布标识:备注:第二列核发勾上说明审核完,可变性是6的话变化会再次触发审批,具体看帮助,第三列%值的更改变化范围
3.4:审批策略:
维护审批分类的条件值可用CL20N事物代码进去维护
审批种类是032
增强:审批有个增强点 smod 进去M06E0004
如果涉及到行项目的要计算一下赋值给增强的CEKKO.
备注:对于采购合同来说,SAP标准的策略是价格往高的改才会再次触发审批,而且新加时间区间的价格条件价格是不会再次触发审批的,但是我们可以做一个增强:
在函数:ME_REL_STRATEGIE_EKKO做一个隐士增强:
FUNCTION me_rel_strategie_ekko.
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Function Module ME_REL_STRATEGIE_EKKO, Start A
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1 ZCONTRACTOR_TRAIL_ENHANCEMENT. "active version
I_CHECK_ALWAYS = 'X'.
ENDENHANCEMENT.
*$*$-End: (1)---------------------------------------------------------------------------------$*$*
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_CEKKO_NEW) LIKE CEKKO STRUCTURE CEKKO
*" VALUE(I_CEKKO_OLD) LIKE CEKKO STRUCTURE CEKKO OPTIONAL
*" VALUE(I_FRGGR) LIKE EKKO-FRGGR OPTIONAL
*" VALUE(I_FRGST) LIKE EKKO-FRGSX OPTIONAL
*" VALUE(I_FRGZU) LIKE EKKO-FRGZU OPTIONAL
*" VALUE(I_FRGKZ) LIKE EKKO-FRGKE OPTIONAL
*" VALUE(I_FRGRL) LIKE EKKO-FRGRL OPTIONAL
*" VALUE(I_OUTPUT) OPTIONAL
*" VALUE(I_WKURS) LIKE EKKO-WKURS OPTIONAL
*" VALUE(I_WKURS_OLD) LIKE EKKO-WKURS OPTIONAL
*" VALUE(I_LPOT) OPTIONAL
*" VALUE(I_CHECK_ALWAYS) TYPE CHAR1 OPTIONAL
*" EXPORTING
*" VALUE(E_FRGGR) LIKE EKKO-FRGGR
*" VALUE(E_FRGST) LIKE EKKO-FRGSX
*" VALUE(E_FRGZU) LIKE EKKO-FRGZU
*" VALUE(E_FRGKZ) LIKE EKKO-FRGKE
*" VALUE(E_FRGRL) LIKE EKKO-FRGRL
*" VALUE(E_RESET)
*" CHANGING
*" REFERENCE(CH_RLWRT) TYPE RLWRT OPTIONAL
*" EXCEPTIONS
*" ERROR_MESSAGE
*"---------------------------------------------------------------------- MOVE i_cekko_new TO cekko.
MOVE i_cekko_old TO *cekko.
MOVE i_wkurs TO bwkurs.
MOVE i_wkurs_old TO bwkurs_old.
MOVE cekko-bedat TO bbedat.
CLEAR s_kzfae.
*- Falls alle Positionen gelöscht sind, ist Eink.Beleg nicht relevant -*
IF i_lpot NE space.
e_frgrl = space.
EXIT.
ENDIF.
*- Prüfen Reset --------------------------------------------------------
CLEAR xchange.
IF NOT *cekko IS INITIAL.
e_frgst = i_frgst.
e_frggr = i_frggr.
e_frgkz = i_frgkz.
e_frgrl = i_frgrl.
e_frgzu = i_frgzu.
IF i_frgzu NE space.
xchange = 'X'.
ENDIF.
ENDIF. *- Prüfen, ob neue Ermittlung beim Ändern ------------------------------
IF xchange NE space.
IF t16fb-frgke NE i_frgkz.
CLEAR t16fb.
SELECT SINGLE * FROM t16fb WHERE frgke EQ i_frgkz.
ENDIF.
IF t16fb-kzfae EQ ''.
EXIT.
ENDIF.
*- altes Änderungskennzeichen sichern falls neues ermittelt wird ------*
s_kzfae = t16fb-kzfae.
ENDIF. *- Klasse ermitteln ----------------------------------------------------
xclass = 'X'.
CLEAR t16fg. "
SELECT * FROM t16fg WHERE frgot EQ ''.
EXIT.
ENDSELECT.
IF sy-subrc NE OR
t16fg-frgkl EQ space.
EXIT.
ENDIF.
*- Hauswährung ermitteln -----------------------------------------------
fwaers = cekko-waers.
IF cekko-bukrs NE t001-bukrs.
SELECT SINGLE * FROM t001 WHERE bukrs EQ cekko-bukrs.
ENDIF.
hwaers = t001-waers. *- Prüfen Änderung ----------------------------------------------------*
IF cekko EQ *cekko AND
bwkurs EQ bwkurs_old AND i_check_always EQ space.
EXIT.
ENDIF. comm = 'CEKKO'.
PERFORM strategie_neu USING e_frggr e_frgst. *- Änderung bei laufender Freigabe prüfen ------------------------------
IF xchange NE space.
*- Strategie geändert --------------------------------------------------
IF e_frgst NE i_frgst OR
e_frggr NE i_frggr.
PERFORM reset
USING e_frgst e_frggr
e_frgzu e_frgkz e_frgrl.
e_reset = 'X'.
*- Wertänderung prüfen -------------------------------------------------
ELSE.
IF t16fb-kzfae EQ '' OR
t16fb-kzfae EQ '' .
PERFORM currency_conversion USING *cekko-waers
bwkurs_old
hwaers
fwaers
bwkurs
CHANGING *cekko-gnetw.
f1 = *cekko-gnetw * t16fb-tlfae / .
f1 = f1 + *cekko-gnetw.
IF cekko-gnetw GT f1.
PERFORM reset
USING e_frgst e_frggr
e_frgzu e_frgkz e_frgrl.
e_reset = 'X'.
ENDIF.
ENDIF.
ENDIF.
ELSE.
PERFORM reset
USING e_frgst e_frggr
e_frgzu e_frgkz e_frgrl.
ENDIF.
*- Prüfen, ob Beleg bereits ausgegeben wurde ---------------------------
IF i_output NE space AND xchange NE space.
*- Neue Freigabestrategie trotz erfolgter Ausgabe erlaubt -------------*
IF NOT ( s_kzfae EQ '' OR
s_kzfae EQ '' OR i_frgst EQ space ).
*---- keine neue Freigabestrategie bei erfolgter Ausgabe --------------*
SELECT SINGLE * FROM t16fb WHERE frgke EQ e_frgkz.
IF t16fb-kzfre EQ space.
e_frgst = i_frgst.
e_frggr = i_frggr.
e_frgkz = i_frgkz.
e_frgrl = i_frgrl.
e_frgzu = i_frgzu.
e_reset = 'Y'.
ENDIF.
ENDIF.
ENDIF. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(2) Function Module ME_REL_STRATEGIE_EKKO, End A
*$*$-Start: (2)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 2 ZCONTRACTOR_TRAIL_ENHANCEMENT. "active version IF xchange NE space.
IF e_frgst NE i_frgst OR
e_frggr NE i_frggr.
EXIT.
ELSE.
PERFORM reset
USING e_frgst e_frggr
e_frgzu e_frgkz e_frgrl.
e_reset = 'X'.
EXIT.
IF t16fb-kzfae EQ '4' OR t16fb-kzfae EQ '6'.
PERFORM currency_conversion USING *cekko-waers
bwkurs_old
hwaers
fwaers
bwkurs
CHANGING *cekko-gnetw.
f1 = *cekko-gnetw * t16fb-tlfae / 1000.
f1 = f1 + *cekko-gnetw.
IF cekko-gnetw <> f1.
PERFORM reset
USING e_frgst e_frggr
e_frgzu e_frgkz e_frgrl.
e_reset = 'X'.
ENDIF.
ENDIF.
ENDIF.
ELSE.
EXIT.
ENDIF. ENDENHANCEMENT.
*$*$-End: (2)---------------------------------------------------------------------------------$*$*
ENDFUNCTION.
配置SAP 采购合同审批的更多相关文章
- 【MM系列】SAP 采购订单的批量修改
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改 前言 ...
- SAP 采购订单收货时报错:对于采购订单xxxx无收货可能
因为这个问题查了挺长时间,所以写在博客里记录下. 报错详细: 每个公司的配置不同,我公司遇到的这个问题原因是这里的确认控制是从信息记录带过来的,问题解决方法是,修改下确认控制的选项: 修改确认控制的后 ...
- 配置SAP GUI FOR HTML(通过WEB方式登录)
配置SAP GUI FOR HTML(通过WEB方式登录) SAP系统可以通过安装 SAP GUI.SAP GUI FOR JAVA.SAP GUI WEB FOR JAVA.SAP GUI FOR ...
- 【MM系列】SAP 采购订单收货后不能修改价格的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...
- SAP采购订单入库后不允许修改单价增强
需求:在根据采购订单做了入库凭证之后,如果用户反审批采购订单去修改单价,系统提示‘已收货,不允许修改单价’. 判断流程:是否有入库凭证 如果采购订单条件按采购信息记录定价,这个价格本来就不能修改,只能 ...
- SAP采购订单历史明细报表源代码(自己收藏)
SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF } ...
- SAP采购订单审批记录增强
采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...
- SAP采购申请审批记录增强
业务需要,开发就搞.... EBAN中增强结构:CI_EBANDB ANAME 类型 UNAME 用户名 ADATE 类型 AEDAT DATS 更改日期 ATIME 类型 UZEIT TIMS 时间 ...
- SAP采购订单屏幕增强
转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增 ...
随机推荐
- NetBeans文件被锁,无法修改
今天用NetBeans写有关Dojo的一个样例时,出现文件被锁,无法修改的情况.找了半天,但是就是不知道是什么原因,我就写在博客上记录下来
- jQuery(二)
table 全选.反选.清除 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- mysql在linux上的一点操作
1,查看打开端口. show variables like 'port'; 2, 指定ip,用户名,密码 1 grant all privileges on *.* to root@"% ...
- 用JLabel显示时间-- JAVA初学者遇到的一个困难
问题:用一个JLabe,显示秒数,每过一秒数字自动减少1 问题看似很简单,但对初学JAVA的我来说,还真费了一点劲. 首先是如何即时,可以采用线程的方法: try { Thread.sleep(100 ...
- hibernate+spring的整合思路加实例(配图解)
首先框架整合我感觉最难的是jar包的引入.因为不同框架的jar容易产生冲突.如果能排除这个因素我想说整合框架还是相对比较容易的. 我整合的框架的一个思想就是:各司其职.因为每个框架处理的事务或者是层次 ...
- android 4.2 root
前一段因工作需要,对android4.2 进行root.但是在下载了 点击打开链接,下载了Superuser.apk,把对应的apk拷贝到system/app,su拷贝到/system/bin 与/s ...
- linux学习: sudo命令(ubuntu)
使用 sudo 命令可以提高命令的执行权限,以root权限执行 如 : sudo vi xxx 但是有些内置命令 如 cd 无法通过 sudo来执行 ,如 sudo cd xxx 这是会报错的. ...
- Nutch 是一个开源Java 实现的搜索引擎
Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. Nutch的创始人是Doug Cutting,他同时也是Lucene.Hado ...
- socket通信技术介绍
[-] 网络中进程之间怎样通信 什么是Socket socket一词的起源 socket的基本操作 socket函数 bind函数 网络字节序与主机字节序 listenconnect函数 accept ...
- 怎样为ubuntu eclipse 添加 GBK字符集
以前没有发现,最近把自己的代码靠到同学电脑上运行报错,发现是字符集的问题,一般来说 eclipse默认的是GBK编码,而ubuntu上默认是没有GBK编码的,所以ubuntu eclipse 上自然就 ...