ABAP-创建货源清单
CALL FUNCTION 'ME_DIRECT_INPUT_SOURCE_LIST'
*&---------------------------------------------------------------------*
*& Report YTST_USE_019_003
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------* REPORT YTST_FF_006. TABLES:MARA,
EORD. DATA:GT_EORDU TYPE STANDARD TABLE OF EORDU,
WA_EORDU TYPE EORDU,
GT_XEORD TYPE STANDARD TABLE OF EORDU.
DATA:GT_EORD TYPE STANDARD TABLE OF EORD,
WA_EORD TYPE EORD. SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-. SELECT-OPTIONS:S_MATNR FOR MARA-MATNR MODIF ID WH NO INTERVALS NO-EXTENSION,
S_WERKS FOR EORD-WERKS MODIF ID WH NO INTERVALS NO-EXTENSION,
S_LIFNR FOR EORD-LIFNR MODIF ID WH NO INTERVALS NO-EXTENSION.
PARAMETER:P_VDATU LIKE EORD-VDATU.
*PARAMETER:P_LIFNR LIKE EORD-LIFNR. SELECTION-SCREEN BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-.
PARAMETER:RB_CJ RADIOBUTTON GROUP G2 DEFAULT 'X',
RB_XG RADIOBUTTON GROUP G2.
SELECTION-SCREEN END OF BLOCK B4. SELECTION-SCREEN END OF BLOCK B3. DATA:L_ERR TYPE STRING,
L_TEXT TYPE STRING. IF RB_CJ EQ 'X'.
*&创建货源清单
WA_EORDU-MATNR = S_MATNR-LOW.
WA_EORDU-WERKS = S_WERKS-LOW.
WA_EORDU-LIFNR = S_LIFNR-LOW.
WA_EORDU-EKORG = 'P001'.
WA_EORDU-VDATU = P_VDATU.
WA_EORDU-BDATU = ''.
WA_EORDU-FLIFN = 'X'.
WA_EORDU-KZ = 'I'.
SELECT SINGLE MEINS
INTO WA_EORDU-MEINS
FROM EINA
WHERE MATNR EQ S_MATNR-LOW
AND LIFNR EQ S_LIFNR-LOW.
APPEND WA_EORDU TO GT_EORDU. * CALL FUNCTION 'ME_DIRECT_INPUT_SOURCE_LIST'
* EXPORTING
* I_MATNR =
* I_WERKS =
** I_MT06E =
** I_NO_MATERIAL_READ =
** ACTIVITY = 'V'
** I_VORGA =
** I_LOGSY =
* TABLES
* T_EORD =
** EXCEPTIONS
** PLANT_MISSING =
** MATERIAL_MISSING =
** OTHERS =
* .
* IF SY-SUBRC <> .
** Implement suitable error handling here
* ENDIF.
*
*CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD'
* EXPORTING
** ACTIVITY = 'V'
* I_EINA =
** I_EINE =
** O_EINA =
** O_EINE =
** I_NO_SUPPOSE =
** I_VORGA =
** I_SKIP_NR_CHECK =
** IMPORTING
** E_EINA =
** E_EINE =
** TABLES
** T_HEAD =
** T_LINE =
** EXCEPTIONS
** TEXTNAME_INVALID =
** OTHERS =
* .
*IF SY-SUBRC <> .
** Implement suitable error handling here
*ENDIF. CALL FUNCTION 'ME_DIRECT_INPUT_SOURCE_LIST'
EXPORTING
I_MATNR = S_MATNR-LOW
I_WERKS = S_WERKS-LOW
TABLES
T_EORD = GT_EORDU
EXCEPTIONS
PLANT_MISSING =
MATERIAL_MISSING =
ERROR_MESSAGE =
OTHERS = . IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4
INTO L_TEXT.
L_ERR = 'FAIL'.
* CONTINUE.
ELSE.
CALL FUNCTION 'ME_POST_SOURCE_LIST_NEW'
EXPORTING
I_MATNR = S_MATNR-LOW.
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
L_ERR = 'FAIL'.
* CONTINUE.
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
L_ERR = 'FAIL'.
* CONTINUE.
ENDIF. IF L_ERR NE 'FAIL'.
L_ERR = '创建货源清单成功'.
ENDIF. ENDIF.
ELSE.
*&修改货源清单
SELECT *
INTO TABLE GT_EORD
FROM EORD
WHERE MATNR EQ S_MATNR-LOW
AND WERKS EQ S_WERKS-LOW. * WA_EORDU-MATNR = S_MATNR-LOW.
* WA_EORDU-WERKS = S_WERKS-LOW.
* WA_EORDU-LIFNR = S_LIFNR-LOW.
* WA_EORDU-EKORG = 'P001'.
* WA_EORDU-VDATU = P_VDATU.
* WA_EORDU-BDATU = ''.
* WA_EORDU-FLIFN = 'X'.
* WA_EORDU-KZ = 'I'.
* SELECT SINGLE MEINS
* INTO WA_EORDU-MEINS
* FROM EINA
* WHERE MATNR EQ S_MATNR-LOW
* AND LIFNR EQ S_LIFNR-LOW.
* APPEND WA_EORDU TO GT_EORD. MOVE-CORRESPONDING GT_EORD TO GT_XEORD.
LOOP AT GT_XEORD INTO WA_EORDU.
WA_EORDU-LIFNR = S_LIFNR-LOW.
WA_EORDU-VDATU = P_VDATU.
WA_EORDU-KZ = 'I'.
MODIFY GT_XEORD FROM WA_EORDU TRANSPORTING LIFNR VDATU.
ENDLOOP. * CALL FUNCTION 'ME_UPDATE_SOURCES_OF_SUPPLY'
** EXPORTING
** DOCUMENT_NUMBER = ' '
** I_CHANGEDOCUMENT =
* TABLES
* XEORD =
* YEORD =
*
CALL FUNCTION 'ME_UPDATE_SOURCES_OF_SUPPLY'
TABLES
XEORD = GT_XEORD
YEORD = GT_EORD.
IF SY-SUBRC = .
COMMIT WORK AND WAIT.
L_ERR = 'SUCCESS'.
ELSE.
ROLLBACK WORK.
L_ERR = 'FAIL'.
ENDIF.
ENDIF. WRITE:L_ERR,
L_TEXT.
ABAP-创建货源清单的更多相关文章
- SAP ME01创建货源清单
1业务说明 此文档使用函数:ME_DIRECT_INPUT_SOURCE_LIST创建货源清单 2前台实现 事务代码:ME01 输入抬头信息 保存即可 3代码实现 3.1调用函数 定义参数 字段 调用 ...
- ME01 创建货源清单
[转自 http://blog.sina.com.cn/s/blog_6466e5f70100ix3p.html ] SAP中采购货源清单创建的方法有以下几种: 1.ME01 手动逐个创建. 2.ME ...
- ME01 创建货源清单function
CALL FUNCTION 'ME_DIRECT_INPUT_SOURCE_LIST' Function module IDOC_INPUT_SRCLST FUNCTION IDOC_INPUT_SR ...
- ABAP 创建和调用WebService
1.创建WebService ① SE37创建RFC函数 ② SE80创建企业服务-service provider-existing ABAP object 或SE37-实用程序-创建Web服务 ③ ...
- ABAP开源项目清单
因为曾经的“SAP Code Exchange”平台已经于2013年倒闭,现在无论在SCN还是网络上都比较难找到一个地方来关注全部的优秀ABAP开源项目. 本文将这些项目的地址和他们的描述列出,以供参 ...
- ABAP 创建function model 返回参数为内表类型
1:通过T-CODE se11 创建一个structure ZSTRU2. 2: 创建一个table type, 表名 ZTAB1. 3: 表的row type 选择 ZSTRU2 4: ...
- AD10中创建材料清单(BOM表)
材料清单可以用来作为元件的采购清单,同时也可以用于查看PCB中的元件封装信息是否正确. 操作: Reports----->Bill of Materials
- 【Asp.net入门5-03】创建产品清单
- ABAP 创建测试文件
使用 CG3Y 下载,可以改成下载txt到本地. FORM CREATE_TESTFILE. ), L_OFF LIKE SY-TABIX, L_LEN LIKE SY-TABIX, L_SUM LI ...
随机推荐
- 在C#中使用C++编写的类——用托管C++进行封装[转]
现在在Windows下的应用程序开发,VS.Net占据了绝大多数的份额.因此很多以前搞VC++开发的人都转向用更强大的VS.Net.在这种情况 下,有很多开发人员就面临了如何在C#中使用C++开发好的 ...
- TensorFlow笔记一 :测试和TFboard使用
一 .第一个TF python3.6 import tensorflow as tf x=2 y=3 node1=tf.add(x,y,name='node1') node2=tf.multiply ...
- oracle手动修改listener.ora和tnsnames.ora之后竟然无效
oracle手动修改listener.ora和tnsnames.ora之后竟然无效 花式重启都没有生效,需要使用Net Configuration Assistant来进行刷一下,重新生成的监听还是一 ...
- JavaScript中给二维数组动态添加元素的质朴方法
var myData = new Array(); for(var i=0;i<tableDatas.length;i++){ var arr=tableDatas[i]; ...... /// ...
- Linux系统编程_1_文件夹读取(实现简单ls命令)
闲来无事.随便写写,实现简单的ls命令: | 1 #include <stdio.h> | 2 #include <stdlib.h> | 3 #include <dir ...
- Python Random随机数
Python产生随机数的功能在random模块中实现.实现了各种分布的伪随机数生成器 该模块能够生成0到1的浮点随机数,也能够在一个序列中进行随机选择.产生的随机数能够是均匀分布.高斯分布,对数正态分 ...
- Nexus 5刷阿里云OS
刷机有风险,刷机需慎重! 1. 下载 recovery 的img和 阿里云os. recovery 的img下载: https://kanbox.com/f/V00KA 阿里云OS3.0.3 : 2月 ...
- jquery方法
$.inArray(被判断的量,ArrayName); 如果存在返回索引值,如果不存在返回-1 $.unique() 数组去重 根据去重前后的长度,判断是否有重复 $.each(被遍历的数组,f ...
- xshell的快捷键(很有用)
删除 ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh ctrl + k 删除光标 ...
- SQLserver字符串分割函数
一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果.CREATE function Get_StrArrayLength( @s ...