需求:

采购合同类型是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 采购合同审批的更多相关文章

  1. 【MM系列】SAP 采购订单的批量修改

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改   前言 ...

  2. SAP 采购订单收货时报错:对于采购订单xxxx无收货可能

    因为这个问题查了挺长时间,所以写在博客里记录下. 报错详细: 每个公司的配置不同,我公司遇到的这个问题原因是这里的确认控制是从信息记录带过来的,问题解决方法是,修改下确认控制的选项: 修改确认控制的后 ...

  3. 配置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 ...

  4. 【MM系列】SAP 采购订单收货后不能修改价格的增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...

  5. SAP采购订单入库后不允许修改单价增强

    需求:在根据采购订单做了入库凭证之后,如果用户反审批采购订单去修改单价,系统提示‘已收货,不允许修改单价’. 判断流程:是否有入库凭证 如果采购订单条件按采购信息记录定价,这个价格本来就不能修改,只能 ...

  6. SAP采购订单历史明细报表源代码(自己收藏)

    SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF } ...

  7. SAP采购订单审批记录增强

    采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...

  8. SAP采购申请审批记录增强

    业务需要,开发就搞.... EBAN中增强结构:CI_EBANDB ANAME 类型 UNAME 用户名 ADATE 类型 AEDAT DATS 更改日期 ATIME 类型 UZEIT TIMS 时间 ...

  9. SAP采购订单屏幕增强

    转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增 ...

随机推荐

  1. ios 面试题 经典(比较全) 根据重点总结

    史上最全的iOS面试题及答案 1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encodin ...

  2. Yii2 composer win7安装新建项目流程

    一.首先下载 Composer-Setup.exe ,安装. 问题1:openSSL 问题,在php.ini  内去掉":"注释 问题2:browscap 问题 ,在php.ini ...

  3. vagrant 入门2

    创建第一个Vagrant虚拟环境以及工程: (1)创建工程目录, 并且执行vagrant init命令,该命令会产生最初的 Vagrantfile $ mkdir vagrant_guide $ cd ...

  4. C# List 转Datatable

    最近在做Excel导出,看到了这个方法,虽不是自己写的,但值得收藏,但是忘记从那摘抄的,没写原文作者看到望见谅! #region 导出Excel /// <summary> /// lis ...

  5. Qt编程中,Ui文件如何被利用

    这两天跟着班级辅导,总有学生感到很疑惑,用ui designer设计出来的ui文件是如何使用的,下面我从一个例子来说明下,希望能对有这样疑惑的同学有帮助. 事实上,现在有了继承设计工具qtcreato ...

  6. Android studio dabao

    首先肯定是配置gradle,百度一下就知道了,我的是mac下配置的,sudo vim ~/.bash_profile ,然后设置环境变量 GRADE_HOME=/Users/Admin/gradle; ...

  7. 费用流&网络流模版

    费用流模版: #include<cstdio> #include<cstring> #include<queue> using namespace std; ;// ...

  8. eclipse导出附带源码的jar包

    最近在搞Andengine游戏开发,发现andengine的jar包可以直接点击查看源码,而其他项目的jar包却看不了,因此自己研究了下如何生成可以直接查看源码的jar包. 1.eclipse中点击项 ...

  9. IOS-图片操作集合

    编辑图片的几个方法 第一种 先用UIImage对象加载一张图片 然后转化成CGImageRef放到CGContext中去编辑 第二种  用CGImageCreate函数创建CGImageRef 然后把 ...

  10. AWS要进入中国了

    去年底就开始有这个传言见诸于某些媒体,说网站支持中文了要进中国了,也有说这不代表什么是谣言 这几天又听到有消息说比较靠谱就半年内的事儿 其实如果没有政策阻碍的话进中国是迟早的事情,原因如下 Amazo ...