Updating custom fields on VBAP OR VBAK using BAPI_SALESORDER_CHANGE

本文介绍如何在SAP系统中通过扩展BAPE_VBAK等结构来实现销售订单抬头及行项目的客制化字段修改。通过具体示例展示了如何在不同结构中添加自定义字段,并使用ABAP编程语言编写程序来更新这些字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:https://archive.sap.com/discussions/thread/649461

根据客制化字段不同的位置需要扩展如下类型:

更新抬头:VBAK, BAPE_VBAK, BAPE_VBAKX, VBAKKOZ and VBAKKOZX.

更新行项目:VBAP, BAPE_VBAP, BAPE_VBAPX, VBAPKOZ and VBAPKOZX.

1.Append one structure in BAPE_VBAK with the fields which need to be changed

 
  1. field.. dataelement... datatype.. length
  2. zz_disp .. zzdisp .. char .. 4

 

2 Append one structure in BAPE_VBAKX with the fields with one character fields.

 
  1. field.. dataelement... datatype.. length
  2. zz_disp .. char01... char.. 1

 

3.Append the same fields of the structure which was appended in the BAPE_VBAK to VBAKKOZ

 
  1. field.. dataelement... datatype.. length
  2. zz_disp .. zzdisp .. char .. 4

 

4.Append the same structure which was appended in the BAPE_VBAKX to VBAKKOZX.

 
  1. field.. dataelement... datatype.. length
  2. zz_disp .. char01... char.. 1

 

 

Now, check this program how to fill the EXTENSION parameter

Report ZTEST_NP.
parameters: p_vbeln like vbak-vbeln.
 
start-of-selection.
 
data: l_vbeln like BAPIVBELN-VBELN,
      l_inx   like BAPISDH1X.
data: it_ret like BAPIRET2 occurs 0 with header line,
      it_ext like BAPIPAREX occurs 0 with header line,
      is_hdr like BAPISDH1.
 
l_inx-UPDATEFLAG = 'U'.
l_vbeln = p_vbeln.
* fill the table with values to be changed
it_ext-STRUCTURE = 'BAPE_VBAK'.      "Strcture with the fields
it_ext-VALUEPART1+0(10) = l_vbeln.
it_ext-valuepart1+11(4) = 'TEST'.          "<< My ZZ_DISP field
append it_ext.
 
* mark the fields which you need to change
it_ext-STRUCTURE = 'BAPE_VBAKX'.     " Strcture with the flags
it_ext-VALUEPART1+0(10) = l_vbeln.
it_ext-VALUEPART1+10(1) = 'X'.
it_ext-VALUEPART1+11(1) = 'X'.
append it_ext.
 
*it_ext-STRUCTURE = 'ZAVBAK'.     " Strcture with the flags
*it_ext-VALUEPART1+24(1) = 'T'.
*append it_ext.
 
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
  EXPORTING
    SALESDOCUMENT               = l_vbeln
    ORDER_HEADER_INX            = l_inx
  TABLES
    RETURN                      = it_ret
    EXTENSIONIN                 = it_ext
          .
  
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
           EXPORTING
             WAIT          = 'X'.

 

 

 

### Franka Emika机器人手臂介绍 Franka Emika是一家位于慕尼黑的创业公司,专注于开发低成本的工业协作机器人(cobot)。该公司最著名的产品名为Franka,旨在提供一种易于使用的解决方案来实现工厂车间和其他工作环境中的自动任务[^1]。 #### 规格参数 尽管具体的硬件规格可能因型号不同而有所变,但通常情况下,Franka Emika生产的机械臂具有七个自由度的设计,能够模仿人类的手臂动作。这种设计使得它可以在狭小空间内灵活操作,并能完成复杂的装配作业。此外,这些设备还配备了高精度传感器以及先进的控算法,从而实现了安全的人机交互功能[^2]。 #### 应用场景 FRANKA Production 3 (FP3),作为一款基于云端的支持AI学习平台,允许非专业人士快速部署自动流程。通过FP3,企业内部现有的工作人员能够在短时间内将自己的工艺经验转换成实际运行着的机器人程序,大大降低了引入自动的门槛和技术难度。因此,无论是在研究实验室还是造业生产线,都可以看到Franka Emika产品的身影。 为了进一步推动科研领域的发展,社区也贡献了许多开源项目,比如由Zichun Xu等人维护的一个强学习模拟环境库,该项目利用MuJoCo物理引擎和Franka操纵器构建了一系列实验场景,有助于加速新型控策略的研究进展[^3]。 ```python import gym from mujoco_py import load_model_from_path, MjSim, MjViewer # 加载包含Franka模型的XML文件路径 model = load_model_from_path('path_to_franka_mujoco_env.xml') sim = MjSim(model) viewer = MjViewer(sim) while True: sim.step() viewer.render() # 渲染每一帧的画面 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值