交货单可用性检查,库存+批次可用
来源:互联网 发布:虚拟机的linux不能启动 编辑:程序博客网 时间:2024/06/01 22:30
可用性检查函数函数
FUNCTION zsdfm001_60.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_MATNR) TYPE MATNR OPTIONAL
*" VALUE(I_CHARG) TYPE CHARG_D OPTIONAL
*" VALUE(I_VBELN) TYPE VBELN
*" EXPORTING
*" VALUE(E_ITEM) TYPE ZSDS086
*"----------------------------------------------------------------------
DATA: i_return LIKE bapiwmdve OCCURS 0 WITH HEADER LINE.
DATA: i_WMDVSX LIKE BAPIWMDVS OCCURS 0 WITH HEADER LINE.
* 批次库存
DATA:BEGIN OF i_lips OCCURS 0,
matnr LIKE lips-matnr,
charg LIKE lips-charg,
werks LIKE lips-werks,
lgort LIKE lips-lgort,
meins LIKE lips-meins,
END OF i_lips.
SELECT
matnr
charg
werks
lgort
VRKME
INTO TABLE i_lips
FROM lips
WHERE vbeln = i_vbeln.
IF i_matnr IS NOT INITIAL."说明查询的是没有批次的库存
READ TABLE i_lips WITH KEY matnr = i_matnr.
SELECT SINGLE
mard~matnr
mard~labst
mara~meins
INTO (e_item-matnr,e_item-menge,e_item-meins )
FROM mard
INNER JOIN mara ON mara~matnr = mard~matnr
WHERE mard~werks = i_lips-werks AND mard~lgort = i_lips-lgort AND mard~matnr = i_matnr .
ELSEIF i_charg IS NOT INITIAL."查询单个批次
SELECT "SINGLE
mchb~matnr
mchb~charg
mchb~clabs
INTO (e_item-matnr,e_item-charg,e_item-chnum )
FROM mchb
FOR ALL ENTRIES IN i_lips
WHERE mchb~werks = i_lips-werks AND mchb~lgort = i_lips-lgort and matnr = i_lips-matnr AND mchb~charg = i_charg .
ENDSELECT.
SELECT "SINGLE
mard~matnr
mard~labst
mara~meins
INTO (e_item-matnr,e_item-menge,e_item-meins )
FROM mard
INNER JOIN mara ON mara~matnr = mard~matnr
FOR ALL ENTRIES IN i_lips
WHERE mard~werks = i_lips-werks AND mard~lgort = i_lips-lgort AND mard~matnr = e_item-matnr .
ENDSELECT.
* *批次可用库存
READ TABLE i_lips WITH KEY matnr = e_item-matnr.
CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
EXPORTING
plant = i_lips-werks
material = e_item-matnr
UNIT = i_lips-meins
check_rule = 'B'
stge_loc = i_lips-lgort
batch = e_item-charg
TABLES
WMDVSX = I_WMDVSX
wmdvex = i_return.
READ TABLE i_return INDEX 1.
e_item-chnum_k = i_return-COM_QTY.
REFRESH i_return.
ENDIF.
* *库位可用库存
refresh i_return.
CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
EXPORTING
plant = i_lips-werks
material = e_item-matnr
UNIT = i_lips-meins
check_rule = 'B'
stge_loc = i_lips-lgort
TABLES
WMDVSX = I_WMDVSX
wmdvex = i_return.
READ TABLE i_return INDEX 1.
e_item-menge_k = i_return-COM_QTY.
*单位换算
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
INPUT = e_item-menge "clabs--基本计量单位下库存数量,为传入参数
kzmeinh = ' '
matnr = e_item-matnr
meinh = i_lips-meins
IMPORTING
OUTPUT = e_item-menge. "输出值赋值给zkcsl--公斤计库存数量
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
INPUT = e_item-chnum "clabs--基本计量单位下库存数量,为传入参数
kzmeinh = ' '
matnr = e_item-matnr
meinh = i_lips-meins
IMPORTING
OUTPUT = e_item-chnum. "输出值赋值给zkcsl--公斤计库存数量
E_ITEM-meins = I_LIPS-meins.
ENDFUNCTION
FUNCTION zsdfm001_60.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_MATNR) TYPE MATNR OPTIONAL
*" VALUE(I_CHARG) TYPE CHARG_D OPTIONAL
*" VALUE(I_VBELN) TYPE VBELN
*" EXPORTING
*" VALUE(E_ITEM) TYPE ZSDS086
*"----------------------------------------------------------------------
DATA: i_return LIKE bapiwmdve OCCURS 0 WITH HEADER LINE.
DATA: i_WMDVSX LIKE BAPIWMDVS OCCURS 0 WITH HEADER LINE.
* 批次库存
DATA:BEGIN OF i_lips OCCURS 0,
matnr LIKE lips-matnr,
charg LIKE lips-charg,
werks LIKE lips-werks,
lgort LIKE lips-lgort,
meins LIKE lips-meins,
END OF i_lips.
SELECT
matnr
charg
werks
lgort
VRKME
INTO TABLE i_lips
FROM lips
WHERE vbeln = i_vbeln.
IF i_matnr IS NOT INITIAL."说明查询的是没有批次的库存
READ TABLE i_lips WITH KEY matnr = i_matnr.
SELECT SINGLE
mard~matnr
mard~labst
mara~meins
INTO (e_item-matnr,e_item-menge,e_item-meins )
FROM mard
INNER JOIN mara ON mara~matnr = mard~matnr
WHERE mard~werks = i_lips-werks AND mard~lgort = i_lips-lgort AND mard~matnr = i_matnr .
ELSEIF i_charg IS NOT INITIAL."查询单个批次
SELECT "SINGLE
mchb~matnr
mchb~charg
mchb~clabs
INTO (e_item-matnr,e_item-charg,e_item-chnum )
FROM mchb
FOR ALL ENTRIES IN i_lips
WHERE mchb~werks = i_lips-werks AND mchb~lgort = i_lips-lgort and matnr = i_lips-matnr AND mchb~charg = i_charg .
ENDSELECT.
SELECT "SINGLE
mard~matnr
mard~labst
mara~meins
INTO (e_item-matnr,e_item-menge,e_item-meins )
FROM mard
INNER JOIN mara ON mara~matnr = mard~matnr
FOR ALL ENTRIES IN i_lips
WHERE mard~werks = i_lips-werks AND mard~lgort = i_lips-lgort AND mard~matnr = e_item-matnr .
ENDSELECT.
* *批次可用库存
READ TABLE i_lips WITH KEY matnr = e_item-matnr.
CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
EXPORTING
plant = i_lips-werks
material = e_item-matnr
UNIT = i_lips-meins
check_rule = 'B'
stge_loc = i_lips-lgort
batch = e_item-charg
TABLES
WMDVSX = I_WMDVSX
wmdvex = i_return.
READ TABLE i_return INDEX 1.
e_item-chnum_k = i_return-COM_QTY.
REFRESH i_return.
ENDIF.
* *库位可用库存
refresh i_return.
CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
EXPORTING
plant = i_lips-werks
material = e_item-matnr
UNIT = i_lips-meins
check_rule = 'B'
stge_loc = i_lips-lgort
TABLES
WMDVSX = I_WMDVSX
wmdvex = i_return.
READ TABLE i_return INDEX 1.
e_item-menge_k = i_return-COM_QTY.
*单位换算
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
INPUT = e_item-menge "clabs--基本计量单位下库存数量,为传入参数
kzmeinh = ' '
matnr = e_item-matnr
meinh = i_lips-meins
IMPORTING
OUTPUT = e_item-menge. "输出值赋值给zkcsl--公斤计库存数量
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
INPUT = e_item-chnum "clabs--基本计量单位下库存数量,为传入参数
kzmeinh = ' '
matnr = e_item-matnr
meinh = i_lips-meins
IMPORTING
OUTPUT = e_item-chnum. "输出值赋值给zkcsl--公斤计库存数量
E_ITEM-meins = I_LIPS-meins.
ENDFUNCTION
0 0
- 交货单可用性检查,库存+批次可用
- 安全库存系列-安全库存、安全库存共享、安全库存与可用性检查
- 交货单 增强 VL01N:LE_SHP_DELIVERY_PROC自动增加批次号
- Swift: API 可用性检查
- 详解EBS接口开发之库存事务处理-物料批次导入
- 详解EBS接口开发之库存事务处理批次更新
- 详解EBS接口开发之库存事务处理-物料批次导入
- 详解EBS接口开发之库存事务处理-物料批次导入
- 交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)
- SAP外向交货单中的批次拆分应用于免费货物的小问题
- 库存事务处理现有量检查
- 当前及可用库存查询
- 物料可用性检查(Availability check)
- 销售模块的可用性检查
- 14.1.3 检查InnoDB 可用性:
- 批次
- ABAP源码--当前及可用库存查询
- 检查WebService是否可用
- 关于设备号的思考
- Linux常用命令
- 堆和栈的区别
- Codeforces 392C Yet Another Number Sequence 题解&代码
- R制作词云
- 交货单可用性检查,库存+批次可用
- WinDBG常用命令
- 【LEETCODE】129-Sum Root to Leaf Numbers [Python]
- 二叉树的遍历
- web学习之路—H5(一)
- IOS根据经纬度算距离
- 第十章 函数和指针 p354 指针加法
- LibGDX教程——重建Flappy Bird——(2) 创建游戏框架
- Android: NullPointerException when using RelativeLayout with measure()