CK11,CK11N 成本估算数据读取
CK11,CK11N 成本估算數據讀取
CK11 數據讀取
在程序使用中有時需要臨時取成本估計的過程結果數據,此時的估算數據尚未保存至數據庫,無法通過函數CK_F_CSTG_STRUCTURE_EXPLOSION 取得,可使用CK_F_MATERIAL_CALC進行先計算出中間結果,再經過相應轉換可得出相要的結果。
以下是步驟展示:
第一步:使用CK_F_MATERIAL_CALC 計算中間結果
第二步:使用類cl_costing_persistence方法 costing_read_simple 轉換明細數據
第三步:對明細結果進行第二步循環,展出整個成本結果數據。
單層讀取樣例如下(程序可直接運行):
REPORT zcf_ck11.
PARAMETERS:
? klvar??? LIKE? keko-klvar???????? DEFAULT??????????? 'OP01',
? matnr??? LIKE? mara-matnr???????? DEFAULT???????????? '404014305000',
? werks??? LIKE? marc-werks???????? DEFAULT????????????? '8100',
*LOSGR? LIKE? KEKO-LOSGR
? tvers??? LIKE? keko-tvers? DEFAULT '01',
*STLAN? LIKE? CKI64A-STLAN
*STALT? LIKE? CKI64A-STALT
*PLNTY? LIKE? CKI64A-PLNTY
*PLNNR? LIKE? CKI64A-PLNNR
*PLNAL? LIKE? CKI64A-PLNAL
? kadat??? LIKE? cki64a-kadat?? DEFAULT sy-datum,
*BIDAT? LIKE? CKI64A-BIDAT
*ALDAT? LIKE? CKI64A-ALDAT
? bwdat??? LIKE? cki64a-bwdat?????????????????????? DEFAULT sy-datum,
*UEBID? LIKE? CKI64A-UEBID
*KALNR_BA LIKE? CKI64A-KALNR_BA
*KALSM? LIKE? KEKO-KALSM
? s_dunkel TYPE? c DEFAULT 'X',
? s_update TYPE? c DEFAULT 'S'.
*? s_no_commit TYPE? c defult 'X'.
*S_REPETITIVE TYPE? C SPACE
*S_SNGL_LOCK? TYPE? C 'X'
*U_KALSM? TYPE? XFELD SPACE
DATA: f_keko_exp? LIKE? keko.
DATA: t_keph_exp? LIKE? keph OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'CK_F_MATERIAL_CALC'
EXPORTING
??? klvar????????? = 'OP01'
??? matnr????????? = matnr
??? werks????????? = werks
*?? LOSGR????????? =
??? tvers????????? = tvers
*?? STLAN????????? =
*?? STALT????????? =
*?? PLNTY????????? =
*?? PLNNR????????? =
*?? PLNAL????????? =
??? kadat????????? = kadat
*?? BIDAT????????? =
*?? ALDAT????????? =
??? bwdat????????? = bwdat
*?? UEBID????????? =
*?? KALNR_BA?????? =
*?? KALSM????????? =
??? s_dunkel?????? = s_dunkel
??? s_update?????? = s_update
??? s_no_commit??? = 'X'
*?? S_REPETITIVE?? = ' '
*?? S_SNGL_LOCK??? = 'X'
*?? U_KALSM??????? = ' '
IMPORTING
??? f_keko_exp???? = f_keko_exp
TABLES
??? t_keph_exp???? = t_keph_exp
EXCEPTIONS
??? wrong_call???? = 1
??? keph_not_found = 2
??? locked???????? = 3
OTHERS???????? = 4.
DATA: g_persistence_manager TYPE REF TO cl_costing_persistence.
IF g_persistence_manager IS INITIAL.
CALL METHOD cl_costing_persistence=>create
IMPORTING
????? ex_costing_persistence = g_persistence_manager.
ENDIF.
DATA: l_ckkekokey TYPE ckkekokey.
DATA: l_itemization TYPE kkek0_uc.
DATA: l_ccs?????? TYPE ckf_keko_keph.
MOVE-CORRESPONDING f_keko_exp TO l_ckkekokey.
CALL METHOD g_persistence_manager->costing_read_simple
EXPORTING
??? im_kekokey???? = l_ckkekokey
??? im_read_mode?? = '0' "all locations
IMPORTING
??? ex_itemization = l_itemization
??? ex_ccs???????? = l_ccs.
高度中可查看到L_ITEMIZATION-T_KIS1就是我們想要的結果
總結
以上是生活随笔為你收集整理的CK11,CK11N 成本估算数据读取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Button简介
- 下一篇: 如何更改win7系统里面的文件夹背景色为