*&---------------------------------------------------------------------*
*& 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. Codeforces 1492D、Genius's Gambit

    原题网址 https://codeforces.com/contest/1492/problem/D 题目大意 给定a,b,k,求x,y使得x和y的二进制表示都恰有a个0和b个1,且不能使用开头的0. ...

  2. 代码随想录训练营day 2 |977有序数组的平方 209.长度最小的子数组 (C++)

    977.有序数组的平方 题目链接:977.有序数组的平方 题目描述:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 例子如下: 输入 ...

  3. v-if和v-show最重要一点

    vif是新建与销毁标签 show是显示与隐藏标签 如果涉及到权限操作的话 必须使用vif 因为vshow中把标签改成display:none的话可以手动改成显示

  4. 复习第6点-6.SpringMVC作用域传值

    作用域范围 对象名称 作用范围 application 整个作用范围 session 在当前会话中有效 request 在当前请求中有效 page 在当前页面有效 request/session/ap ...

  5. Qt ui_xxx.h no file or directory

    今天是2023年1.19,22号就过年了,先祝大家新年快乐! 首先经过这几天的研究,出现这个问题,提示其实已经很明显了,就是没找到文件,那么为什么没找到文件呢?基本上就是编译的时候没有找到相应的文件, ...

  6. Docker 对于容器的增删查命令

    列出所有容器 ID 1 docker ps -aq 停止所有容器 1 docker stop $(docker ps -aq) 停止单个容器 1 docker stop 要停止的容器名 删除所有容器 ...

  7. HCIA-基础实验FIN-综合网络部署考核

    HCIA-基础实验FIN-综合网络部署考核 虽然我选择通过自学hcia并跳过hcia培训直接学习hcip, 但是这个基础实验课程的考核总归还是处理掉比较好, 趁现在能挤出时间(笑). 1 实验需求 1 ...

  8. 【杂项】瞎玩——suhr RIOT单块制作流程

    难得的周末,在家上课似乎丝毫没有轻松多少,然而专业课任务的ddl远在天边,上午赶赶进度似乎稍微闲下来了点,正好前几天找电路的时候看到一个非常nice的效果器制作网站,国内少有深入研究效果器电路的文章, ...

  9. kali修改root用户和密码,以及更新源,超详细教学。

    大家好! 又是你们那个傻傻的河东, 今天来讲修改root用户和更新源. 打开上期的kali虚拟机 开启虚拟机 使出吃奶的劲按"e"键:) 进入下面的界面 然后往下找到 Linux ...

  10. React使用高阶组件与Hooks实现权限拦截教程

    导读 高阶组件就是接受一个组件作为参数并返回一个新组件(功能增强的组件)的函数.这里需要注意高阶组件是一个函数,并不是组件,这一点一定要注意,本文给大家分享React高阶组件使用小结,一起看看吧 高阶 ...