ZMD_MRP_PARAMETERS
3000
公司下工厂跑MRP时,如果为外购则通过外挂表取infor record计划交期。

METHOD if_ex_md_mrp_parameters~adjust_material_master_params.
TYPES:BEGIN OF ieord,
matnr TYPE c LENGTH ,
werks TYPE c LENGTH ,
zeord TYPE n LENGTH ,
vdatu TYPE d,
bdatu TYPE d,
lifnr TYPE c LENGTH ,
reswk TYPE c LENGTH ,
ekorg TYPE c LENGTH ,
* IGMNG type p length decimals ,
END OF ieord.
DATA: it_eord TYPE STANDARD TABLE OF ieord,
il_eord TYPE ieord. DATA:output TYPE char40,
l_addrstr TYPE ni_nodeaddr.
*&add by rainy on .
*&通过ip break.
* CALL FUNCTION 'TH_USER_INFO'
* IMPORTING
* terminal = output
* addrstr = l_addrstr.
* IF l_addrstr = '192.168.0.200' .
* BREAK-POINT.
* ENDIF.
break test_13.
*&->end add by rainy on . IF sy-cprog = 'RMMRP000' OR sy-tcode = 'MD01' OR sy-tcode = 'MD02' OR sy-tcode = 'MD03'.
CLEAR: it_eord, it_eord[], il_eord.
* break: pp10.
* if IM_MT61D-matnr = '22-05-500277-1'.
SELECT matnr werks zeord vdatu bdatu lifnr reswk ekorg
INTO CORRESPONDING FIELDS OF TABLE it_eord
FROM eord
WHERE werks = im_mt61d-werks
AND matnr = im_mt61d-matnr. *&->add by rainy on --- DEVK905062
*& 定义
TYPES:gt_eine TYPE STANDARD TABLE OF eine.
DATA: wa_eine TYPE eine.
DATA: wa_zextsource TYPE zextsource. *&->end add by rainy on
LOOP AT it_eord INTO il_eord. IF il_eord-reswk = ''. "and sy-datum >= il_eord-VDATU and sy-datum <= il_eord-BDATU.
* select single WEBAZ into CH_MT61D_EXT-WEBAZ "袁生确认只在3000工厂维护内外购统一的收货处理时间
* from marc
* where werks = ''
* and matnr = IM_MT61D-matnr.
* if sy-subrc <> .
* CH_MT61D_EXT-WEBAZ = .
* endif. *&A1.外挂表zextsource取货源(物料+工厂->采购组+供应商)
SELECT SINGLE *
INTO wa_zextsource
FROM zextsource
WHERE matnr EQ im_mt61d-matnr
AND werks EQ im_mt61d-werks.
*&
IF sy-subrc EQ .
*&A2.通过物料+工厂(‘’)+zextsource货源找info record 的计划交货时间
SELECT SINGLE aplfz INTO ch_mt61d_ext-plifz"* INTO CORRESPONDING FIELDS OF wa_eine
FROM eine
JOIN eina
ON eine~infnr EQ eina~infnr
WHERE eina~matnr EQ im_mt61d-matnr
AND eina~lifnr EQ wa_zextsource-lifnr
AND eina~loekz NE 'X' AND eine~werks EQ ''
AND eine~ekorg EQ wa_zextsource-ekorg.
IF sy-subrc <> .
ch_mt61d_ext-plifz = .
ENDIF.
ch_changed = 'X'. ELSE.
* MESSAGE '外挂表没有维护' im_mt61d-matnr im_mt61d-werks '货源信息'
*&A3.当外挂表没有数据,按照原来逻辑。
SELECT SINGLE aplfz
INTO ch_mt61d_ext-plifz
FROM eine
INNER JOIN eina
ON eine~infnr = eina~infnr
INNER JOIN eord
ON eord~werks = eine~werks
AND eord~matnr = eina~matnr
AND eord~lifnr = eina~lifnr
AND eord~ekorg = eine~ekorg
WHERE eord~matnr = im_mt61d-matnr
AND eord~werks = ''
AND eina~loekz <> 'X'.
IF sy-subrc <> .
ch_mt61d_ext-plifz = .
ENDIF.
ch_changed = 'X'. ENDIF. *&->start notes by rainy on .
*&->前期逻辑注释
* SELECT SINGLE aplfz INTO ch_mt61d_ext-plifz
* FROM eine INNER JOIN eina
* ON eine~infnr = eina~infnr
* INNER JOIN eord
* ON eord~werks = eine~werks
* AND eord~matnr = eina~matnr
* AND eord~lifnr = eina~lifnr
* AND eord~ekorg = eine~ekorg
* WHERE eord~matnr = im_mt61d-matnr
* AND eord~werks = ''
* AND eina~loekz <> 'X'.
* IF sy-subrc <> .
* ch_mt61d_ext-plifz = .
* ENDIF.
* ch_changed = 'X'.
*&->end notes by riany on . ENDIF.
CLEAR il_eord.
ENDLOOP. ENDIF.
ENDMETHOD.

001infor record 计划时间取值增强-20150622的更多相关文章

  1. 1.6 SQL (根据时间取值)

    select * from 表名 where createdate > date_add(subdate(curdate(),date_format(curdate(),'%w')-1),int ...

  2. python 嵌套字典取值增强版

    def getdictvalue(d,code): result=[] if isinstance(d, dict) : try: value = d[code] result.append(valu ...

  3. SQLserver各种时间取值格式

    叫大哥 SQLServer提取日期中的年月日及其他格式 SQLServer提取日期中的年月日及其他格式   提取年:datepart(yy,getdate())提取月:datepart(mm,getd ...

  4. ETHINK组件取值手册

    Ethink组件取值手册 一.取值 Sql查询配置中取值方式:所有可以对外过滤的组件都可以用id.output取值 就是取组件setOutput()里输出的值 ,具体分为以下两种: 1)$p{OBJ_ ...

  5. JavaScript笔记——this的取值

    有关ECMAScript定义如何获取this请移步ECMAScript中关于如何获取this的定义 绝大多数情况下,函数的调用方式决定了this的取值 全局上下文 console.log(this = ...

  6. Jmeter函数 唯一取值 笔记

    java sample时: result.setIdleTime(毫秒):设置waste time ,jmeter在统计响应时间时会自动减去此函数设置的时间 result.setSuccessful( ...

  7. Oracle存储过程-自定义数据类型,集合,遍历取值

    摘要 Oracle存储过程,自定义数据类型,集合,遍历取值 目录[-] 0.前言 1.Packages 2.Packages bodies 3.输出结果 0.前言 在Oracle的存储过程中,可能会遇 ...

  8. Data层相关问题 & JS循环取值

    第一次写博客,里面是自己工作中碰到的问题及总结的知识点,便于自己以后回顾,技术大牛们请直接忽略这篇文章,也希望能帮助到想我这样的小白! Data层相关问题总结: 1. 代码管理用的是 VSS 2005 ...

  9. php 数组定义、取值和遍历

    <?php //常用函数 //生成随机数 //echo rand(1,10); //两个参数来确定随机数的范围 //日期时间函数 //var_dump(time()); //取当前时间的UNIX ...

随机推荐

  1. js - 类模拟

    JavaScript 中并没有真正的类,但JavaScript 中有 构造函数 和 new 运算符. - 任何JavaScript 函数都可以用做构造函数, - 构造函数必须使用 new 运算符来创建 ...

  2. 文件打开的过程——调用fd=open()时操作系统所做的工作

    fd=fopen()是一个系统调用.用于依据文件名称打开一个文件.返回该文件的文件描写叙述符,文件打开后进程便能够依据文件描写叙述符fd进行其它操作,比方读,写,关闭等操作. 各个操作系统打开文件的过 ...

  3. Mysql数据库分库备份,分表备份

    分库备份 #!/bin/sh DBPATH=/server/backup MYUSER=root MYPASS=oldboy123 SOCKET=/data/3306/mysql.sock MYCMD ...

  4. 27. Remove Element【easy】

    27. Remove Element[easy] Given an array and a value, remove all instances of that value in place and ...

  5. 内核并发管理---spin lock

    自旋锁最初是为了在smp系统上使用而设计. 1.在单处理器非抢占模式下,自旋锁不做任何事情. #ifdef CONFIG_PREEMPT_COUNT     //支持抢占模式 #define pree ...

  6. jquery的post()

    jQuery ajax - post() 方法 jQuery Ajax 参考手册 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); TIY ...

  7. c++ 请抛弃匈牙利命名法 - 变量命名代码风格的建议。

    我只针对c++码农们讲,其他语言不了解不过应该大同小异.曾几何时翻开21天学通c++系列等脑残入门书,都以匈牙利命名法示人(DWORD dwXXX, int nXXX, string strXXX). ...

  8. 获取jsapi_ticket

    String accessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&a ...

  9. 简简单单删除所有.svn目录

    当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在,开发完当交付产品或者上传到服务器时一般要把这些目录删除,其实在linux删除这些目录是很简单的,命令如下 find . -type d ...

  10. js 把字符串当做方法执行

    <SCRIPT LANGUAGE="JavaScript"> function test(str){ alert(str); } eval('test("aa ...