交货单批次拆分_SAP刘梦_新浪博客

外向交货单批次拆分

目录

外向交货单批次拆分... 1

一、前台操作... 1

二、BAPI处理... 3

三、库表字段... 6

四、备注:... 7

 

一、前台操作

VL02N

交货单批次拆分

选中行,点批次拆分

交货单批次拆分

填写批次后,回车,会将项目号和库位自动带出(视具体配置而定)

 

点保存后,原来航项目10数量自动变更

删除拆分:


交货单批次拆分

 

选中拆分项目,点删除

 

10主行项目数量会自动更新

交货单批次拆分

 

二、BAPI处理

REPORT  YLM_TEST045.


PARAMETERS P_VBELN TYPE VBELN_VL DEFAULT '8000003765'.


"测试批次拆分

DATA:

IT_HEADER_PARTNER              LIKE TABLE OF BAPIDLVPARTNERCHG           ,"交货:合作伙伴更改

IT_HEADER_DEADLINES            LIKE TABLE OF BAPIDLVDEADLN               ,"交货截止日期

IT_ITEM_DATA                   LIKE TABLE OF BAPIOBDLVITEMCHG            ,"更改外向交货拣配数据项目等级

IT_ITEM_CONTROL                LIKE TABLE OF BAPIOBDLVITEMCTRLCHG        ,"外向交货项目级别控制数据

ET_RETURN                      LIKE TABLE OF BAPIRET2   WITH HEADER LINE ,"返回参数

IT_ITEM_DATA_SPL               LIKE TABLE OF /SPE/BAPIOBDLVITEMCHG       ,"更改向外交货拣配数据项目等级(SPE)

IS_HEADER_DATA                 LIKE          BAPIOBDLVHDRCHG             ,"更改外向交货拣配数据表头等级

IS_HEADER_CONTROL              LIKE          BAPIOBDLVHDRCTRLCHG         ,"外向交货标题级别控制数据

IV_DELIVERY                    LIKE          BAPIOBDLVHDRCHG-DELIV_NUMB  ."交货


DATA:

LW_HEADER_PARTNER              LIKE          BAPIDLVPARTNERCHG           ,"交货:合作伙伴更改

LW_HEADER_DEADLINES            LIKE          BAPIDLVDEADLN               ,"交货截止日期

LW_ITEM_DATA                   LIKE          BAPIOBDLVITEMCHG            ,"更改外向交货拣配数据项目等级

LW_ITEM_CONTROL                LIKE          BAPIOBDLVITEMCTRLCHG        ,"外向交货项目级别控制数据

LW_RETURN                      LIKE          BAPIRET2                    ."返回参数



DATA: L_TECHN_CONTROL  TYPE BAPIDLVCONTROL.

DATA:

       LS_ITEM          TYPE BAPIOBDLVITEMCHG,

       LS_ITEM_T        TYPE BAPIOBDLVITEMCHG,

       LS_ITEM_CONTROL  TYPE BAPIOBDLVITEMCTRLCHG,

       LS_DEADLINES     TYPE BAPIDLVDEADLN.


IV_DELIVERY = P_VBELN. "交货单号




"头信息

IS_HEADER_DATA-DELIV_NUMB     = P_VBELN. "交货单号

IS_HEADER_CONTROL-DELIV_NUMB  = P_VBELN.


"修改原10行项目数量

CLEAR LW_ITEM_DATA.

LW_ITEM_DATA-DELIV_NUMB     = P_VBELN.

LW_ITEM_DATA-DELIV_ITEM     = 10.      "原行项目

LW_ITEM_DATA-DLV_QTY        = 1.

LW_ITEM_DATA-DLV_QTY_IMUNIT = 1.

LW_ITEM_DATA-BASE_UOM       = 'TO'.    "基本单位

LW_ITEM_DATA-SALES_UNIT     = 'TO'.    "销售单位


LW_ITEM_DATA-FACT_UNIT_NOM   = 1.      "销售数量转换成SKU的分子(因子)

LW_ITEM_DATA-FACT_UNIT_DENOM = 1.      "销售数量转换为 SKU 的值(除数)


APPEND LW_ITEM_DATA TO IT_ITEM_DATA .


CLEAR LW_ITEM_CONTROL.

LW_ITEM_CONTROL-DELIV_NUMB = P_VBELN.

LW_ITEM_CONTROL-DELIV_ITEM = 10.       "原行项目

LW_ITEM_CONTROL-CHG_DELQTY = 'X'.      "数量修改标志


APPEND LW_ITEM_CONTROL TO IT_ITEM_CONTROL.




"新拆分的批次

CLEAR LW_ITEM_DATA.

LW_ITEM_DATA-DELIV_NUMB = P_VBELN.

LW_ITEM_DATA-DELIV_ITEM = '900001'.       "拆分后的新行项目

LW_ITEM_DATA-HIERARITEM = 10.             "上级行项目

LW_ITEM_DATA-BATCH      = 'YS91480001'.   "新批次

LW_ITEM_DATA-DLV_QTY    = 1.              "自己重新计算拆分后的数量,

LW_ITEM_DATA-DLV_QTY_IMUNIT = 1.

LW_ITEM_DATA-FACT_UNIT_NOM   = 1.       "销售数量转换成SKU的分子(因子)

LW_ITEM_DATA-FACT_UNIT_DENOM = 1.       "销售数量转换为 SKU 的值(除数)

LW_ITEM_DATA-BASE_UOM        = 'TO'.    "基本单位

LW_ITEM_DATA-SALES_UNIT      = 'TO'.    "销售单位

LW_ITEM_DATA-USEHIERITM      = '1'.


APPEND LW_ITEM_DATA TO IT_ITEM_DATA.



CLEAR LW_ITEM_DATA.

LW_ITEM_DATA-DELIV_NUMB = P_VBELN.

LW_ITEM_DATA-DELIV_ITEM = '900002'.    "拆分后的新行项目

LW_ITEM_DATA-HIERARITEM = 10.          "上级行项目

LW_ITEM_DATA-BATCH      = 'YS91480002'."新批次

LW_ITEM_DATA-DLV_QTY    = 1.

LW_ITEM_DATA-DLV_QTY_IMUNIT = 1.


LW_ITEM_DATA-FACT_UNIT_NOM   = 1.       "销售数量转换成SKU的分子(因子)

LW_ITEM_DATA-FACT_UNIT_DENOM = 1.       "销售数量转换为 SKU 的值(除数)

LW_ITEM_DATA-BASE_UOM        = 'TO'.    "基本单位

LW_ITEM_DATA-SALES_UNIT      = 'TO'.    "销售单位

LW_ITEM_DATA-USEHIERITM      = '1'.


APPEND LW_ITEM_DATA TO IT_ITEM_DATA.



CLEAR LW_ITEM_CONTROL.

LW_ITEM_CONTROL-DELIV_NUMB = P_VBELN.

LW_ITEM_CONTROL-DELIV_ITEM = '900001'. "拆分后的新行项目

LW_ITEM_CONTROL-CHG_DELQTY = 'X'.      "数量修改标志

APPEND LW_ITEM_CONTROL TO IT_ITEM_CONTROL  .


CLEAR LW_ITEM_CONTROL.

LW_ITEM_CONTROL-DELIV_NUMB = P_VBELN.

LW_ITEM_CONTROL-DELIV_ITEM = '900002'."拆分后的新行项目

LW_ITEM_CONTROL-CHG_DELQTY = 'X'.     "数量修改标志

APPEND LW_ITEM_CONTROL TO IT_ITEM_CONTROL  .


CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'

  EXPORTING

    HEADER_DATA      = IS_HEADER_DATA

    HEADER_CONTROL   = IS_HEADER_CONTROL

    DELIVERY         = IV_DELIVERY

  TABLES

    HEADER_PARTNER   = IT_HEADER_PARTNER

    HEADER_DEADLINES = IT_HEADER_DEADLINES

    ITEM_DATA        = IT_ITEM_DATA

    ITEM_CONTROL     = IT_ITEM_CONTROL

    RETURN           = ET_RETURN

*   ITEM_DATA_SPL    =  IT_ITEM_DATA_SPL

  .

DATA: L_MSG TYPE STRING.


IF ET_RETURN[] IS INITIAL.

  COMMIT WORK AND WAIT.

  WRITE:/ '批次拆分成功'.

  RETURN.

ENDIF.


LOOP AT ET_RETURN WHERE TYPE = 'E'.

  CLEAR L_MSG.

  MESSAGE ID  ET_RETURN-ID

      TYPE   'E'

      NUMBER ET_RETURN-NUMBER

      WITH   ET_RETURN-MESSAGE_V1

             ET_RETURN-MESSAGE_V2

             ET_RETURN-MESSAGE_V3

             ET_RETURN-MESSAGE_V4

      INTO   L_MSG.


  WRITE:/ L_MSG.

 

ENDLOOP.

三、库表字段

主要字段:LIPS~ UECHA:批次拆分项目的上层项目

 

LIKP

交货单批次拆分

LIPS

交货单批次拆分

VBFA: 销售凭证流

交货单批次拆分

四、备注:

 

BAPItable参数:ITEM_DATA_SPL

这个结构

主要是给库存地点赋值的。

具体可能跟配置有关,比如我这里,及时bapi里写入了值,也不能进行修改

最后在增强里处理的:

BADI:LE_SHP_DELIVERY_PROC 

方法:CHANGE_DELIVERY_ITEM

修改的参数:CS_LIPS

 

直接把库存地点赋值到这里即可


至于

LW_ITEM_DATA-USEHIERITM      = '1'.   为啥赋值为1

请点进去自行查看!



欢迎关注订阅号:SAP学习记录 (SAPlearning )

PO <wbr><wbr>text <wbr><wbr>copy <wbr><wbr>rules <wbr><wbr>:copy <wbr><wbr>PR <wbr><wbr>item <wbr><wbr>text <wbr><wbr>to <wbr><wbr>PO








  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[2\]:前几天用到HR模块的一个函数:HR_INFOTYPE_OPERATION。这个函数是用来操作HR信息类型的。在调用这个函数之前,需要先加锁,然后调用HR_INFOTYPE_OPERATION函数进行操作,最后再解锁。\[2\]根据参数OPERATION的不同取值,可以实现不同的操作,比如建、修改、删除等。其中,主要的取值有INS、INSS和MOD。\[2\]INS表示建一个新的记录,即使系统中已经存在相同类型的记录。INSS表示建一个新的记录,如果系统中已经存在相同类型的记录,则将其转换为修改操作。MOD表示修改已存在的记录。\[3\]根据你的需求,你可以查找类似的BAPI函数来实现相同的功能。 #### 引用[.reference_title] - *1* [SAP 函数HR_INFOTYPE_OPERATION报错](https://blog.csdn.net/ptpassword/article/details/131400421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [HR_INFOTYPE_OPERATION_SAP刘梦_新浪博客](https://blog.csdn.net/senlinmu110/article/details/109652316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值