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

BAPI: bapi or RFC for t-code f-28

Former Member
0 Likes
616

Hi all,

can any one tell me bapi or rfc available for t-code f-28

please help me...

Regards,

devika G.

2 REPLIES 2
Read only

Former Member
0 Likes
553

Hi,

i dont think there is a BAPI for this Transaction...

you can do BDC on F-28

FORM fill_bdc_data_f-28_9005 USING p_i_mult_doc TYPE c.

**BDC from screen 9005

DATA : l_amt_bdc(13), l_amt_bdc_remain(13), l_amt_bdc_mult(13),

l_amt_bdc_mult_remain(13), l_assignment(14), l_period(2),

l_amount(13).

CLEAR t_bdcdata.

REFRESH t_bdcdata.

PERFORM bdc_dynpro USING 'SAPMF05A' '0103'.

PERFORM bdc_field USING 'BDC_OKCODE' '=AB'. "OK CODE - doc overview

**get user default date format and pass date in that format

PERFORM convert_date_to_user_format USING bkpf-bldat.

PERFORM bdc_field USING 'BKPF-BLDAT' w_date. "cheque date

CLEAR w_date.

PERFORM bdc_field USING 'BKPF-BLART' i_blart. "doc type

PERFORM bdc_field USING 'BKPF-BUKRS' i_bukrs. "comp code

**get user default date format and pass date in that format

PERFORM convert_date_to_user_format USING bkpf-budat.

PERFORM bdc_field USING 'BKPF-BUDAT' w_date. "posting date

CLEAR w_date.

l_period = sy-datum+4(2).

PERFORM bdc_field USING 'BKPF-MONAT' l_period. "period

PERFORM bdc_field USING 'BKPF-WAERS' 'INR'. "currency

PERFORM bdc_field USING 'BKPF-BKTXT' i_bankl. "doc. hdr. text

PERFORM bdc_field USING 'BKPF-XBLNR' i_xblnr. "Ref. Document No.

PERFORM bdc_field USING 'BSEG-ZUONR' i_zuonr. "Assignment(Depot Code)

PERFORM bdc_field USING 'RF05A-KONTO' i_bank_gl. "Bank GL acc

PERFORM bdc_field USING 'BSEG-GSBER' i_gsber. "Business Area

l_amount = bseg-wrbtr.

PERFORM bdc_field USING 'BSEG-WRBTR' l_amount. "Amount

PERFORM bdc_field USING 'BSEG-PRCTR' ''. "Profit Center

**open items data

PERFORM bdc_field USING 'RF05A-AGKOA' 'D'. "Acc type (D=customers)

PERFORM bdc_field USING 'RF05A-XNOPS' 'X'. "Std OIs check box

**end of first screen

**document overview screen

PERFORM bdc_dynpro USING 'SAPMF05A' '0700'. "Overview Screen

PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-AZEI1(01)'. "cursor

PERFORM bdc_field USING 'BDC_OKCODE' '/00'. "OK CODE

PERFORM bdc_field USING 'RF05A-NEWBS' '19'. "posting key

PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer

PERFORM bdc_field USING 'RF05A-NEWUM' 'B'. "Spl GL Indicator

**for single document selected

CLEAR l_amt_bdc.

IF p_i_mult_doc = ''.

***new screen - next line item

PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.

PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE

**for single document, use the bouncing amount calculated earlier

l_amt_bdc = w_amt_ant_bouncing.

PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc. "amount

**due date - same as posting date on screen

**get user default date format and pass date in that format

PERFORM convert_date_to_user_format USING bkpf-budat.

PERFORM bdc_field USING 'BSEG-ZFBDT' w_date. "due date

CLEAR w_date.

**assignment

CLEAR l_assignment.

CONCATENATE t_seldoc_ant_bouncing-belnr

t_seldoc_ant_bouncing-gjahr INTO l_assignment.

PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment

PERFORM bdc_field USING 'BSEG-GSBER' i_gsber.

**if there is some remaining amount, then go for another line item

IF w_rem_amt_ant_bouncing > 0.

PERFORM bdc_field USING 'RF05A-NEWBS' '15'. "posting key

PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer

**new screen

PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.

PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-ZTERM'. "CURSOR

PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE-ENTER

l_amt_bdc_remain = w_rem_amt_ant_bouncing.

PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.

PERFORM bdc_field USING 'BSEG-ZTERM' '0001'.

**AGAIN

PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.

PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'. "CURSOR

PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE-SAVE

PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.

PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term -hardcoded

PERFORM bdc_field USING 'BSEG-SKFBT' l_amt_bdc_remain.

ENDIF.

**multiple documents

ELSE.

**initialize remaining amount to amt entered on screen

l_amt_bdc_mult_remain = bseg-wrbtr.

LOOP AT t_seldoc_ant_bouncing.

IF l_amt_bdc_mult_remain > 0.

IF bseg-wrbtr > t_seldoc_ant_bouncing-rem_amt.

l_amt_bdc_mult = t_seldoc_ant_bouncing-rem_amt.

ELSE.

l_amt_bdc_mult = bseg-wrbtr.

ENDIF.

**remaining amt = screen amt - amt calculated above.

l_amt_bdc_mult_remain = l_amt_bdc_mult_remain - l_amt_bdc_mult.

PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.

PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE

PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult. "amount

PERFORM bdc_field USING 'BSEG-GSBER' i_gsber. "Business Area

**due date - same as posting date on screen

**get user default date format and pass date in that format

PERFORM convert_date_to_user_format USING bkpf-budat.

PERFORM bdc_field USING 'BSEG-ZFBDT' w_date. "due date

CLEAR w_date.

**assignment

CLEAR l_assignment.

CONCATENATE t_seldoc_ant_bouncing-belnr

t_seldoc_ant_bouncing-gjahr INTO l_assignment.

PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment

**posting key 19 for all but last document

PERFORM bdc_field USING 'RF05A-NEWBS' '19'. "posting key

PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer

PERFORM bdc_field USING 'RF05A-NEWUM' 'B'. "Spl GL

ENDIF.

ENDLOOP.

ENDIF.

**post remaining amount

IF p_i_mult_doc = 'X'.

**new screen if there is some amount left

IF l_amt_bdc_mult_remain > 0.

**posting key 15 with remaining amount

PERFORM bdc_field USING 'RF05A-NEWBS' '15'. "posting key

PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer

PERFORM bdc_field USING 'RF05A-NEWUM' ''. "Spl GL

**new screen

PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.

PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE

PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult_remain.

PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term - hardcoded

ELSE.

**if no amount is left, no need for a further line item

PERFORM bdc_field USING 'RF05A-NEWBS' ''. "posting key

PERFORM bdc_field USING 'RF05A-NEWKO' ''. "customer

PERFORM bdc_field USING 'RF05A-NEWUM' ''. "Spl GL

ENDIF.

ENDIF.

**clear variables

CLEAR : l_amount, l_assignment, l_amt_bdc,

l_amt_bdc_remain,l_amt_bdc_mult, l_amt_bdc_mult_remain.

ENDFORM. " fill_bdc_data_F-28_9005

Regards

Read only

Former Member
0 Likes
553

Hi Devika,

Chk the below BAPI's

<b>BAPI_INCOMINGINVOICE_POST</b> - Invoice Verification: Post Provisional Invoice

<b>BAPI_INCOMINGINVOICE_CREATE</b> - Invoice Verification: Post Invoice

BAPI_ACC_GL_POSTING_CHECK

BAPI_ACC_GL_POSTING_POST

<b>Reward Points if Useful</b>

Regards

Gokul