功能位置的更新特征-线性数据

2020-08-14 15:21发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在寻找将在功能位置(如IL02)创建/更新特征的确切BAPI。 我正在使用BAPI-BAPI_OBJCL_CREATE和BAPI_OBJCL_CHANGE,但它们均无法正常工作。 使用CREATE BAPI,它实际上从表EAML_D_AUSP_LFE中删除记录,而CHANGE BAPI从AUSP表中删除记录。

如果有人实施了相同的要求,请帮助我。

赞赏快速的反应。

此致

尼丁

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在寻找将在功能位置(如IL02)创建/更新特征的确切BAPI。 我正在使用BAPI-BAPI_OBJCL_CREATE和BAPI_OBJCL_CHANGE,但它们均无法正常工作。 使用CREATE BAPI,它实际上从表EAML_D_AUSP_LFE中删除记录,而CHANGE BAPI从AUSP表中删除记录。

如果有人实施了相同的要求,请帮助我。

赞赏快速的反应。

此致

尼丁

付费偷看设置
发送
2条回答
绿领巾童鞋
1楼-- · 2020-08-14 15:48

你好,

您的测试代码带有功能模块。

这是玛拉的特征。

也许可以帮助您。

最好的问候

蒂埃里

报告zztr_set_classif。

 数据w_num类型bapi1003_key-object_guid。
 数据wl_object类型bapi1003_key对象。
 数据:w_table类似于bapi1003_key-objecttable,
        w_classt类似于bapi1003_key-classtype。
 DATA wt_ret TYPE bapiret2发生0。
 数据wa_ret类型bapiret2。

 w_table ='MARA'。
 w_classt ='001'。
 wl_object ='000000000000355881'。
 * Permet d'affecter l'articleà分类
 通话功能'BAPI_OBJCL_GET_KEY_OF_OBJECT'
   出口
     对象名= wl_object
     对象表= w_table
     classtype = w_classt
     create_missing_key ='X'
   输入
     clobjectkeyout = w_num
   桌子
     返回= wt_ret。

 提交工作并等待。

 通话功能'BAPI_OBJCL_CREATE_KEY'
   出口
     clobjectkey_new = w_num
     classnum_new ='M'
     状态=" 1"
     standardclass =''
   桌子
     返回= wt_ret。

 调用功能" BAPI_TRANSACTION_COMMIT"。


 读取表wt_ret INTO wa_ret INDEX 1。
 * Cart erreur意义上的经典之作
 如果wa_ret-type ='E'并且wa_ret-number <>'731'。
   带有wl_object'err'wa_ret-number wa_ret-message的消息i112(zm)。
 万一。

 *** Clubation LA LA ACERTERIQUE D'UNE CLASSE SUR UN OBJET MARA

 带有标题行的bapi1003_alloc_values_char的数据wt_val_char类型表。
 带有标题行的bapi1003_alloc_values_num的数据wt_val_new类型表。
 带有标题行的bapi1003_alloc_values_curr的数据wt_val_cur类型表。

 DATA w_alloclist类似于bapi1003_alloc_list OCCURS 0。

 通话功能'BAPI_OBJCL_GETCLASSES'
     出口
       objectkey_imp ='000000000000355881'
       objecttable_imp = w_table
       classtype_imp = w_classt
       read_valuations ='M'
 * KEYDATE = SY-DATUM
 *语言= SY-LANGU
     桌子
       分配列表= w_alloclist
       allocvalueschar = wt_val_char
       allocvaluescurr = wt_val_cur
       allocvaluesnum = wt_val_new
       返回= wt_ret。

 数据vl_value(1)。
 vl_value ='_'。

 如果vl_value ='_'。
   使用KEY charact ='CRITIC_TECH'读取表wt_val_char。
   如果sy-subrc = 0。
     删除wt_val_char索引sy-tabix。
   万一。
   其他。
   wt_val_char-charact ='CRITIC_TECH'。
   wt_val_char-value_char = vl_value。
   wt_val_char-value_neutral =''。
   wt_val_char-charact_descr =''。
   APPEND wt_val_char。
 万一。

 通话功能'BAPI_OBJCL_CHANGE'
   出口
     objectkey ='000000000000355881'
     对象表= w_table
     classnum ='M'
     classtype = w_classt
     状态=" 1"
     关键日期= sy-datum
   桌子
     allocvaluesnumnew = wt_val_new
     allocvaluescharnew = wt_val_char
     allocvaluescurrnew = wt_val_cur
     返回= wt_ret。

 调用功能" BAPI_TRANSACTION_COMMIT"。

 读取表wt_ret INTO wa_ret INDEX 1。
 如果wa_ret-type ='E'并且wa_ret-number <>'731'。
 *带w_matnr的消息i123(zm)。
 ENDIF。
派大星 ヾ
2楼-- · 2020-08-14 15:45

感谢蒂埃里的建议。 我找到了解决方法。

干杯

尼丁

一周热门 更多>