SAP SD VT01N 创建运输单 BAPI_SHIPMENT_CREATE

18 篇文章 1 订阅

 本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系。 

VT01N创建运输单BAPI:BAPI_SHIPMENT_CREATE

  DATA:
    LS_HEADERDATA TYPE BAPISHIPMENTHEADER,
    LT_ITEMDATA   TYPE STANDARD TABLE OF  BAPISHIPMENTITEM,
    LS_ITEMDATA   TYPE BAPISHIPMENTITEM,
    LT_RETURN     TYPE STANDARD TABLE OF BAPIRET2,
    LS_RETURN     TYPE BAPIRET2,
    LV_TKNUM      TYPE VTTK-TKNUM,
    LS_LIPS       TYPE LIPS,
    LS_TIME       TYPE BAPISHIPMENTSTAGEDEADLINE,
    LT_TIME       TYPE STANDARD TABLE OF BAPISHIPMENTSTAGEDEADLINE,
    LT_HEADLINE   TYPE STANDARD TABLE OF BAPISHIPMENTHEADERDEADLINE,
    LS_HEADLINE   TYPE BAPISHIPMENTHEADERDEADLINE.

  IF IT_LIPS[] IS NOT INITIAL .
    READ TABLE IT_LIPS INTO LS_LIPS INDEX 1.

    SELECT SINGLE ROUTE INTO LS_HEADERDATA-SHIPMENT_ROUTE
      FROM LIKP
      WHERE VBELN = LS_LIPS-VBELN.        "从交货单获取route

    LS_HEADERDATA-SHIPMENT_TYPE = 'ZSTU'.
    LS_HEADERDATA-TRANS_PLAN_PT = '6500'.
    LS_HEADERDATA-SERVICE_AGENT_ID  =     'FRT123'.
    "TRVAB 表中根据 route去找服务代理

    LOOP AT IT_LIPS INTO LS_LIPS.
      LS_ITEMDATA-DELIVERY = LS_LIPS-VBELN.
      APPEND LS_ITEMDATA TO  LT_ITEMDATA.
    ENDLOOP .


*以下是确定时间,如果不确定时间的话,后续的运输成本单无法创建
    LS_HEADLINE-TIME_TYPE      = 'HDRSTPLDT'.   "Date of end of planning
    CALL FUNCTION 'IB_CONVERT_INTO_TIMESTAMP'
      EXPORTING
        I_DATLO           = SY-DATUM
        I_TIMLO           = SY-TIMLO
*             I_TZONE           = SY-ZONLO
           IMPORTING
       E_TIMESTAMP       =  LS_HEADLINE-TIME_STAMP_UTC  .
    LS_HEADLINE-TIME_ZONE      = 'UTC'.
    APPEND LS_HEADLINE TO LT_HEADLINE.
    LS_HEADLINE-TIME_TYPE      = 'HDRSTCIADT'.   "Actual date of check-in
    APPEND LS_HEADLINE TO LT_HEADLINE.
    LS_HEADLINE-TIME_TYPE      = 'HDRSTLSADT'.   "Current date for start of loading
    APPEND LS_HEADLINE TO LT_HEADLINE.
    LS_HEADLINE-TIME_TYPE      = 'HDRSTLEADT'.   "Actual date for end of loading
    APPEND LS_HEADLINE TO LT_HEADLINE.



    CALL FUNCTION 'BAPI_SHIPMENT_CREATE'
      EXPORTING
        HEADERDATA        = LS_HEADERDATA
      IMPORTING
       TRANSPORT          =  LV_TKNUM
*   SHIPMENTGUID         =
      TABLES
       HEADERDEADLINE    =   LT_HEADLINE
       ITEMDATA          =   LT_ITEMDATA
*   STAGEDATA            =
*  STAGEDEADLINE        = LT_TIME
*   ITEMONSTAGE          =
*   ADDRESS              =
*   HDUNHEADER           =
*   HDUNITEM             =
     RETURN               = LT_RETURN.
    READ TABLE LT_RETURN INTO LS_RETURN WITH KEY TYPE = 'E'.
    IF SY-SUBRC = 0.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    ELSE.

      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          WAIT = 'X'.
    ENDIF.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAP BAPI_PO_CREATE1是一个SAP系统中的功能模块,用于创建采购订(Purchase Order)。通过该功能模块,我们可以使用SAP系统来快速创建和维护采购订的相关数据。 使用BAPI_PO_CREATE1,我们可以通过调用该功能模块来向SAP系统中创建新的采购订。在调用该功能模块时,我们需要提供一些必要的输入参数,如采购订的相关信息、采购组织和公司代码等。 这个功能模块可以帮助我们在SAP系统中自动化采购订创建流程。它可以根据输入的参数,自动生成采购订,并将相关的物料、供应商和价格等信息添加到订中。 通过使用BAPI_PO_CREATE1,我们可以实现以下功能: 1. 创建采购订:我们可以通过调用该功能模块来创建新的采购订。在调用时,我们需要提供订的相关信息,如供应商、物料、数量、交货日期等。系统会根据提供的信息自动创建采购订。 2. 修改采购订:除了创建新的采购订,我们还可以使用BAPI_PO_CREATE1来修改现有的采购订。在调用时,我们需要提供订的标识符和要修改的字段及对应的值。系统将根据提供的信息来更新采购订的数据。 3. 检查采购订:在调用BAPI_PO_CREATE1之前,我们可以先使用BAPI_PO_EXISTENCE_CHECK来检查采购订是否存在。这可以帮助我们避免重复创建或更新不存在的订。 总而言之,SAP BAPI_PO_CREATE1是一个用于创建和维护采购订的功能模块。它可以帮助我们在SAP系统中实现自动化的采购订处理,并提高采购过程的效率和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值