建立銷售訂單BAPI一些心得

2021-08-14 07:30:05 字數 1813 閱讀 3916

1.建立銷售訂單使用的bapi

bapi_salesorder_createfromdat2

但是 business object限制為 bus2032

使用fm:

data 

lv_objtype 

type 

oj_name .

ls_header

-sd_doc_cat為銷售訂單型別,即型別為:vbak-vbtyp

call 

function 

'sd_object_type_determine'

exporting

i_document_type 

= ls_header-sd_doc_cat

importing

e_business_object 

= lv_objtype

exceptions

others = 1

. 如果lv_objtype = bus2032

則可以使用bapi_salesorder_createfromdat2

如果其他的業務物件則使用fm: sd_salesdocument_create建立銷售訂單

2.關於銷售訂單的增強使用

引數 extensionin 

舉個例子,例如vbkd的資料  vbkd- traty

vbkd- trmtyp

大家應該可以看出來vbkd 資料中, 雖然分為vbeln posnr  但是一般只會使用vbeln欄位,posnr 為空,

此時,vbkd 資料 一般都可以在bapi引數

order_header_in 找到,但是vbkd-  

traty

卻在bapi 中沒有.

所以我們需要做增強.

首先 我們要確認使用 bape_vbak 和bape_vbakx兩個結構

ls_bapiparex-

structure 

= 'bape_vbak'

.ls_bape_vbak-traty 

= ls_bapisdhd1_vbkd-traty.

ls_bape_vbak-vsart 

= ls_bapisdhd1_vbkd-vsart.

ls_bape_vbak-trmtyp 

= ls_bapisdhd1_vbkd-trmtyp.

ls_bape_vbak-sdabw 

= ls_bapisdhd1_vbkd-sdabw.

ls_bapiparex-valuepart1 

= ls_bape_vbak.

ls_bapiparex 

to et_bapiparex.

ls_bapiparex-

structure 

= 'bape_vbakx'

.ls_bape_vbakx-traty 

= cns_x.

ls_bape_vbakx-vsart 

= cns_x.

ls_bape_vbakx-trmtyp 

= cns_x.

ls_bape_vbakx-sdabw 

= cns_x.

ls_bapiparex-valuepart1 

= ls_bape_vbakx.

其次:vbakkoz 需要增加traty . vbakkozx 也新增相應的控制欄位traty type bapiupdate

然後請注意,

order_header_inx-updateflag = space . !! 這點很重要.詳細邏輯請找:

se38:fv45kfak_vbak_fuellen_vbakkom

EffectiveC 一些心得

effective c 也看了好多遍了,但一直走馬觀花的看,不久就忘了,最近想重拾起來寫點心得,3.11 resource management 首先是智慧型指標 在c 11之前auto ptr是智慧型指標的主流,滿足raii的所有要求。raii的概念其實也不難 下面大段抄襲概念 raii是c 的發...

IOCP的一些心得

iocp的工作執行緒的個數一般設定為processors 2 2,這是綜合考慮了工作執行緒可能是等待 掛起 正在執行的狀態。如果你測試出更好的結果,以你的為標準。iocp的工作執行緒由系統排程和優化,不要去干預執行緒的排程,除非你自信能超越系統的排程。在遇到奇怪的問題時,可以嘗試減少iocp工作執行...

Qt 的一些心得

一.背景刷成黑色,前景色設為白色。方法一 paltette方式,經測試,該方法不會影響到其他控制項,推薦使用 qpalette bgpal palette bgpal.setcolor qpalette background,qcolor 0,0 0,255 qpalette background,...