BAPI 关闭和删除PR
当PR在SAP里面已不再使用时,可使用批量使用以下两个BAPI进行处理:
BAPI_REQUISITION_DELETE,进行删除处理, (速度快)
BAPI_PR_CHANGE,进行关闭,但不删除(速度较慢),需要加COMMIT
需要注意的是:如果PR信息不完整或有错误,BAPI无法对PR进行处理
Public Function DELPR()
Dim BAPI As Object, Exps As Object, MSGList As Object, PRList As Object
Dim rng, I As Integer, J As Integer
CHK01:
If SAPOn = False And I < 1 Then
LogOnSAP
I = I + 1
GoTo CHK01
ElseIf SAPOn = True Then
Set BAPI = SAP.Add("BAPI_REQUISITION_DELETE")
Set Exps = BAPI.Exports("NUMBER")
Set MSGList = BAPI.TABLES("RETURN")
Set PRList = BAPI.TABLES("REQUISITION_ITEMS_TO_DELETE")
‘PR列表,第10列X作删除标示,第二行PR号,第三行PR行号
Set rng = Sheet1.Range("A1:N5000")
For I = 2 To 192
If rng(I, 10) = "X" Then
Exps.Value = rng(I, 1)
PRList.AppendRow
PRList(1, 1) = rng(I, 2)
PRList(1, 2) = "X"
BAPI.call
'检查输出信息
'MsgBox MSGList(1, 3)
End If
Next
End If
End Function
’-------------------------------------------------------
‘BAPI_PR_CHANGE对PR进行关闭:
Public Function CHCPR()
Dim BAPI As Object, Exps As Object, MSGList As Object, PRList As Object
Dim ITM As Object, ITMX As Object, CMMT As Object
Dim rng, I As Integer, J As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
CHK01:
If SAPOn = False And I < 1 Then
LogOnSAP
I = I + 1
GoTo CHK01
ElseIf SAPOn = True Then
Set BAPI = SAP.Add("BAPI_PR_CHANGE")
Set CMMT = SAP.Add("BAPI_TRANSACTION_COMMIT")
Set Exps = BAPI.Exports("NUMBER")
Set ITM = BAPI.TABLES("PRITEM")
Set ITMX = BAPI.TABLES("PRITEMX")
Set MSGList = BAPI.TABLES("RETURN")
Set rng = Sheet1.Range("A1:N5000")
For I = 2 To 170
'PR列表,第10列X作删除标示,第二行PR号,第三行PR行号
If rng(I, 10) = "X" Then
Exps.Value = rng(I, 1)
ITM.Rows.RemoveAll
ITMX.Rows.RemoveAll
ITM.AppendRow
ITM(1, "PREQ_ITEM") = rng(I, 2) 'PUR_GROUP
'ITM(1, "PUR_GROUP") = "308"
'ITM(1, "PREQ_PRICE") = "0.01"
'ITM(1, "ITEM_CAT") = ""
ITM(1, "CLOSED") = "X" 'CLOSED ITEM_CAT/FIXED/PREQ_PRICE
ITMX.AppendRow
ITMX(1, "PREQ_ITEM") = rng(I, 2)
'ITMX(1, "PREQ_ITEMX") = "X"
'ITMX(1, "PUR_GROUP") = "X"
'ITMX(1, "PREQ_PRICE") = "X"
'ITMX(1, "ITEM_CAT") = "X"
ITMX(1, "CLOSED") = "X" 'CLOSED DELETE_IND
BAPI.Call
CMMT.Call
'检查输出信息
'MsgBox MSGList(1, 4)
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End If
End Function
BAPI 关闭和删除PR的更多相关文章
- EntityFramework SQLiteCodeFirst 自动创建数据库 关闭级联删除
外键的级联删除: 如A表中有主键idA, B表中设置外键(ForeignKey)为A表中的主键idA, 当A表中的记录被删除时, B表中所有引用此条记录的记录(即所有外键为idA的记录)将自动被删除 ...
- Win10小娜关闭或删除进程
先来说下我为什么想尽方法关闭win10小娜:我觉得功能并不适用于我,即便不启用Cortana小娜,在Win10进程中也会看到Cortana小娜启动着,耗费了内存.CPU,而且主要的我的磁盘利用率等都居 ...
- 使用SC命令操作(安装、开启、配置、关闭、删除)Windows下的服务
目录 一.直接使用cmd命令行操作windows服务 二.使用bat批处理-操作windows服务 一.直接使用cmd命令行操作windows服务 1.安装服务 sc create 服务名 binPa ...
- 怎么彻底关闭卸载删除Cortana小娜进程,最简单
原文地址:https://jingyan.baidu.com/article/90bc8fc8be67bcf653640cfa.html Win10中的Cortana是微软开发的一款个人AI助理,集聊 ...
- 如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库
昨天,有个朋友对公司内部使用的一个MySQL实例开启binlog,但是在启动的过程中失败了(他也没提,为何会失败),在启动失败后,他删除了ibdata1和ib_logfile,后来,能正常启动了,但所 ...
- EF里一对一、一对多、多对多关系的配置和级联删除
本章节开始了解EF的各种关系.如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解. I.实体间一对一的关系 添加一个PersonPhoto类,表示用户照片类 /// < ...
- sql server 删除所有 视图、存储过程
删除视图: use 数据库名 declare mycur cursor local for select [name] from dbo.sysobjects where xtype='V' --声 ...
- (转)Could not create the view: An unexpected exception was thrown. 电脑突然断电,myeclipse非正常关闭,出现错误
问题:电脑突然断电,myeclipse非正常关闭,“Package Explorer”非正常显示,出现错误“Could not create the view: An unexpected excep ...
- Response、Request、QueryString,repeater添加,修改,删除数据
内置对象: Response对象:响应请求,Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response.Write("<script>a ...
随机推荐
- Counting Kangaroos is Fun 求最少可见袋鼠数
Description There are n kangaroos with pockets. Each kangaroo has a size (integer number). A kangaro ...
- 大数据学习——hive安装部署
1上传压缩包 2 解压 tar -zxvf apache-hive-1.2.1-bin.tar.gz -C apps 3 重命名 mv apache-hive-1.2.1-bin hive 4 设置环 ...
- C. The Smallest String Concatenation-C++sort排序~~
C. The Smallest String Concatenation time limit per test 3 seconds memory limit per test 256 megabyt ...
- [BZOJ3052][UOJ#58][WC2013]糖果公园
[BZOJ3052][UOJ#58][WC2013]糖果公园 试题描述 Candyland 有一座糖果公园,公园里不仅有美丽的风景.好玩的游乐项目,还有许多免费糖果的发放点,这引来了许多贪吃的小朋友来 ...
- To_Date函数用法
spl> select * from emp where dates between to_date('2007-06-12 10:00:0 ...
- cp: omitting directory解决方案
cp: omitting directory是因为目录下面还有目录.应该使用递归方法.需要加入-r参数. 及:cp -r 该目录名.
- 在RedHat 5下安装Oracle 10g详解(转)
在RedHat 5下安装Oracle 10g详解(转) Posted on 2012-09-14 13:26 疯狂 阅读(5075) 评论(0) 编辑 收藏 所属分类: database .uni ...
- 同步OR异步?WebFlux开发真的比Servlet开发要快?顺便再科普下CompletableFuture
在看下文之前,先给大家科普一点基础知识 Runable:线程任务类接口,没有返回值 Callable:与上面的不同就是有返回值 Executor:定义了线程池执行任务的接口,不过只定义了Runable ...
- NOI导刊2010提高(06) 黑匣子
题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命令只有两种: ...
- CERC 2014 (动态树+主席树)
CERC 2014 Pork barrel Problem : n个点m条边有边权的无向图,有q个询问,每次询问权值在[L,R]内的边组成的最小生成树的权值和,强制在线. n <= 1000, ...