最近在做一个CO的项目,用到了 BAPI_COPAACTUALS_POSTCOSTDATA FM,按照这个FM所要的参数全部给定后,总是生成2条凭证,这样的话,就不符合需求了。我们这边的需求是,用这个FM重过帐。也就是以前会存在CO凭 证,只是以前的凭证不太符合分摊的要求,需要完善凭证,才用到了这个FM,这样就会出现问题啦!比如以前只存在经营组织货币或公司代码货币,仅有一种类型 的货币凭证。直接使用以上FM产生凭证会生成2条凭证,经过DEBUG这个FM,终于发现了,还需要一个参数来限制产生的定制的货币类型的凭证。
VALUTYP 为00 的时候,会产生2种凭证类型的凭证
VALUTYP 为05 的时候,会产生经营组织货币的凭证
VALUTYP 为06 的时候,会产生公司代码货币的凭证
PERFORM frm_fill_data USING:
'VALUTYP' '00'.
FORM frm_fill_data USING f_1 v_1.
CHECK v_1 IS NOT INITIAL.
gt_ipdt-record_id = '000001'.
gt_ipdt-fieldname = f_1.
gt_ipdt-value = v_1.
IF gt_dfie-datatype = 'CURR'.
gt_ipdt-currency = 'RMB'. "GT_KE21N-MSEHI.
ENDIF.
APPEND gt_ipdt.
**
gt_fdlt-fieldname = gt_ipdt-fieldname.
APPEND gt_fdlt.
CLEAR:gt_ipdt,gt_fdlt.
ENDFORM. " frm_fill_data