Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

FI-CO posting

Former Member
0 Likes
449

Hi

I am trying to post data into Funds Management Budgeting from BIW. The report is showing that no errors occurred but no data is being posted into funds management.

The doc number is being created, and the header is created correctly but line items are not posted.

also manually testing the Bapi, i am getting the same results

&----


*& Report Z_POST_CO_DATA3

*&

&----


*&

*&

&----


REPORT z_post_co_data2.

PARAMETERS fiscyear(4).

PARAMETERS pfund LIKE rgsbm-shortname.

PARAMETERS fndctr(10).

PARAMETERS farea(15).

TYPE-POOLS : rs,rsdrc.

TYPE-POOLS: rs, rsdrc.

TYPES: BEGIN OF gt_s_data,

0fiscper3(3) TYPE n,

0fund type BP_GEBER,

0funds_ctr type FISTL,

0cmmt_item type FM_FIPEX,

0func_area type FKBER,

0version type BUKU_VERSION,

0fm_amount1 type p decimals 2,

0fm_amount2 type p decimals 2,

0amount type p decimals 2,

0fiscyear(4) type n,

END OF gt_s_data.

DATA: g_s_sfc TYPE rsdri_s_sfc,

g_th_sfc TYPE rsdri_th_sfc,

g_s_range TYPE rsdri_s_range,

g_th_range TYPE rsdri_t_range,

g_s_sfk TYPE rsdri_s_sfk,

g_th_sfk TYPE rsdri_th_sfk,

g_t_sfc TYPE rsdri_t_sfc,

g_t_sfk TYPE rsdri_t_sfk,

g_t_rfcdata TYPE rsdri_t_rfcdata,

e_t_field TYPE rsdp0_t_field,

g_t_data TYPE STANDARD TABLE OF gt_s_data,

g_s_data TYPE gt_s_data.

DATA: g_end_of_data TYPE rs_bool,

g_first_call TYPE rs_bool.

DATA wa TYPE gt_s_data.

DATA : header_data LIKE bapi_0050_header.

DATA : item_data LIKE bapi_0050_item OCCURS 0 WITH HEADER LINE.

DATA : period_data LIKE bapi_0050_period OCCURS 0 WITH HEADER LINE.

DATA : g_t_data2 TYPE STANDARD TABLE OF gt_s_data WITH HEADER LINE.

DATA : return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.

DATA : count TYPE i VALUE 1.

DATA : is_return_comm LIKE bapiret2.

g_end_of_data = rs_c_false.

g_first_call = rs_c_true.

PERFORM insert_characteristics.

*

*

o Insert Key Figures

PERFORM insert_keyfigures.

*

*

o Read the infocube

PERFORM read_infocube_records.

*

PERFORM sort_data.

  • populate header

PERFORM populate_header.

*pupulate items

PERFORM populate_items.

PERFORM post_data.

SKIP.

LOOP AT return.

WRITE 😕 return-type,

2 return-id,

22 return-number,

25 return-message.

ENDLOOP.

&----


*& Form insert_characteristics

&----


  • text

-


FORM insert_characteristics .

CLEAR g_th_sfc.

CLEAR g_s_sfc.

g_s_sfc-chanm = '0FISCPER3'.

g_s_sfc-chaalias = '0FISCPER3'.

g_s_sfc-orderby = 0.

INSERT g_s_sfc INTO TABLE g_th_sfc.

CLEAR g_s_sfc.

g_s_sfc-chanm = '0FUND'.

g_s_sfc-chaalias = '0FUND'.

g_s_sfc-orderby = 0.

INSERT g_s_sfc INTO TABLE g_th_sfc.

CLEAR g_s_sfc.

g_s_sfc-chanm = '0FUNDS_CTR'.

g_s_sfc-chaalias = '0FUNDS_CTR'.

g_s_sfc-orderby = 0.

INSERT g_s_sfc INTO TABLE g_th_sfc.

CLEAR g_s_sfc.

g_s_sfc-chanm = '0CMMT_ITEM'.

g_s_sfc-chaalias = '0CMMT_ITEM'.

g_s_sfc-orderby = 0.

INSERT g_s_sfc INTO TABLE g_th_sfc.

CLEAR g_s_sfc.

g_s_sfc-chanm = '0VERSION'.

g_s_sfc-chaalias = '0VERSION'.

g_s_sfc-orderby = 0.

INSERT g_s_sfc INTO TABLE g_th_sfc.

CLEAR g_s_sfc.

g_s_sfc-chanm = '0FUNC_AREA'.

g_s_sfc-chaalias = '0FUNC_AREA'.

g_s_sfc-orderby = 0.

INSERT g_s_sfc INTO TABLE g_th_sfc.

  • 0FISCALYEAR

CLEAR g_s_sfc.

g_s_sfc-chanm = '0FISCYEAR'.

g_s_sfc-chaalias = '0FISCYEAR'.

g_s_sfc-orderby = 0.

INSERT g_s_sfc INTO TABLE g_th_sfc.

ENDFORM. " insert_characteristics

*

*&----


**& Form insert_keyfigures

*&----


*

o text

*----


*

o --> p1 text

o <-- p2 text

*----


FORM insert_keyfigures .

CLEAR g_th_sfk.

CLEAR g_s_sfk.

g_s_sfk-kyfnm = '0FM_AMOUNT1'.

g_s_sfk-kyfalias = '0FM_AMOUNT1'.

g_s_sfk-aggr = 'SUM'.

INSERT g_s_sfk INTO TABLE g_th_sfk.

CLEAR g_th_sfk.

g_s_sfk-kyfnm = '0FM_AMOUNT2'.

g_s_sfk-kyfalias = '0FM_AMOUNT2'.

g_s_sfk-aggr = 'SUM'.

INSERT g_s_sfk INTO TABLE g_th_sfk.

CLEAR g_s_sfk.

g_s_sfk-kyfnm = '0AMOUNT'.

g_s_sfk-kyfalias = '0AMOUNT'.

g_s_sfk-aggr = 'SUM'.

INSERT g_s_sfk INTO TABLE g_th_sfk.

ENDFORM. " insert_keyfigures

&----


*& Form read_infocube_records

&----


  • text

-


FORM read_infocube_records.

CALL FUNCTION 'RSDRI_INFOPROV_READ'

EXPORTING

i_infoprov = 'ZGRZ_PBU2'

i_th_sfc = g_th_sfc

i_th_sfk = g_th_sfk

i_t_range = g_th_range

  • I_TH_TABLESEL =

  • I_T_RTIME =

i_reference_date = sy-datum

i_rollup_only = ' '

  • I_T_REQUID =

  • I_SAVE_IN_TABLE = ' '

  • I_TABLENAME =

  • I_SAVE_IN_FILE = ' '

  • I_FILENAME =

i_packagesize = ' '

i_maxrows = 0

i_authority_check = rsdrc_c_authchk-read

i_currency_conversion = ' '

i_use_db_aggregation = ' '

i_use_aggregates = ' '

i_read_ods_delta = ' '

  • I_CALLER = RSDRS_C_CALLER-RSDRI

  • I_DEBUG = RS_C_FALSE

  • I_CLEAR = RS_C_FALSE

IMPORTING

e_t_data = g_t_data

e_end_of_data = g_end_of_data

  • E_AGGREGATE =

  • E_SPLIT_OCCURRED =

  • E_T_MSG =

CHANGING

c_first_call = g_first_call

EXCEPTIONS

illegal_input = 1

illegal_input_sfc = 2

illegal_input_sfk = 3

illegal_input_range = 4

illegal_input_tablesel = 5

no_authorization = 6

illegal_download = 7

illegal_tablename = 8

trans_no_write_mode = 9

inherited_error = 10

x_message = 11

OTHERS = 12.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WRITE : sy-subrc.

ENDIF.

ENDFORM. "read_infocube_records

FORM populate_header .

CLEAR header_data.

header_data-fm_area = 'GRZ'.

header_data-version = '000'.

header_data-docdate = sy-datum.

  • header_data-pstng_date = sy-datum.

header_data-doctype = 'GRZR'.

header_data-docstate = '10'.

header_data-process = 'ENTR'.

  • header_data-external_number =

ENDFORM. " populate_header

&----


*& Form POPULATE_ITEMS

&----


  • text

-


FORM populate_items .

LOOP AT g_t_data2 INTO wa.

item_data-item_num = count.

item_data-fisc_year = wa-0fiscyear.

item_data-budcat = '9G'.

item_data-budtype = 'GZR1'.

item_data-fund = wa-0fund.

item_data-funds_ctr = wa-0funds_ctr.

item_data-cmmt_item = wa-0cmmt_item.

item_data-func_area = wa-0func_area.

*item_data-MEASURE =

*item_data-GRANT_NBR =

item_data-trans_curr = 'ZMK'.

*item_data-TRANS_CURR_ISO =

  • item_data-total_amount = wa-0fm_amount2.

  • item_data-distkey = '1'.

*item_data-ITEM_TEXT =

item_data-valtype = 'R1'.

*item_data-CASH_YEAR =

*************************************************************

period_data-ITEM_NUM = count.

period_data-budgeting_period = wa-0fiscper3.

period_data-period_amount = wa-0fm_amount2.

APPEND period_data.

APPEND item_data.

ADD 1 TO count.

ENDLOOP.

ENDFORM. " POPULATE_ITEMS

&----


*& Form SORT_DATA

&----


  • text

-


  • --> p1 text

  • <-- p2 text

-


FORM sort_data .

LOOP AT g_t_data INTO wa.

  • IF wa-0fiscper3 NE '000' AND wa-0version NE '000' AND wa-0fm_amount2 GE 0 AND wa-0fund IS NOT INITIAL AND wa-0fiscyear EQ fiscyear and wa-0fund = pfund.

IF wa-0fiscper3 NE '000' AND wa-0version NE '000' AND wa-0fm_amount2 GE 0

AND wa-0fund IS NOT INITIAL AND wa-0fiscyear EQ fiscyear AND wa-0fund = pfund AND wa-0funds_ctr = fndctr AND wa-0func_area = farea .

MOVE-CORRESPONDING wa TO g_t_data2.

APPEND g_t_data2.

ENDIF.

ENDLOOP.

ENDFORM. " SORT_DATA

&----


*& Form POST_DATA

&----


  • text

-


  • --> p1 text

  • <-- p2 text

-


FORM post_data .

  • BREAK-POINT.

CALL FUNCTION 'BAPI_0050_CREATE'

EXPORTING

  • LANGUAGE = ' '

header_data = header_data

  • HEADER_DATA_ADD =

testrun = ' '

  • IMPORTING

  • FMAREA =

  • DOCUMENTYEAR =

  • DOCUMENTNUMBER =

TABLES

item_data = item_data

  • SENDER_ITEM_DATA =

PERIOD_DATA = period_data

  • SENDER_PERIOD_DATA =

  • LONG_TEXT =

  • EXTENSION_IN =

return = return

.

IF sy-subrc = 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = '5'

IMPORTING

return = is_return_comm.

WRITE : / 'Bapi Successful'.

ELSE.

WRITE : / 'Bapi Not Successful', sy-subrc.

ENDIF.

ENDFORM. " POST_DATA

Edited by: Alvaro Tejada Galindo on Mar 18, 2008 6:11 PM

1 REPLY 1
Read only

Former Member
0 Likes
387

try to uncomment these

  • item_data-total_amount = wa-0fm_amount2.

  • item_data-distkey = '1'.