BAPI_PO_CREATE1中的条件

2020-08-25 10:50发布

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

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


大家好:

我想在调用" BAPI_PO_CREATE1"时更改条件中的货币。 代码如下:

清除t_po_condition。

t_po_condition-ITM_NUMBER = v_poitem * 10."项目编号

t_po_condition-COND_TYPE ='PBXX'。 "条件类型

t_po_condition-COND_VALUE = SEQ_FILEH-NETPR。 "条件值

t_po_condition-CURRENCY = SEQ_FILEH-WAERS。

t_po_condition-COND_P_UNT = SEQ_FILEH-PEINH。

t_po_condition-CHANGE_ID ='I'。

APPEND t_po_condition。

当我将t_po_condition-CHANGE_ID设置为" I"时(插入模式)。 它运作良好。 但是在创建的po中,将有两个条件类型为" PBXX"的项目。

如果我将t_po_condition-CHANGE_ID设置为" U"。(修改模式)。

出现错误"净价必须大于0"。

在线等待您的建议。

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

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


大家好:

我想在调用" BAPI_PO_CREATE1"时更改条件中的货币。 代码如下:

清除t_po_condition。

t_po_condition-ITM_NUMBER = v_poitem * 10."项目编号

t_po_condition-COND_TYPE ='PBXX'。 "条件类型

t_po_condition-COND_VALUE = SEQ_FILEH-NETPR。 "条件值

t_po_condition-CURRENCY = SEQ_FILEH-WAERS。

t_po_condition-COND_P_UNT = SEQ_FILEH-PEINH。

t_po_condition-CHANGE_ID ='I'。

APPEND t_po_condition。

当我将t_po_condition-CHANGE_ID设置为" I"时(插入模式)。 它运作良好。 但是在创建的po中,将有两个条件类型为" PBXX"的项目。

如果我将t_po_condition-CHANGE_ID设置为" U"。(修改模式)。

出现错误"净价必须大于0"。

在线等待您的建议。

付费偷看设置
发送
5条回答
灬番茄
1楼 · 2020-08-25 10:58.采纳回答

HI

这是SAP中两个订单项的默认设置

条件记录中的

将显示。 虽然一个

是活动的,其他将不活动。 您可以

通过颜色区分,活跃的将是蓝色

颜色。

仅当存在条件记录

时才会发生

组合,如果找不到条件记录,那么您

只会看到一个条目。

希望这可以澄清您。

亲切问候

Eswar

Climb_Ma
2楼-- · 2020-08-25 11:23
我也遇到了以下代码解决的相同问题:


 * -------------------------------------------------  --------------------- *
 *标头级别数据
 * -------------------------------------------------  --------------------- *
   pohead-comp_code = gt_po_header-co_code。
   pohead-doc_type = gt_po_header-doc_type。
   pohead-creat_date = sy-datum。
   pohead供应商= gt_po_header供应商。
   pohead-purch_org = gt_po_header-purch_org。
   pohead-pur_group = gt_po_header-pur_group。
   pohead-langu = sy-langu。
   pohead-doc_date = sy-datum。
   pohead-pmnttrms = gt_po_header-pmnttrms。
   poheadx-comp_code = c_x。
   poheadx-doc_type = c_x。
   poheadx-creat_date = c_x。
   poheadx供应商= c_x。
   poheadx-langu = c_x。
   poheadx-purch_org = c_x。
   poheadx-pur_group = c_x。
   poheadx-doc_date = c_x。
   poheadx-pmnttrms = c_x。

 * -------------------------------------------------  --------------------- *
 *项目数据
 * -------------------------------------------------  --------------------- *
   item_no = gt_po_items-po_item。
   poitem-po_item = item_no。
   poitem-material = gt_po_items-material。
   poitem-plant = gt_po_items-plant。
   poitem-stge_loc = gt_po_items-store_loc。
   poitem-quantity = gt_po_items-quantity。
   poitem-tax_code = gt_po_items-tax_code。
   poitem-preq_no = gt_po_items-preq_no。
   poitem-preq_item = gt_po_items-preq_item。
   追加项目。

   poitemx-po_item = item_no。
   poitemx-po_itemx = c_x。
   poitemx-material = c_x。
   poitemx-plant = c_x。
   poitemx-stge_loc = c_x。
   poitemx-quantity = c_x。
   poitemx-tax_code = c_x。
   poitemx-item_cat = c_x。
   poitemx-acctasscat = c_x。
   poitemx-preq_no = c_x。
   poitemx-preq_item = c_x。
   附加poitemx。

 * -------------------------------------------------  --------------------- *
 *计划行级别数据
 * -------------------------------------------------  --------------------- *
   posched-po_item = item_no。
   posched-sched_line = 1。  " gt_po_item_schedules -s
   posched-del_datcat_ext = gt_po_item_schedules-del_datcat_ext。  "'D'。
   del_date = sy-datum + 1。
   将del_date写入posched-delivery_date。
   posched-deliv_time ='000001'。
   posched-quantity = gt_po_items-quantity。
   追加了APPEND。

   poschedx-po_item = item_no。
   poschedx-sched_line = 1。
   poschedx-po_itemx = c_x。
   poschedx-sched_linex = c_x。
   poschedx-del_datcat_ext = c_x。
   poschedx-delivery_date = c_x。
   poschedx数量= c_x。
   APPEND poschedx。

 * -------------------------------------------------  --------------------- *
 *帐户分配
 * -------------------------------------------------  --------------------- *
   wa_account-po_item = item_no。
   wa_account-gl_account = gt_po_item_account_assignment-g_l_acct。
   将wa_account附加到it_account。

   wa_accountx-po_item = item_no。
   wa_accountx-gl_account ='X'。
   将wa_accountx附加到it_accountx。

 * -------------------------------------------------  --------------------- *
 *条件记录
 * -------------------------------------------------  --------------------- *
   wa_pocond-itm_number = item_no。
   wa_pocond-cond_st_no ='001'。
   wa_pocond-cond_type ='PB00'。
   wa_pocond-cond_value ='100.00'。
   wa_pocond-conbaseval ='100.00'。
   wa_pocond-change_id ='U'。
   wa_pocond-calctypcon ='A'。
   wa_pocond-currency = gt_po_header-currency。
   wa_pocond-currenckey = gt_po_header-currency。
   wa_pocond-currency_iso = gt_po_header-currency。
   附加wa_pocond到it_pocond。

   wa_pocondx-itm_number = item_no。
   wa_pocondx-itm_numberx ='X'。
   wa_pocondx-cond_st_no ='001'。
   wa_pocondx-cond_st_nox ='X'。
   wa_pocondx-cond_type ='X'。
   wa_pocondx-cond_value ='X'。
   wa_pocondx-conbaseval ='X'。
   wa_pocondx-change_id ='X'。
   wa_pocondx-calctypcon ='X'。
   wa_pocondx-currency ='X'。
   wa_pocondx-currenckey ='X'。
   wa_pocondx-currency_iso ='X'。
   将wa_pocondx附加到it_pocondx。

   通话功能'BAPI_PO_CREATE1'
     出口
       poheader = pohead
       poheaderx = poheadx
       testrun =''
       no_price_from_po ='X'
     输入
       exppurchaseorder = ex_po_number
       expheader = exp_head
     桌子
       返回=返回
       有礼=有礼
       poitemx = poitemx
       时机=时机
       poschedulex = poschedx
       pocond = it_pocond
       pocondx = it_pocondx
       poaccount = it_account
       poaccountx = it_accountx。

   通话功能'BAPI_TRANSACTION_COMMIT'
     出口
       wait ='X'。
CJones
3楼-- · 2020-08-25 11:21

嗨,

如果要更新,则还需要传递POCONDX。

请参考以下主题:

BAPI_PO_CREATE1

最诚挚的问候,

农药

PS:请奖励所有有用的答案

Nir深蓝
4楼-- · 2020-08-25 11:13

Tks Eswar:

有效。

代码如下:

清除t_po_condition。

t_po_condition-ITM_NUMBER = v_poitem * 10."项目编号

t_po_condition-COND_TYPE ='PBXX'。 "条件类型

  • t_po_condition-COND_VALUE = SEQ_FILEH-NETPR。 "条件值

  • t_po_condition-CURRENCY = SEQ_FILEH-WAERS。

  • t_po_condition-COND_P_UNT = SEQ_FILEH-PEINH。

t_po_condition-CHANGE_ID ='D'。

APPEND t_po_condition。

清除t_po_condition。

t_po_condition-ITM_NUMBER = v_poitem * 10."项目编号

t_po_condition-COND_TYPE ='PBXX'。 "条件类型

t_po_condition-COND_VALUE = SEQ_FILEH-NETPR。 "条件值

t_po_condition-CURRENCY = SEQ_FILEH-WAERS。

t_po_condition-COND_P_UNT = SEQ_FILEH-PEINH。

t_po_condition-CHANGE_ID ='I'。

APPEND t_po_condition。

hengyuye
5楼-- · 2020-08-25 11:04

嗨,Prashant:

我已经设置了表POCONDX。

一周热门 更多>