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

    xiaoxiao2022-06-26  166

    在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参数


    最新回复(0)