IBASE write buffer
Created by Jerry Wang, last modified on Apr 22, 2014
使用如下report 測試IBASE write buffer:
PARAMETERS:?id?TYPE?ibap_head1-ibase?OBLIGATORY?DEFAULT?'3314',
????????????txt?TYPE?ibib1-extid?OBLIGATORY?DEFAULT?'c?by?code'.
DATA:?ls_ibib???????????TYPE?ibib1,
???????ls_header?????????TYPE?ibap_head1,
????????ls_ibibt??????????TYPE?ibibt1.
ls_header-ibase?=?'3314'.
?CALL?FUNCTION?'CRM_IBASE_GET_DETAIL'
????EXPORTING
??????i_ibase_head??=?ls_header
??????i_level_down??=?1
????IMPORTING
??????e_ibib1???????=?ls_ibib
??????e_ibibt1??????=?ls_ibibt
????EXCEPTIONS
??????not_specified?=?1
??????doesnt_exist??=?2
??????no_authority??=?3
??????OTHERS????????=?4.
?assert?sy-subrc?=?0.
?ls_ibib-extid?=?txt.
?CALL?FUNCTION?'CRM_IBASE_CHANGE'
????EXPORTING
??????i_ibase_head????????=?ls_header
??????i_ibib1?????????????=?ls_ibib
??????i_ibibt1????????????=?ls_ibibt
????EXCEPTIONS
??????data_not_consistent?=?1
??????ibase_locked????????=?2
??????not_succesful???????=?3
??????no_authority????????=?4
??????OTHERS??????????????=?5.
?case?sy-subrc.
??WHEN?0.
?????WRITE:?/?'change?successful'?COLOR?COL_GROUP.
??WHEN?1.
?????WRITE:?/?'data?not?consistent'?COLOR?COL_NEGATIVE.
??WHEN?2.
?????WRITE:?/?'IBASE?locked'?COLOR?COL_NEGATIVE.
??WHEN?3.
?????WRITE:?/?'change?failed'?COLOR?COL_NEGATIVE.
??WHEN?4.
?????WRITE:?/?'no?authorization'?COLOR?COL_NEGATIVE.
?ENDCASE.
?
執行report:
?
首先從DB讀取IBASE header 內容,填充read buffer. 此時write buffer( PROC_TAB )為空: ?
?
此處將最新的change 插入到write buffer:
?
read buffer的數據來自DB, external ID為空:
?
write buffer的值是report 傳入的最新的external ID:
?
function group IBIBF里的function module執行完畢之后的buffer狀態:
?
?
?
?
總結
以上是生活随笔為你收集整理的IBASE write buffer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 巴菲特:ChatGPT 确实厉害,但不确
- 下一篇: IBASE 不能被编辑