*&---------------------------------------------------------------------*
*& Report Z_ARBA_PZB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------* REPORT z_arba_pzb.
TABLES:mara,ekpo,zbmm0005_po.
DATA:gt_mara LIKE TABLE OF mara WITH HEADER LINE.
*DATA:gt_mara_show LIKE TABLE OF mara WITH HEADER LINE.
DATA:gt_/arba/tvarv LIKE TABLE OF /arba/tvarv WITH HEADER LINE.
DATA:gt_/arba/tvarv_del LIKE TABLE OF /arba/tvarv WITH HEADER LINE.
DATA:gt_/arba/tvarv_res LIKE TABLE OF /arba/tvarv WITH HEADER LINE.
DATA: lc_cursor TYPE CURSOR. selection-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE TEXT-004.
selection-SCREEN: BEGIN OF LINE,
COMMENT 3(60) TEXT-005,
END OF LINE,
BEGIN OF LINE,
COMMENT 3(60) TEXT-007,
END OF LINE.
selection-SCREEN END OF BLOCK bl2. SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS s_matnr FOR zbmm0005_po-matnr NO INTERVALS . "物料
SELECTION-SCREEN END OF BLOCK 001. */ARBA/EXTERNAL_SID P I EQ CSOTExternalSystemP
*/ARBA/MATERIAL_MASTER_EXPORT MATNR S 1 I EQ 51CZ8560000001
*/ARBA/MATERIAL_MASTER_EXPORT MATNR S 2 I EQ 51CZ8560000002
*/ARBA/TEMP_DIRECTORY P I EQ /ARBA/MASTERDATA
*DC_WAITTIME P I EQ 1
*FLUSH_MM_DOC_CHANGES P I EQ *&---------------------------------------------------------------------*
DATA:lv_numb TYPE /arba/tvarv-numb. OPEN CURSOR WITH HOLD lc_cursor FOR SELECT * FROM mara WHERE matnr IN s_matnr
* and ERSDA BETWEEN '20201221' and '20201228'
ORDER BY PRIMARY KEY .
DO.
FETCH NEXT CURSOR lc_cursor INTO TABLE gt_mara PACKAGE SIZE 2000.
IF sy-subrc <> 0.
EXIT.
ENDIF.
*->删除配置表上次发送过的数据
FREE:gt_/arba/tvarv.
SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_/arba/tvarv
FROM /arba/tvarv. LOOP AT gt_/arba/tvarv.
IF gt_/arba/tvarv-name = '/ARBA/MATERIAL_MASTER_EXPORT'..
MOVE-CORRESPONDING gt_/arba/tvarv TO gt_/arba/tvarv_del.
APPEND gt_/arba/tvarv_del.CLEAR gt_/arba/tvarv_del."删除上次用过的物料相关数据 ELSE.
MOVE-CORRESPONDING gt_/arba/tvarv TO gt_/arba/tvarv_res.
APPEND gt_/arba/tvarv_res.CLEAR gt_/arba/tvarv_res."其他数据
ENDIF.
ENDLOOP. DELETE /arba/tvarv FROM TABLE gt_/arba/tvarv_del."删除上次用过的物料相关数据
EXEC SQL.
COMMIT
ENDEXEC. CLEAR:lv_numb.
LOOP AT gt_mara.
lv_numb = lv_numb + 1.
gt_/arba/tvarv_res-name = '/ARBA/MATERIAL_MASTER_EXPORT'..
gt_/arba/tvarv_res-fieldname = 'MATNR'.
gt_/arba/tvarv_res-TYPE = 'S'.
gt_/arba/tvarv_res-numb = lv_numb.
gt_/arba/tvarv_res-SIGN = 'I'.
gt_/arba/tvarv_res-opti = 'EQ'.
gt_/arba/tvarv_res-low = gt_mara-matnr.
APPEND gt_/arba/tvarv_res.CLEAR gt_/arba/tvarv_res."结果表 result
ENDLOOP.
MODIFY /arba/tvarv FROM TABLE gt_/arba/tvarv_res." 控制哪些物料需要进标准程序
EXEC SQL.
COMMIT
ENDEXEC.
*&---------------------------------------------------------------------*
*->调用job进行发送
PERFORM frm_create_job.
* SUBMIT z_arba_master_send
*
* AND RETURN
* WITH p_cus3 = 'X'
* WITH p_dc = 'X'
* WITH p_flo = 'X'
* WITH p_werks = 'X'
* WITH p_matmas = 'X'.
EXEC SQL.
COMMIT
ENDEXEC. ENDDO." FREE:gt_/arba/tvarv_res.
SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_/arba/tvarv
FROM /arba/tvarv WHERE name = '/ARBA/MATERIAL_MASTER_EXPORT' AND fieldname = 'MATNR' AND TYPE = 'S'. . DELETE /arba/tvarv FROM TABLE gt_/arba/tvarv.
COMMIT WORK AND WAIT. *&---------------------------------------------------------------------*
FORM frm_create_job.
DATA: l_jobnumber TYPE btcjobcnt.
DATA: l_jobname TYPE btcjob VALUE 'ZSEND'.
"--- 不转换后台会出现参数错误 ---
* CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT'
* EXPORTING
* INPUT = pv_date
* IMPORTING
* OUTPUT = rv_user_date. CALL FUNCTION 'ENQUE_SLEEP'
EXPORTING
seconds = 1. " "检查权限
AUTHORITY-CHECK OBJECT 'S_BTCH_ADM' FOR USER sy-uname ID 'BTCADMIN' FIELD 'Y'. IF sy-subrc NE 0.
MESSAGE '没有权限' TYPE 'E'. .
ELSE.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
IMPORTING
jobcount = l_jobnumber
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4. IF sy-subrc = 0. SUBMIT z_arba_master_send USER sy-uname
VIA JOB l_jobname NUMBER l_jobnumber
AND RETURN
WITH p_cus3 = 'X'
WITH p_dc = 'X'
WITH p_flo = 'X'
WITH p_werks = 'X' * WITH rd_a2 = ' '
* WITH s_ma_cb = ' '
*不传的参数不能填,否则后台会秒执行成功日期要转换为用户内部格式
WITH p_matmas = 'X'.
IF sy-subrc = 0. DATA:lv_status TYPE tbtco-status. CALL FUNCTION 'ENQUE_SLEEP'
EXPORTING
seconds = 55. "
* DO .
* CLEAR:lv_status.
* CALL FUNCTION 'ENQUE_SLEEP'
* EXPORTING
* seconds = 20. "
* SELECT SINGLE status INTO lv_status FROM tbtco WHERE jobname = 'ZSEND' AND jobcount = l_jobnumber.
* IF sy-subrc = 0.
* IF lv_status = 'F'.
* EXIT.
* ENDIF.
* ENDIF.
* ENDDO. CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_jobnumber
jobname = l_jobname
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
OTHERS = 8.
ENDIF. ENDIF. ENDIF. ENDFORM. "FRM_CREATE_JOB
*&---------------------------------------------------------------------*
*LOOP AT gt_mara.
* lv_numb = lv_numb + 1.
* gt_/arba/tvarv_res-name = '/ARBA/MATERIAL_MASTER_EXPORT'..
* gt_/arba/tvarv_res-fieldname = 'MATNR'.
* gt_/arba/tvarv_res-type = 'S'.
* gt_/arba/tvarv_res-numb = lv_numb.
* gt_/arba/tvarv_res-sign = 'I'.
* gt_/arba/tvarv_res-opti = 'EQ'.
* gt_/arba/tvarv_res-low = gt_mara-matnr.
*
* APPEND gt_/arba/tvarv_res.CLEAR gt_/arba/tvarv_res.
*ENDLOOP.

ariba 数据补发的更多相关文章

  1. 《连载 | 物联网框架ServerSuperIO教程》- 10.持续传输大块数据流的两种方式(如:文件)

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  2. [开源地址] 放弃Flink,.NET5.0开发CSharpFlink,简要设计、部署及二次开发说明。

    github地址:https://github.com/wxzz/CSharpFlinkgitee地址:https://gitee.com/wxzz/CSharpFlink 1 概述及背景 我们有一个 ...

  3. 都在讲Redis主从复制原理,我来讲实践总结

    摘要:本文将演示主从复制如何配置.实现以及实现原理,Redis主从复制三大策略,全量复制.部分复制和立即复制. 本文分享自华为云社区<Redis主从复制实践总结>,原文作者:A梦多啦A . ...

  4. 《连载 | 物联网框架ServerSuperIO教程》- 9. 协议过滤器,解决一包多发、粘包、冗余数据

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  5. 关于IOCP,某些地方就是不让人彻底舒服(WSASend重叠post数据)

    开门见山,直接就事论事. 假如有这么一个基于IOCP模型的Server,这个Server提供的所有服务中有这么一种服务……文件下载,我们再假设Server端存有一个20G的文件,客户端这时发送一个请求 ...

  6. Redis深入学习笔记(四)主从数据复制流程

    主从节点的数据复制是Redis高可用和高负载的重要基础,本篇介绍数据的主从复制流程. 数据复制策略: 全量复制:一般用于初次复制场景,Redis早期支持的复制功能只有全量复制,它会把主节点全部数据一次 ...

  7. GDOI2016酱油记(补发)

    这篇酱油记是前年发在MCHacker一个叫code-hub的博客上的(已崩),现在来补发一下... GDOI2016扯淡(爆零记) 大家好,我是巨弱DCDCBigBig,在五一期间和一群神牛去考GDO ...

  8. 2019 中至数据java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.中至数据等公司offer,岗位是Java后端开发,因为发展原因最终选择去了中至数据,入职一年时间了,也成为了面 ...

  9. 2019 云和数据java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.云和数据等公司offer,岗位是Java后端开发,因为发展原因最终选择去了云和数据,入职一年时间了,也成为了面 ...

  10. 2019 华云数据java面试笔试题 (含面试题解析)

    本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.华云数据等公司offer,岗位是Java后端开发,最终选择去了华云数据. 面试了很多家公司,感觉大部分公司考察的点 ...

随机推荐

  1. transformers 之Trainer对应的数据加载

    基础信息说明 本文以Seq2SeqTrainer作为实例,来讨论其模型训练时的数据加载方式 预训练模型:opus-mt-en-zh 数据集:本地数据集 任务:en-zh 机器翻译 数据加载 Train ...

  2. huawei--配置链路聚合

    huawei--配置链路聚合 项目要求: LSW1和LSW2之间配置链路聚合,链路聚合分为手工和lacp两种模式.配置完后查看链路聚合状态. 项目实施: (vlan10 20 30的创建命令vlan ...

  3. elementui树状结构添加右键点击事件

    <el-tree :highlight-current="highlight" :data="folderList" :props="defau ...

  4. locust自定义负载策略。

    1.时间峰值策略 每运行一分钟启动100个用户,总运行时间为10分钟 class CustomShape(LoadTestShape): # 设置时限 time_limit = 600 # 设置产生率 ...

  5. js检测数组是否有重复的数据,

    function(arr){ let hash={} for (const key in arr){ if(hash[arr[key]]){ return true } hash[arr[key]]= ...

  6. Pytorch实战学习(二):用Pytorch实现逻辑回归

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili 用Pytorch实现逻辑回归 Logistic Regression 从线性回归 →​ 逻辑回归 1.分类问题 计算属于 ...

  7. flutter CustomScrollView多个滑动组件嵌套

    CustomScrollView是使用Sliver组件创建自定义滚动效果的滚动组件.使用场景: ListView和GridView相互嵌套场景,ListView嵌套GridView时,需要给GridV ...

  8. js match方法

    1.用法 match()方法可以字符串中检索指定的值,或者是匹配一个或多个正则表达式 2.返回值 该方法类似于indexOf()/lastIndexOf(),区别就是返回值不一样 indexOf()/ ...

  9. websphere+IHS+plugin集群搭建

    配置:wa1+was2 was1:Dmgr app01 oracle  ihs was2:Dmgr app02 原理:通过Dmgr管理下面两个agent,再通过agent去间接控制运行在节点上的ser ...

  10. vue2源码学习2vuex&vue-router

    1.vue插件编写 插件可以实现对象vue的拓展,比如新增全局属性/方法,添加实例方法,使用mixin混入其他配置项等等.编写插件必须要实现 install 方法,当调用Vue.use()使用插件时, ...