通过PR创建PO时更改Item_Text

2020-09-30 01:20发布

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

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


尊敬的专家,

我有一种情况,每当用户创建并保存PO时,都需要更改PO的项目文本。
当用户通过采用PR创建PO时出现问题,这也导致项目文本也从PR中采用,并且我可以 不能通过ABAP即时更改它(但是当它已经保存为PO的项目文本并在以后进行编辑时会成功)。


我尝试使用FM SAVE_TEXT和if_longtexts_mm〜set_text失败。

//使用Save_Text
 并入lv_ebeln lv_ebelp INTO ls_header-tdname。
 ls_header-tdid ='F90'。
 ls_header-tdobject ='EKPO'。
 ls_header-tdspras ='EN'。

 刷新:li_lines。
 ls_line-tdline = lv_color。
 APPEND ls_line至li_lines。

 通话功能" SAVE_TEXT"
   出口
     标头= ls_header
     savemode_direct ='X'
   桌子
     行= li_lines。
 
//使用对象的save_text
 li_item = im_header-> get_items()。
 循环到li_item INTO ls_item。
   ls_textlines-tdid ='F90'。
   ls_textlines-tdobject ='EKPO'。
   ls_textlines-tdformat ='*'。
   ls_textlines-tdline = gw_color_temp-color。
   附加ls_textlines至li_textlines。

   呼叫方法ls_item-item-> if_longtexts_mm〜set_text
     出口
       im_tdid ='F90'
       im_textlines = li_textlines。
 结局。
 


请提出我可以在这种情况下使用的其他方法。
非常感谢。

po-1.jpg (202.3 kB)

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

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


尊敬的专家,

我有一种情况,每当用户创建并保存PO时,都需要更改PO的项目文本。
当用户通过采用PR创建PO时出现问题,这也导致项目文本也从PR中采用,并且我可以 不能通过ABAP即时更改它(但是当它已经保存为PO的项目文本并在以后进行编辑时会成功)。


我尝试使用FM SAVE_TEXT和if_longtexts_mm〜set_text失败。

//使用Save_Text
 并入lv_ebeln lv_ebelp INTO ls_header-tdname。
 ls_header-tdid ='F90'。
 ls_header-tdobject ='EKPO'。
 ls_header-tdspras ='EN'。

 刷新:li_lines。
 ls_line-tdline = lv_color。
 APPEND ls_line至li_lines。

 通话功能" SAVE_TEXT"
   出口
     标头= ls_header
     savemode_direct ='X'
   桌子
     行= li_lines。
 
//使用对象的save_text
 li_item = im_header-> get_items()。
 循环到li_item INTO ls_item。
   ls_textlines-tdid ='F90'。
   ls_textlines-tdobject ='EKPO'。
   ls_textlines-tdformat ='*'。
   ls_textlines-tdline = gw_color_temp-color。
   附加ls_textlines至li_textlines。

   呼叫方法ls_item-item-> if_longtexts_mm〜set_text
     出口
       im_tdid ='F90'
       im_textlines = li_textlines。
 结局。
 


请提出我可以在这种情况下使用的其他方法。
非常感谢。

po-1.jpg (202.3 kB)
付费偷看设置
发送
4条回答
宇峰Kouji
1楼-- · 2020-09-30 01:54

您的功能模块正在更新数据库,但是,当您创建采购订单时,文本尚未保存到数据库中,这将在用户单击保存后发生,因此您无法在其中进行更新。

为什么该字段完全变灰? 这不是SAP标准。

当学会了学习
2楼-- · 2020-09-30 02:07

感谢您的答复。

实际上我已禁用了该字段,这正是我需要即时更新它的原因。我们已经创建了一个客户字段(在"客户数据"选项卡上),并且用户需要选择"固定"文本
虽然用户可以在PR上编写任何内容,但是一旦它成为PO,我需要将其更改为固定的内容。

关于何时保存文本,实际上我还将该代码(FM Save_Text)放在了BADI ME_PROCESS_PO_CUST〜检查/发布/关闭上,但是如果它是从PR中采用的,则仍然无法更改。

还有其他方法吗?
谢谢。

xfwsx85
3楼-- · 2020-09-30 02:11

您可以检查" F90" ID文本的自定义规则吗? 您的公司/客户是否从某些PR文本的"文本链接"的"定义项目文本的复制规则"的"修复"字段的"固定"字段中设置了" N"或" *",所以如果文本为" N",则不能更改文本,或者 如果必须使用'*',则必须首先采用文本。

问候,
Raymond

N-Moskvin
4楼-- · 2020-09-30 02:10

嗨Raymond,

根据我对Jurgen的解释,实际上我已经阻止用户输入任何内容,而是创建了一个Customer字段(在Customer Data选项卡上),并且用户需要在下拉列表中选择"固定"文本
虽然用户可以在PR上编写任何内容,但一旦成为PO,我需要将其更改为固定的内容。

并且需要这种定制,因为有许多类型的PO允许用户写任何东西,但是在某些类型的PO上(像这样),我们需要用户从下拉列表中选择,我将替换文本 之后/进行中。

所以它不是关于灰色的字段,而是有关如果PO采用PR的话,我无法替代的文本。(
对于造成的混乱,我们深表歉意:)

一周热门 更多>