посмотрите документацию к этому модулю, все не намного сложнее чем вызов kp06, только не забудьте поставить коммит после вызова...
Code:
DATA: ls_rep like line of gt_rep,
ld_rms TYPE STRING,
ls_HEADER_INFO LIKE BAPIPLNHDR,
lt_IDX_STRUCTURE TYPE TABLE OF BAPIACPSTRU,
lt_OBJECT TYPE TABLE OF BAPIPCPOBJ,
lt_PER_VALUE TYPE TABLE OF BAPIPCPVAL,
lt_TOT_VALUE TYPE TABLE OF BAPIPCPTOT,
lt_CONTRL TYPE TABLE OF BAPIPCPCTRL,
ls_IDX_STRUCTURE TYPE BAPIACPSTRU,
ls_OBJECT TYPE BAPIPCPOBJ,
* ls_PER_VALUE TYPE TABLE OF BAPIPCPVAL,
ls_TOT_VALUE TYPE BAPIPCPTOT.
* ls_CONTRL TYPE BAPIPCPCTRL.
DATA: lt_RETURN TYPE TABLE OF BAPIRET2.
ls_HEADER_INFO-CO_AREA = p_KOKRS.
ls_HEADER_INFO-FISC_YEAR = p_GJAHR.
ls_HEADER_INFO-PERIOD_FROM = p_PERBL.
ls_HEADER_INFO-PERIOD_TO = p_PERBL.
ls_HEADER_INFO-VERSION = p_VERSN.
ls_HEADER_INFO-DOC_HDR_TX = p_BLTXT.
ls_HEADER_INFO-PLAN_CURRTYPE = p_CURTP.
LOOP AT gt_rep INTO ls_rep .
ls_IDX_STRUCTURE-OBJECT_INDEX = ls_rep-row.
ls_IDX_STRUCTURE-VALUE_INDEX = ls_rep-row.
ls_IDX_STRUCTURE-ATTRIB_INDEX = space.
APPEND ls_IDX_STRUCTURE TO lt_IDX_STRUCTURE.
ls_OBJECT-OBJECT_INDEX = ls_rep-row.
ls_OBJECT-COSTCENTER = ls_rep-COSTCENTER.
ls_OBJECT-ACTTYPE = ls_rep-ACTTYPE.
ls_OBJECT-CO_BUSPROC = ls_rep-CO_BUSPROC.
ls_OBJECT-ORDERID = ls_rep-ORDERID.
ls_OBJECT-WBS_ELEMENT = ls_rep-WBS_ELEMENT.
APPEND ls_OBJECT TO lt_OBJECT.
ls_TOT_VALUE-VALUE_INDEX = ls_rep-row.
ls_TOT_VALUE-COST_ELEM = ls_rep-COST_ELEM.
ls_TOT_VALUE-FIX_VALUE = ls_rep-FIX_VALUE.
ls_TOT_VALUE-DIST_KEY_FIX_VAL = '2'.
ls_TOT_VALUE-VAR_VALUE = ls_rep-VAR_VALUE.
ls_TOT_VALUE-DIST_KEY_VAR_VAL = '2'.
APPEND ls_TOT_VALUE TO lt_TOT_VALUE.
ENDLOOP.
CALL FUNCTION 'BAPI_PRIM_COST_CHECK_AND_POST'
EXPORTING
HEADER_INFO = ls_HEADER_INFO
TESTRUN = li_test
* DELTA = DELTA
TABLES
IDX_STRUCTURE = lt_IDX_STRUCTURE
OBJECT = lt_OBJECT
PER_VALUE = lt_PER_VALUE
TOT_VALUE = lt_TOT_VALUE
CONTRL = lt_CONTRL
RETURN = lt_RETURN.
IF li_test IS INITIAL.
COMMIT WORK AND WAIT.
...