zoukankan      html  css  js  c++  java
  • 采购信息记录bapi

    记录获取

    * Call Function Module to check the Info Record
      CALL FUNCTION 'BAPI_INFORECORD_GETLIST'       "#EC CI_USAGE_OK[2438131]
        EXPORTING
          VENDOR              C_W_ORGA-LIFNR
          MATERIAL_LONG       C_W_ORGA-MATNR
        TABLES
          INFORECORD_GENERAL  LIT_INFORE_GEN
          INFORECORD_PURCHORG LIT_INFORE_PUR.

    记录创建

      DATA:
        LIT_EINA         TYPE MEWIEINA_T,
        LW_EINA          TYPE MEWIEINA,
        LIT_EINAX        TYPE MEWIEINAX_T,
        LW_EINAX         TYPE MEWIEINAX_TY,
        LIT_EINE         TYPE MEWIEINE_T,
        LW_EINE          TYPE MEWIEINE_TY,
        LIT_EINEX        TYPE MEWIEINEX_T,
        LW_EINEX         TYPE MEWIEINEX_TY,
        LIT_VALIDITY     TYPE MEWIVALIDITY_TT,
        LW_VALIDITY      TYPE MEWIVALIDITY_TY,
        LIT_CONDITION    TYPE MEWICONDITION_TT,
        LW_CONDITION     TYPE MEWICONDITION_TY,
        LV_INDEX         TYPE NUM.

      DATA:LW_A017       TYPE TYP_W_A017.

      CLEAR:C_IT_RETURN.

      LW_EINA-MATERIAL U_W_ORGA-MATNR.
      LW_EINA-VENDOR   U_W_ORGA-LIFNR.
    * CW_EINA-BASE_UOM = 'EA'.
    * CW_EINA-PO_UNIT  = 'EA'.
      LW_EINA-CONV_NUM1 1."转换分子
      LW_EINA-CONV_DEN1 1."转换分母

      LW_EINAX-MATERIAL   'X'.
      LW_EINAX-VENDOR     'X'.
    * CW_EINAX-BASE_UOM   = 'X'.
    * CW_EINAX-PO_UNIT    = 'X'.
      LW_EINAX-CONV_NUM1  'X'.
      LW_EINAX-CONV_DEN1  'X'.

      APPEND LW_EINA TO LIT_EINA.
      CLEAR LW_EINA.

      APPEND LW_EINAX TO LIT_EINAX.
      CLEAR LW_EINAX.

      LOOP AT U_IT_PLANT_DATA ASSIGNING FIELD-SYMBOL(<LW_PLANT_DATA>)
      WHERE KUNNR U_W_ORGA-KUNNR.

        LV_INDEX LV_INDEX + 1.

      LW_EINE-EINE_INDX     LV_INDEX.

    *  PIR 类型值:0  标准 2  寄售 3  分包合同 P  管道1 可记帐
      LW_EINE-PURCH_ORG     U_W_ORGA-VKORG1.
    *  LW_EINE-PLANT         = U_W_ORGA-WERKS1.
      LW_EINE-PLANT         <LW_PLANT_DATA>-WERKS.
      LW_EINE-INFO_TYPE     '0'.
      LW_EINE-CONV_NUM1     1"转换分子
      LW_EINE-CONV_DEN1     1  ."转换分母
      LW_EINE-PLND_DELRY    U_W_ORGA-ZSPLT.
      READ TABLE U_IT_FIXED_VAL INTO DATA(LW_FIXED_VAL)
        WITH KEY KEY1 CNS_EKGRP
                 KEY2 CNS_PIR.                             "#EC CI_STDSEQ
      LW_EINE-PUR_GROUP     LW_FIXED_VAL-VALUE1.

      LW_EINE-NRM_PO_QTY  U_W_ORGA-MINBM.
    * MOD CTF-1732 ACN_SHIJ 2020/09/06 END


      LW_EINE-MIN_PO_QTY    U_W_ORGA-MINBM.

      APPEND LW_EINE TO LIT_EINE.
      CLEAR LW_EINE.

      LW_EINEX-EINE_INDX     LV_INDEX.

      LW_EINEX-PURCH_ORG    'X'.
      LW_EINEX-PLANT        'X'.
      LW_EINEX-INFO_TYPE    'X'.
      LW_EINEX-CONV_NUM1    'X'.
      LW_EINEX-CONV_DEN1    'X'.
      LW_EINEX-PLND_DELRY   'X'.
      LW_EINEX-PUR_GROUP    'X'.
      LW_EINEX-NRM_PO_QTY   'X'.
      LW_EINEX-MIN_PO_QTY   'X'.

      APPEND LW_EINEX TO LIT_EINEX.
      CLEAR LW_EINEX.

      LW_VALIDITY-EINE_INDX   =  LV_INDEX.
      LW_VALIDITY-PLANT       =  <LW_PLANT_DATA>-WERKS.
      IF U_W_ORGA-ZCPUVT IS INITIAL.
        LW_VALIDITY-VALID_TO  =  CNS_ZCPUVT.
      ELSE.
        LW_VALIDITY-VALID_TO  =  U_W_ORGA-ZCPUVT.
      ENDIF.

      LW_VALIDITY-VALID_FROM  =  U_W_ORGA-ZCPUVF.

      READ TABLE U_IT_A017 INTO LW_A017 WITH KEY
        LIFNR  U_W_ORGA-LIFNR
        MATNR  U_W_ORGA-MATNR
    *    EKORG  = U_W_PUR_ORG-EKORG
        EKORG  U_W_ORGA-VKORG1
        WERKS  <LW_PLANT_DATA>-WERKS
        DATBI  LW_VALIDITY-VALID_TO.

        IF LW_A017-KNUMH IS NOT INITIAL.
          LW_VALIDITY-SERIAL_ID   =  LW_A017-KNUMH.
        ELSE.
          LW_VALIDITY-SERIAL_ID   =  'A' && <LW_PLANT_DATA>-WERKS && '00001'.
        ENDIF.

      APPEND LW_VALIDITY TO LIT_VALIDITY.
      CLEAR LW_VALIDITY.

      LW_CONDITION-EINE_INDX    LV_INDEX.
      LW_CONDITION-COND_TYPE    'ZP00'.
      IF LW_A017-KNUMH IS NOT INITIAL.
        LW_CONDITION-SERIAL_ID   =  LW_A017-KNUMH.
        LW_CONDITION-CHANGE_ID   'U' .
      ELSE.
        LW_CONDITION-SERIAL_ID   =  'A' && <LW_PLANT_DATA>-WERKS && '00001'.
        LW_CONDITION-CHANGE_ID   'I' .
      ENDIF.
      LW_CONDITION-COND_VALUE   U_W_ORGA-ZCPUPR.
      LW_CONDITION-CURRENCY     U_W_ORGA-ZCPUC.

      APPEND LW_CONDITION TO LIT_CONDITION.
      CLEAR LW_CONDITION.


      IF U_W_ORGA-ZNPPR IS NOT INITIAL
      AND U_W_ORGA-ZNPUC IS NOT INITIAL
      AND U_W_ORGA-ZNPVF IS NOT INITIAL
      AND U_W_ORGA-ZNPVT IS NOT INITIAL ).

        LW_VALIDITY-EINE_INDX   =  LV_INDEX.
        LW_VALIDITY-PLANT       =  <LW_PLANT_DATA>-WERKS.
        LW_VALIDITY-VALID_TO    =  U_W_ORGA-ZNPVT.
        LW_VALIDITY-VALID_FROM  =  U_W_ORGA-ZNPVF.

        READ TABLE U_IT_A017 INTO LW_A017 WITH KEY
          LIFNR  U_W_ORGA-LIFNR
          MATNR  U_W_ORGA-MATNR
          EKORG  U_W_ORGA-VKORG1
          WERKS  <LW_PLANT_DATA>-WERKS
          DATBI  LW_VALIDITY-VALID_TO.

          IF LW_A017-KNUMH IS NOT INITIAL.
            LW_VALIDITY-SERIAL_ID   =  LW_A017-KNUMH.
          ELSE.
            LW_VALIDITY-SERIAL_ID   =  'A' && <LW_PLANT_DATA>-WERKS && '00002'.
          ENDIF.

        APPEND LW_VALIDITY TO LIT_VALIDITY.
        CLEAR LW_VALIDITY.

        LW_CONDITION-EINE_INDX    LV_INDEX.
        LW_CONDITION-COND_TYPE    'ZP00'.
        IF LW_A017-KNUMH IS NOT INITIAL.
          LW_CONDITION-SERIAL_ID   =  LW_A017-KNUMH.
          LW_CONDITION-CHANGE_ID   'U' .
        ELSE.
          LW_CONDITION-SERIAL_ID   =  'A' && <LW_PLANT_DATA>-WERKS && '00002'.
          LW_CONDITION-CHANGE_ID   'I' .
        ENDIF.
        LW_CONDITION-COND_VALUE   U_W_ORGA-ZNPPR.
        LW_CONDITION-CURRENCY     U_W_ORGA-ZNPUC.

        APPEND LW_CONDITION TO LIT_CONDITION.
        CLEAR LW_CONDITION.

      ENDIF.

      ENDLOOP.

      CALL FUNCTION 'ME_INFORECORD_MAINTAIN_MULTI'
       TABLES
         T_EINA                 LIT_EINA
         T_EINAX                LIT_EINAX
         T_EINE                 LIT_EINE
         T_EINEX                LIT_EINEX
         COND_VALIDITY          LIT_VALIDITY
         CONDITION              LIT_CONDITION
         RETURN                 C_IT_RETURN.

      CALL FUNCTION 'BAPI_INFORECORD_GETLIST'       "#EC CI_USAGE_OK[2438131]
        EXPORTING
          VENDOR              C_W_ORGA-LIFNR
    *     MATERIAL            = LV_MATNR18
    *> DEL CR1747 2021/05/24 ----------------------------------------------*
    *      PURCH_ORG           = LW_PUR_ORG-EKORG
    *      PLANT               = C_W_ORGA-WERKS1
    *< DEL CR1747 2021/05/24 ----------------------------------------------*
          MATERIAL_LONG       C_W_ORGA-MATNR
        TABLES
          INFORECORD_GENERAL  LIT_INFORE_GEN
          INFORECORD_PURCHORG LIT_INFORE_PUR.

  • 相关阅读:
    关于unbox.any castclass ldobj
    SQL 语句 之 增删改查 (一)
    .NET(C#):使用SmtpClient发送带有图片和附件的电子邮件
    Ext.Net 1.2.0_演示 Ext.Net+QRCode 封装条形码控件
    局域网共享打印机(不需要密码)
    Windows 2003单用户单会话登录远程桌面
    不过如此
    CellMerge
    Windows Server 2008服务器支持iso文件下载的方法
    SQL2008 Express 无法打开备份设备 '‘xxxxx'。出现操作系统错误 5(拒绝访问。)。BACKUP DATABASE 正在异常终止。
  • 原文地址:https://www.cnblogs.com/lingxiaoj/p/14814321.html
Copyright © 2011-2022 走看看