001infor record 计划时间取值增强-20150622

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 18,
         werks TYPE c LENGTH 4,
         zeord TYPE n LENGTH 5,
         vdatu TYPE d,
         bdatu TYPE d,
         lifnr TYPE c LENGTH 10,
         reswk TYPE c LENGTH 4,
         ekorg TYPE c LENGTH 4,
*       IGMNG type p length 13 decimals 3,
        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 20150604.
*&通过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 20150604.

  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 20150603--- DEVK905062
*& 定义
    TYPES:gt_eine TYPE STANDARD TABLE OF eine.
    DATA: wa_eine TYPE eine.
    DATA: wa_zextsource TYPE zextsource.

*&->end add by rainy on 20150603
    LOOP AT it_eord INTO il_eord.

      IF il_eord-reswk = ‘1000‘. "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 = ‘1000‘
*    and matnr = IM_MT61D-matnr.
* if sy-subrc <> 0.
*    CH_MT61D_EXT-WEBAZ = 0.
* 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 0.
*&A2.通过物料+工厂(‘1000’)+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 ‘1000‘
             AND eine~ekorg EQ wa_zextsource-ekorg.
          IF sy-subrc <> 0.
            ch_mt61d_ext-plifz = 0.
          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 = ‘1000‘
                    AND eina~loekz <> ‘X‘.
          IF sy-subrc <> 0.
            ch_mt61d_ext-plifz = 0.
          ENDIF.
          ch_changed = ‘X‘.

        ENDIF.

*&->start notes by rainy on 20150603.
*&->前期逻辑注释
*   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 = ‘1000‘
*     AND eina~loekz <> ‘X‘.
*      IF sy-subrc <> 0.
*        ch_mt61d_ext-plifz = 0.
*      ENDIF.
*      ch_changed = ‘X‘.
*&->end notes by riany on 20150603.

      ENDIF.
      CLEAR il_eord.
    ENDLOOP.

  ENDIF.
ENDMETHOD.
时间: 2024-10-07 08:59:02

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

javacscript 3 获取时间、数字取值、定时器

[jq与js的关系]:jq是对js常用的方法进行封装.简化和优化. [小技巧]ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键 ------------------------------------------------------------------------------------------------------ 1.获取时间: 方法 描述 getFullYear() 返回四位数的年份 getMonth() 返回月份(从0开始,1月=0,2月=1,...) getD

2015.7.20 第九课 课程重点(js语句:获取时间、数字取值、定时器)

[jq与js的关系]:jq是对js常用的方法进行封装.简化和优化. [小技巧]ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键 ------------------------------------------------------------------------------------------------------ 1.获取时间: 方法 描述 getFullYear() 返回四位数的年份 getMonth() 返回月份(从0开始,1月=0,2月=1,...) getD

第九课 课程重点(js语句:获取时间、数字取值、定时器)

[jq与js的关系]:jq是对js常用的方法进行封装.简化和优化. [小技巧]ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键 ------------------------------------------------------------------------------------------------------ 1.获取时间: 方法 描述 getFullYear() 返回四位数的年份 getMonth() 返回月份(从0开始,1月=0,2月=1,...) getD

style不同取值对应的日期、时间格式

from : http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599690.html sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10), 时间一, 23) 结果:2007-0

js获取当前时间及取值操作

取值 this.divEndDate.attr("value",new Date()); var date = new Date(); date.getYear():     取2位数年份 date.getFullYear():  取4位数年份 date.getMonth(); 取月 date.getDate():  取日 date.getTime():  取当前时间(毫秒值) date.getHours():  取当前小时 date.getMinutes():  取当前分钟 date

HashMap随机取值和迭代器取值的对比

一共四中方法,前两种是迭代器取值,后两种是随机取值,循环了5000万次,时间分别为:迭代器读取的速度大约是随机读取的速度的1.5倍,数据量越大,差距越明显. 另外,插入是读取的100倍左右的时间(这个判定只是个大概参考). p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Monaco } 48138(插入) 403(迭代器读取) 400(迭代器读取) 653(随机读取) 561(随机读取) package main; import jav

android:inputType常用取值

<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="phone" />    //文本类型,多为大写.小写和数字符号.     android:inputType="none"//输入普通字符    android:inputType="text"

【转】MySQL外键约束On Delete、On Update各取值的含义

转载地址:http://hi.baidu.com/jxqlovejava/item/3d2cc5b5d689917c244b0920 ? 先看On Delete属性,可能取值如上图为:No Action, Cascade,Set Null, Restrict属性. 当取值为No Action或者Restrict时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除. 当取值为Cascade时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录

为什么数值类型byte取值范围是(-128~127)?

在解决这个问题之前,我们先了解几个概念? 一.原码, 反码, 补码的概念 正数的反码和补码都与原码一样: 负数的反码.补码与原码不同,负数的反码:原码中除去符号位,其他的数值位取反,0变1,1变0.负数的补码:其反码+1. 做个小Demo,分别写出7和-7的原码.反码.补码.(其中第一位是符号位,0表示正数,1表示负数) Demo 7 -7 原码 00000111 10000111 反码 00000111 11111000 补码 00000111 11111001 一. 机器数和真值 在学习原码