0
点赞
收藏
分享

微信扫一扫

采购申请审批策略增强_SAP刘梦

一般而言审批策略特征类创建时,特征项都是从CEBAN 和 CEKKO两个结构里取值。

但是有时候,审批策略控制过程中,需要其他非以上两结构中字段, 比如PS那边创建的采购申请需要些项目的,或者是采购申请做了增强,有些增强字段。 这个时候,可以用ceban-usrc1 ceban-usrc2这两个值存储部分字段值, 但是字段过多, 则可以使用自定义配置表, 配置表中客户维护需要校验哪些字段,并根据这些字段判断出增强策略; 然后把审批策略值赋给ceban-usrc1 配置特征类的特征项时,只维护一个usrc1特征项, 如下图: [cl03:特征类,只维护一个特征] ​采购申请审批策略增强_SAP刘梦_java



[ct04:特征维护时,附加数据使用ceban-usrc1] ​采购申请审批策略增强_SAP刘梦_编程语言_02



自定义审批策略配置表: ​采购申请审批策略增强_SAP刘梦_编程语言_03




维护好后,在增强中,通过如工程,类型,科目等最终确定审批策略(如"U2M1"),然后赋给ceban-usrc1。 系统则可根据usrc1值确定对应审批策略。


具体如下:

首先看些配置相关的:spro

  ​采购申请审批策略增强_SAP刘梦_编程语言_04



采购申请审批策略增强_SAP刘梦_编程语言_05



采购申请审批策略增强_SAP刘梦_编程语言_06



采购申请审批策略增强_SAP刘梦_spring_07


双击某行


采购申请审批策略增强_SAP刘梦_java_08


点击分类



如果usrc1赋值后,跟“批准策略的用户字段的格式字段”值一致, 采购申请凭证类型也一致,【可以把凭证类型的校对放入自建表,此处只留usrc1】 则会采用审批策略:B115 (审批组B1,审批策略:15)

采购申请审批策略增强_SAP刘梦_python_09




smcd查看增强 M06B0002

【如若知道exit_函数名想得到enhancement ,从MODSAP表查】


采购申请审批策略增强_SAP刘梦_python_10



采购申请审批策略增强_SAP刘梦_spring_11



采购申请审批策略增强_SAP刘梦_php_12




主要是根据其他控制条件,确定审批策略,赋值给e_ceban-usrc1  

值得注意的是 如果usrc1这个字段在程序里没取到值, 建议给他赋个永远不能取到的值:比如ZZZZ

这样避免usrc1这个字段为空,而配置中恰有该字段为空的审批策略, 这样就会误取

为了做的更严谨【前提是 usrc1赋值时,赋为系统配置的审批策略 】, 获取到usrc1这个字段(即审批策略)后,去配置表校验 配置表:T16FT (配置视图 :V_16FS) 如果发现获取的值在系统没有,则赋值为ZZZZ。 这样更好些


一般的值都可以在ceban这个结构里取

如果做了增强,

采购申请审批策略增强_SAP刘梦_python_13



这里做了增强,

那么EBAN表也需要做增强


采购申请审批策略增强_SAP刘梦_编程语言_14



这俩字段都做增强了,

意味着如果调用bapi做采购申请创建修改等

也需要在附加字段里把这个增强字段加上

 

lw_itm-csid = '991'.

  lw_itm-preq_item = '00010'.

extensionin-structure = 'BAPI_TE_REQUISITION_ITEM'.

  extensionin-valuepart1 = lw_itm.

 

  APPEND extensionin.

 

CALL FUNCTION 'BAPI_REQUISITION_CREATE'

    IMPORTING

      number                         = pr_no

    TABLES

      requisition_items              = pr_item

      requisition_account_assignment = pr_account

      requisition_item_text          = pr_item_id

      return                         = pr_return

      extensionin                    = extensionin[].

 

具体实例:

​​http://blog.sina.com.cn/s/blog_c0978c9b0101i15v.html​​

 

 

另外,创建采购申请的途径很多,比如MM的,PS操作等,还有自开发程序

各种情况应该考虑清楚

可能有些值是传不进来的

所以只能直接取屏幕值或者靠ABAP内存或者sap内存



举报

相关推荐

0 条评论