文档更新记录
| 日期 | 编著人 | 版本
  | 备注 | 
| 2024-03-02 | 张建中 | V1.0 | 初稿  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
文档审核记录
 
 批号管理物料更改为非批号管理
背景
查询SAP B1中什么物料使用了批号管理
查询SAP B1使用批号的库存物料清单
仓库发货批号管理物料的DWT模板
清掉系统中的未清采购收货和销售发货
用DTW把批号管理的物料改为非批号管理
仓库收货DWT模板
1.   背景
物料在SAP B1中启用了批号管理,使用二维码扫码系统时,需要在SAP B1中更改为非批号管理,改为扫码系统中的批号管理。
本文讲如何去掉SAP B1中的批号管理
 
2.   查询SAP B1中什么物料使用了批号管理
查询代码如下:
SELECT T0.[ItemCode], T0.[ItemName], T0.[ManBtchNum],  T0.[MngMethod] FROM OITM T0 WHERE T0.[ManBtchNum] ='Y'
 
如果使用了批号管理,是否有物料在入库时还没有维护好批号,如果有的话,需要先加上批号
查询路径:库存 → 物料管理 → 批次 → 批次管理 → 完成操作

                                             
3.   查询SAP B1使用批号的库存物料清单
查询代码如下:
SELECT T0.[ItemCode] 物料编号
,T0.[ItemName]   物料名称 
,T3.[Quantity]      物料数量
,T3.[WhsCode]    物料仓库
,T1.[AvgPrice]      物料成本 
,T2.[DistNumber] 物料批号
FROM OITM T0  INNER JOIN OITW T1 ON T0.[ItemCode] = T1.[ItemCode] 
INNER JOIN OBTN T2 ON T2.[ItemCode]=T0.[ItemCode]
INNER JOIN OBTQ T3 ON T2.[AbsEntry]=T3.[MdAbsEntry] AND T1.[WhsCode]=T3.[WhsCode]
WHERE T0.[InvntItem] ='Y' AND T3.[Quantity]<>0 AND T0.[ManBtchNum]='Y'
ORDER BY T0.[ItemCode],T3.[WhsCode],T2.[DistNumber]
 
4.   仓库发货批号管理物料的DWT模板
注:由于物料有批号管理,所以需要在DTW使用仓库发货单发货,EXCEL模板分成以下三层:
l  仓库出库主表;
l  仓库出库物料行表;
l  仓库出库批号行表;
建议一个仓库使用一张仓库出库单导出,物料行和批号行完全对应,是一对一关系;如果行不多,也可以用一张仓库发货单导出。
 
主表字段:
DocNum  | DocDate  | Reference2  | Reference2  | Comments  | 
DocNum  | DocDate  | Ref2  | Ref2  | Comments  | 
 
行表字段:
ParentKey  | ItemCode  | Quantity  | WarehouseCode  | AccountCode  | 
DocNum  | ItemCode  | Quantity  | WhsCode  | AcctCode  | 
 
批号行表字段:
ParentKey  | LineNum  | BatchNumber  | Quantity  | BaseLineNumber  | 
DocNum  | LineNum  | DistNumber  | Quantity  | DocLineNum  | 
有关有批号的导出,需要全面测试一下
 
5.   清掉系统中的未清采购收货和销售发货
新版本的SAP B1在把批号管理的物料改为非批号管理时,不但要求仓库中的库存数量为0,还要求没有未清的收/发货单据,包括收发货的对应的退货单据等。
如何清掉这部分单据需研究, 这个比较麻烦。客户基本上做不到系统中没有未清的单据。需要全面测试直接在数据库后台更改的方法,更改后是否会有后继影响等等。
 
数据库后台启用WEB的批号管理的代码:
UPDATE OITM  SET  U_ManBatchNo='Y' WHERE ManBtchNum='Y'
 
数据库后台更改管理方式的代码:
UPDATE OITM  SET ManBtchNum='N' WHERE ManBtchNum='Y'
 
6.   用DTW把批号管理的物料改为非批号管理
这是一个简单的和物料主数据更新导入,不再在本次中讲述。
ItemCode  | ManageBatchNumbers  | 
ItemCode  | ManBtchNum  | 
物料编号  | N  | 
 
7.   仓库收货DWT模板
 导入相对容易,可以直接在SAP中做单据,因为SAP支持直接粘贴操作。注意行表字段中多了一个成本价格
主表字段:
DocNum  | DocDate  | Reference2  | Reference2  | Comments  | 
DocNum  | DocDate  | Ref2  | Ref2  | Comments  | 
 
行表字段:
ParentKey  | ItemCode  | Quantity  | WarehouseCode  | AccountCode  | Price  | 
DocNum  | ItemCode  | Quantity  | WhsCode  | AcctCode  | Price  | 
注意:仓库的收发货使用一样的科目,这样一正一负完全对冲