SAP 获取批次信息函数(MSC3N)

在SAP系统中一般通过tcode-MSC3N来查看批次信息

而要在ABAP程序中获取批次信息则需要调用两个函数:

VB_BATCH_2_CLASS_OBJECT

BAPI_OBJCL_GETDETAIL

将这两个函数串联使用即可

 

VB_BATCH_2_CLASS_OBJECT:

BAPI_OBJCL_GETDETAIL:

CHARACT_DESCR 为批次信息的描述 VALVE_FROMF类型的值

CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT'
      EXPORTING
        I_MATNR BESTAND-MATNR
         I_CHARG 
BESTAND-CHARG
         I_WERKS 
BESTAND-WERKS
      
IMPORTING
        E_OBJEK E_OBJEK
         E_OBTAB 
E_OBTAB
         E_KLART 
E_KLART
         E_CLASS 
E_CLASS.

*    CLEAR LS_MCH1_KEY .
*    LS_MCH1_KEY-MATNR = BESTAND-MATNR .
*    LS_MCH1_KEY-CHARG = BESTAND-CHARG .
*    CLEAR E_OBJEK .
*    E_OBJEK = LS_MCH1_KEY .
*    CLEAR OBJECTKEY .
*    OBJECTKEY = E_OBJEK .
    CLEARALLOCVALUESNUM  ALLOCVALUESNUM[]  .
    CLEARALLOCVALUESCHAR ALLOCVALUESCHAR[] .
    CLEARALLOCVALUESCURR ALLOCVALUESCURR[] .
      CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
        EXPORTING
*         OBJECTKEY       = OBJECTKEY
          OBJECTKEY_LONG  E_OBJEK
           OBJECTTABLE     
E_OBTAB
           CLASSNUM        
E_CLASS
           CLASSTYPE       
E_KLART
*         KEYDATE         = SY-DATUM
*         LANGUAGE        = SY-LANGU
        TABLES
          ALLOCVALUESNUM  ALLOCVALUESNUM[]
           ALLOCVALUESCHAR 
ALLOCVALUESCHAR[]
           ALLOCVALUESCURR 
ALLOCVALUESCURR[]
          
RETURN          RETURN[].
 

值得注意的是如果SAP的物料号配置为18为则BAPI_OBJCL_GETDETAIL的调用中要使用

OBJECTKEY参数二入股物料号配置为40位则需要使用OBJECTKEY_LONG参数

<think>好的,用户问的是MSC3N如何创建批次。首先,我需要确定MSC3N是什么系统或工具。通常,像MSC3N这样的缩写可能与SAP系统相关,因为在SAP中,批次管理是一个常见的功能,事务代码如MSC2N用于批次创建,而MSC3N用于批次查看。用户可能混淆了事务代码,或者他们使用的系统有自定义的事务代码MSC3N来创建批次。 接下来,我需要考虑标准的SAP批次创建流程。通常,在SAP中创建批次是通过事务代码MSC1N或MSC2N。MSC3N通常是用来显示批次主数据的。所以用户可能在询问如何创建批次,但错误地引用了MSC3N。或者他们的系统可能对事务代码进行了定制,将批次创建功能分配给了MSC3N。 需要明确的是,用户是否确定事务代码正确。如果他们确实需要使用MSC3N来创建批次,可能需要检查系统配置,或者是否有特定的步骤或权限要求。此外,可能涉及物料主数据是否启用了批次管理,以及工厂和库存地点是否配置正确。 如果用户的环境确实使用MSC3N来创建批次,可能需要指导他们进入该事务代码,输入物料、工厂等信息,然后保存。但通常需要确认系统的自定义设置,因为标准SAPMSC3N不是用于创建的。 可能还需要考虑用户是否有权限问题,或者是否需要通过其他路径访问批次创建功能。例如,在某些情况下,可能需要通过物料主数据或生产订单触发批次的自动创建。 总结下来,回答应该先确认事务代码的正确性,然后分步骤说明标准流程,并建议用户检查系统定制或咨询管理员,以防他们的环境有特殊配置。同时提醒批次管理的前提条件,如物料主数据的批次视图维护等。</think>在SAP系统中,若需创建批次(Batch),通常使用事务代码 **MSC1N** 或 **MSC2N**。但根据您提到的 **MSC3N**(通常用于显示批次主数据),可能存在以下两种可能性: --- ### 1. **确认事务代码用途** - **MSC3N** 在标准SAP中用于 **查看批次主数据**,而非创建批次。 - 若需创建批次,请尝试以下操作: - **事务代码 MSC1N**:手动创建批次。 - **事务代码 MSC2N**:通过物料凭证(如生产订单、采购订单)自动生成批次。 --- ### 2. **通过MSC1N手动创建批次的步骤** - **步骤1**:输入事务代码 **MSC1N**,按回车。 - **步骤2**:填写必填字段: - **物料号**:需启用批次管理的物料。 - **工厂**:关联的工厂代码。 - **批次**:可手动输入批次号(若系统未自动生成)。 - **步骤3**:维护批次特性(如生产日期、有效期、供应商等)。 - **步骤4**:保存(按 **Ctrl+S** 或点击保存按钮),系统生成批次号。 --- ### 3. **通过MSC2N自动生成批次** - **适用场景**:通过采购订单、生产订单等自动触发批次创建。 - **步骤1**:执行事务代码 **MSC2N**。 - **步骤2**:输入物料凭证(如采购订单号)并回车。 - **步骤3**:系统自动分配批次号,补充批次特性后保存。 --- ### 4. **特殊情况说明** - 若您确认需通过 **MSC3N** 创建批次,可能是系统定制化配置导致: 1. 尝试在MSC3N界面查找“新建”或“创建”按钮。 2. 联系系统管理员确认权限及事务代码功能是否被修改。 --- ### 5. **前提条件** - 物料主数据的 **批次视图** 需已维护(事务代码 **MM02**)。 - 工厂层级的批次管理配置需启用(通过事务代码 **OMJJ**)。 --- ### 总结 建议优先使用 **MSC1N** 或 **MSC2N** 创建批次。若系统中 **MSC3N** 被定制为创建功能,需结合具体配置操作。如仍有疑问,可提供更多上下文进一步分析!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值