博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
采购申请审批策略增强
阅读量:4708 次
发布时间:2019-06-10

本文共 1472 字,大约阅读时间需要 4 分钟。

一般而言审批策略特征类创建时,特征项都是从CEBAN 和 CEKKO两个结构里取值。
但是有时候,审批策略控制过程中,需要其他非以上两结构中字段,
比如PS那边创建的采购申请需要些项目的,或者是采购申请做了增强,有些增强字段。
这个时候,可以用ceban-usrc1 ceban-usrc2这两个值存储部分字段值,
但是字段过多,
则可以使用自定义配置表,
配置表中客户维护需要校验哪些字段,并根据这些字段判断出增强策略;
然后把审批策略值赋给ceban-usrc1
配置特征类的特征项时,只维护一个usrc1特征项,
如下图:
[cl03:特征类,只维护一个特征]
[ct04:特征维护时,附加数据使用ceban-usrc1]
自定义审批策略配置表:
维护好后,在增强中,通过如工程,类型,科目等最终确定审批策略(如"U2M1"),然后赋给ceban-usrc1。
系统则可根据usrc1值确定对应审批策略。
具体如下:
首先看些配置相关的:spro
 
双击某行
点击分类
如果usrc1赋值后,跟“批准策略的用户字段的格式字段”值一致,
采购申请凭证类型也一致,【可以把凭证类型的校对放入自建表,此处只留usrc1】
则会采用审批策略:B115 (审批组B1,审批策略:15)

smcd查看增强 M06B0002

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

主要是根据其他控制条件,确定审批策略,赋值给e_ceban-usrc1  
值得注意的是
如果usrc1这个字段在程序里没取到值,
建议给他赋个永远不能取到的值:比如ZZZZ
这样避免usrc1这个字段为空,而配置中恰有该字段为空的审批策略,
这样就会误取
为了做的更严谨【前提是
usrc1赋值时,赋为系统配置的审批策略
】,
获取到usrc1这个字段(即审批策略)后,去配置表校验
配置表:T16FT
(配置视图 :V_16FS)
如果发现获取的值在系统没有,则赋值为ZZZZ。
这样更好些
一般的值都可以在ceban这个结构里取
如果做了增强,

这里做了增强,

那么EBAN表也需要做增强

这俩字段都做增强了,

意味着如果调用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[].

 

具体实例:

 

 

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

各种情况应该考虑清楚

可能有些值是传不进来的

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

转载于:https://www.cnblogs.com/senlinmu110/p/3802111.html

你可能感兴趣的文章
java的运算符
查看>>
27. Remove Element
查看>>
Java 调用cmd.exe命令
查看>>
K8s(7)-安装Web UI
查看>>
SIMD数据并行(一)——向量体系结构
查看>>
springmvc参数传递一:形参传参(常用)
查看>>
15模块-Maps【管理地图控件】
查看>>
[转]crontab命令指南
查看>>
vue 二级列表折叠面板
查看>>
ClientValidationEnabled
查看>>
Linux 硬盘分区、分区、删除分区、格式化、挂载、卸载
查看>>
Jam - an open-source build system
查看>>
编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。...
查看>>
Mysql命令大全
查看>>
nginx.conf 基础配置
查看>>
[Leetcode] 1120. Maximum Average Subtree
查看>>
Android webview与js交互
查看>>
JAVA构造函数在超类和子类调用注意事项
查看>>
openssl
查看>>
序列化
查看>>