cancel
Showing results for 
Search instead for 
Did you mean: 

How to fill POSTING_INTERFACE_CLEARING ?

Former Member
0 Kudos

How do I fill up POSTING_INTERFACE_CLEARING ? I am using it for FB05.

I_AUGLV EINGZAHL(incoming payment)

I_TCODE FB05

header:

doc and posting date.

Doctype . DZ.

currency USD.

company code : say 1000

items :

40(debit) ACC1 5000$ PRCTR1

items to be cleared:

i want to choose open items by document # (FB05)

The a/c type would be D.

customers would belong to the same company code (1000).

Where do i fill in the document nos. ? (the select options in FB05 on Process open items.)

Please give me an example to fill T_FTCLEAR and T_FTPOST.

This is damn urgent... please help..

Thanks in advance...

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Subramaniam,

Please, help me. send me a sample how to using POSTING_INTERFACE_CLEARING with structure T_FTCLEAR and T_FTPOST.

e-mail: rogerio.leite@pwco.com.br

Thanks in advance.

LucianoBentiveg
Active Contributor
0 Kudos

*----


  • FORM FILL_FTPOST_WITH_BBKPF_DATA.

*----


form fill_ftpost_with_bbkpf_data.

check fl_check = space.

check function ne 'D'.

clear ftpost.

ftpost-stype = 'K'.

ftpost-count = '001'.

if bbkpf-bldat(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BLDAT '.

ftpost-fval = bbkpf-bldat .

append ftpost.

endif.

if bbkpf-blart(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BLART '.

ftpost-fval = bbkpf-blart .

append ftpost.

endif.

if bbkpf-bukrs(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BUKRS '.

ftpost-fval = bbkpf-bukrs .

append ftpost.

endif.

if bbkpf-budat(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BUDAT '.

ftpost-fval = bbkpf-budat .

append ftpost.

endif.

if bbkpf-monat(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-MONAT '.

ftpost-fval = bbkpf-monat .

append ftpost.

endif.

if bbkpf-waers(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-WAERS '.

ftpost-fval = bbkpf-waers .

append ftpost.

endif.

if bbkpf-kursf(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-KURSF '.

ftpost-fval = bbkpf-kursf .

append ftpost.

endif.

if bbkpf-belnr(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BELNR '.

ftpost-fval = bbkpf-belnr .

append ftpost.

endif.

if bbkpf-wwert(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-WWERT '.

ftpost-fval = bbkpf-wwert .

append ftpost.

endif.

if bbkpf-xblnr(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-XBLNR '.

ftpost-fval = bbkpf-xblnr .

append ftpost.

endif.

if bbkpf-bvorg(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BVORG '.

ftpost-fval = bbkpf-bvorg .

append ftpost.

endif.

if bbkpf-bktxt(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BKTXT '.

ftpost-fval = bbkpf-bktxt .

append ftpost.

endif.

if bbkpf-pargb(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'RF05A-PARGB '.

ftpost-fval = bbkpf-pargb .

append ftpost.

endif.

if bbkpf-vbund(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-VBUND '.

ftpost-fval = bbkpf-vbund .

append ftpost.

endif.

if bbkpf-xmwst(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-XMWST '.

ftpost-fval = bbkpf-xmwst .

append ftpost.

endif.

if bbkpf-docid(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'FS006-DOCID '.

ftpost-fval = bbkpf-docid .

append ftpost.

endif.

if bbkpf-barcd(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'FS006-BARCD '.

ftpost-fval = bbkpf-barcd .

append ftpost.

endif.

if bbkpf-stodt(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-STODT '.

ftpost-fval = bbkpf-stodt .

append ftpost.

endif.

if bbkpf-brnch(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-BRNCH '.

ftpost-fval = bbkpf-brnch .

append ftpost.

endif.

if bbkpf-numpg(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-NUMPG '.

ftpost-fval = bbkpf-numpg .

append ftpost.

endif.

if bbkpf-stgrd(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-STGRD '.

ftpost-fval = bbkpf-stgrd .

append ftpost.

endif.

if bbkpf-kursf_m(1) ne nodata.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-KURSF_M '.

ftpost-fval = bbkpf-kursf_m .

append ftpost.

endif.

  • Alejandro

nro_asiento = nro_asiento + 1.

aux_sistema = zsist.

aux_lote = zlote.

concatenate aux_sistema '-' aux_lote '-' nro_asiento into aux_awkey.

  • Agregado de los campos clave

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-AWTYP '.

ftpost-fval = 'IBKPF' .

append ftpost.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-AWKEY '.

ftpost-fval = aux_awkey .

append ftpost.

clear: ftpost-fnam, ftpost-fval.

ftpost-fnam = 'BKPF-AWSYS '.

ftpost-fval = 'SAD_220' .

append ftpost.

endform.

*----


  • FORM FILL_FTCLEAR_WITH_BSELP_DATA.

*----


form fill_ftclear_with_bselp_data.

check fl_check = space.

if bselp-feldn_1(1) ne nodata

or bselp-slvon_1(1) ne nodata

or bselp-slbis_1(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_1(1) ne nodata.

ftclear-selfd = bselp-feldn_1 .

endif.

if bselp-slvon_1(1) ne nodata.

ftclear-selvon = bselp-slvon_1 .

endif.

if bselp-slbis_1(1) ne nodata.

ftclear-selbis = bselp-slbis_1 .

endif.

append ftclear.

endif.

if bselp-feldn_2(1) ne nodata

or bselp-slvon_2(1) ne nodata

or bselp-slbis_2(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_2(1) ne nodata.

ftclear-selfd = bselp-feldn_2 .

endif.

if bselp-slvon_2(1) ne nodata.

ftclear-selvon = bselp-slvon_2 .

endif.

if bselp-slbis_2(1) ne nodata.

ftclear-selbis = bselp-slbis_2 .

endif.

append ftclear.

endif.

if bselp-feldn_3(1) ne nodata

or bselp-slvon_3(1) ne nodata

or bselp-slbis_3(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_3(1) ne nodata.

ftclear-selfd = bselp-feldn_3 .

endif.

if bselp-slvon_3(1) ne nodata.

ftclear-selvon = bselp-slvon_3 .

endif.

if bselp-slbis_3(1) ne nodata.

ftclear-selbis = bselp-slbis_3 .

endif.

append ftclear.

endif.

if bselp-feldn_4(1) ne nodata

or bselp-slvon_4(1) ne nodata

or bselp-slbis_4(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_4(1) ne nodata.

ftclear-selfd = bselp-feldn_4 .

endif.

if bselp-slvon_4(1) ne nodata.

ftclear-selvon = bselp-slvon_4 .

endif.

if bselp-slbis_4(1) ne nodata.

ftclear-selbis = bselp-slbis_4 .

endif.

append ftclear.

endif.

if bselp-feldn_5(1) ne nodata

or bselp-slvon_5(1) ne nodata

or bselp-slbis_5(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_5(1) ne nodata.

ftclear-selfd = bselp-feldn_5 .

endif.

if bselp-slvon_5(1) ne nodata.

ftclear-selvon = bselp-slvon_5 .

endif.

if bselp-slbis_5(1) ne nodata.

ftclear-selbis = bselp-slbis_5 .

endif.

append ftclear.

endif.

if bselp-feldn_6(1) ne nodata

or bselp-slvon_6(1) ne nodata

or bselp-slbis_6(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_6(1) ne nodata.

ftclear-selfd = bselp-feldn_6 .

endif.

if bselp-slvon_6(1) ne nodata.

ftclear-selvon = bselp-slvon_6 .

endif.

if bselp-slbis_6(1) ne nodata.

ftclear-selbis = bselp-slbis_6 .

endif.

append ftclear.

endif.

if bselp-feldn_7(1) ne nodata

or bselp-slvon_7(1) ne nodata

or bselp-slbis_7(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_7(1) ne nodata.

ftclear-selfd = bselp-feldn_7 .

endif.

if bselp-slvon_7(1) ne nodata.

ftclear-selvon = bselp-slvon_7 .

endif.

if bselp-slbis_7(1) ne nodata.

ftclear-selbis = bselp-slbis_7 .

endif.

append ftclear.

endif.

if bselp-feldn_8(1) ne nodata

or bselp-slvon_8(1) ne nodata

or bselp-slbis_8(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_8(1) ne nodata.

ftclear-selfd = bselp-feldn_8 .

endif.

if bselp-slvon_8(1) ne nodata.

ftclear-selvon = bselp-slvon_8 .

endif.

if bselp-slbis_8(1) ne nodata.

ftclear-selbis = bselp-slbis_8 .

endif.

append ftclear.

endif.

if bselp-feldn_9(1) ne nodata

or bselp-slvon_9(1) ne nodata

or bselp-slbis_9(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_9(1) ne nodata.

ftclear-selfd = bselp-feldn_9 .

endif.

if bselp-slvon_9(1) ne nodata.

ftclear-selvon = bselp-slvon_9 .

endif.

if bselp-slbis_9(1) ne nodata.

ftclear-selbis = bselp-slbis_9 .

endif.

append ftclear.

endif.

if bselp-feldn_10(1) ne nodata

or bselp-slvon_10(1) ne nodata

or bselp-slbis_10(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_10(1) ne nodata.

ftclear-selfd = bselp-feldn_10 .

endif.

if bselp-slvon_10(1) ne nodata.

ftclear-selvon = bselp-slvon_10 .

endif.

if bselp-slbis_10(1) ne nodata.

ftclear-selbis = bselp-slbis_10 .

endif.

append ftclear.

endif.

if bselp-feldn_11(1) ne nodata

or bselp-slvon_11(1) ne nodata

or bselp-slbis_11(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_11(1) ne nodata.

ftclear-selfd = bselp-feldn_11 .

endif.

if bselp-slvon_11(1) ne nodata.

ftclear-selvon = bselp-slvon_11 .

endif.

if bselp-slbis_11(1) ne nodata.

ftclear-selbis = bselp-slbis_11 .

endif.

append ftclear.

endif.

if bselp-feldn_12(1) ne nodata

or bselp-slvon_12(1) ne nodata

or bselp-slbis_12(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_12(1) ne nodata.

ftclear-selfd = bselp-feldn_12 .

endif.

if bselp-slvon_12(1) ne nodata.

ftclear-selvon = bselp-slvon_12 .

endif.

if bselp-slbis_12(1) ne nodata.

ftclear-selbis = bselp-slbis_12 .

endif.

append ftclear.

endif.

if bselp-feldn_13(1) ne nodata

or bselp-slvon_13(1) ne nodata

or bselp-slbis_13(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_13(1) ne nodata.

ftclear-selfd = bselp-feldn_13 .

endif.

if bselp-slvon_13(1) ne nodata.

ftclear-selvon = bselp-slvon_13 .

endif.

if bselp-slbis_13(1) ne nodata.

ftclear-selbis = bselp-slbis_13 .

endif.

append ftclear.

endif.

if bselp-feldn_14(1) ne nodata

or bselp-slvon_14(1) ne nodata

or bselp-slbis_14(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_14(1) ne nodata.

ftclear-selfd = bselp-feldn_14 .

endif.

if bselp-slvon_14(1) ne nodata.

ftclear-selvon = bselp-slvon_14 .

endif.

if bselp-slbis_14(1) ne nodata.

ftclear-selbis = bselp-slbis_14 .

endif.

append ftclear.

endif.

if bselp-feldn_15(1) ne nodata

or bselp-slvon_15(1) ne nodata

or bselp-slbis_15(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_15(1) ne nodata.

ftclear-selfd = bselp-feldn_15 .

endif.

if bselp-slvon_15(1) ne nodata.

ftclear-selvon = bselp-slvon_15 .

endif.

if bselp-slbis_15(1) ne nodata.

ftclear-selbis = bselp-slbis_15 .

endif.

append ftclear.

endif.

if bselp-feldn_16(1) ne nodata

or bselp-slvon_16(1) ne nodata

or bselp-slbis_16(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_16(1) ne nodata.

ftclear-selfd = bselp-feldn_16 .

endif.

if bselp-slvon_16(1) ne nodata.

ftclear-selvon = bselp-slvon_16 .

endif.

if bselp-slbis_16(1) ne nodata.

ftclear-selbis = bselp-slbis_16 .

endif.

append ftclear.

endif.

if bselp-feldn_17(1) ne nodata

or bselp-slvon_17(1) ne nodata

or bselp-slbis_17(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_17(1) ne nodata.

ftclear-selfd = bselp-feldn_17 .

endif.

if bselp-slvon_17(1) ne nodata.

ftclear-selvon = bselp-slvon_17 .

endif.

if bselp-slbis_17(1) ne nodata.

ftclear-selbis = bselp-slbis_17 .

endif.

append ftclear.

endif.

if bselp-feldn_18(1) ne nodata

or bselp-slvon_18(1) ne nodata

or bselp-slbis_18(1) ne nodata.

clear ftclear.

ftclear = save_ftclear.

if bselp-feldn_18(1) ne nodata.

ftclear-selfd = bselp-feldn_18 .

endif.

if bselp-slvon_18(1) ne nodata.

ftclear-selvon = bselp-slvon_18 .

endif.

if bselp-slbis_18(1) ne nodata.

ftclear-selbis = bselp-slbis_18 .

endif.

append ftclear.

endif.

endform.

Former Member
0 Kudos

can u please send me sample data to fill t_ftpost in POSTING_INTERFACE_CLEARING

hardyp180
Active Contributor
0 Kudos

This example program clears two customer documents off against each other with the customer and documenst input by the user. it is not a very practical example but it shows you what needs to be done.

PARAMETERS: p_mode TYPE char01 DEFAULT 'A',

p_bukrs TYPE bkpf-bukrs,

p_kunnr TYPE kna1-kunnr,

p_doc1 TYPE bkpf-belnr,

p_doc2 TYPE bkpf-belnr.

CALL FUNCTION 'POSTING_INTERFACE_START'

EXPORTING

  • I_CLIENT = SY-MANDT

i_function = 'C'

  • I_GROUP = ' '

  • I_HOLDDATE = ' '

  • I_KEEP = ' '

I_MODE = p_mode

  • I_UPDATE = 'S'

I_USER = sy-uname

  • I_XBDCC = ' '

EXCEPTIONS

CLIENT_INCORRECT = 1

FUNCTION_INVALID = 2

GROUP_NAME_MISSING = 3

MODE_INVALID = 4

UPDATE_INVALID = 5

OTHERS = 6.

IF sy-subrc <> 0.

EXIT.

ENDIF.

DATA: l_auglv TYPE T041A-AUGLV VALUE 'UMBUCHNG', "Posting with Clearing

l_tcode TYPE sy-tcode VALUE 'FB05', "You get an error with any other value

l_sgfunct TYPE RFIPI-SGFUNCT VALUE 'C'. "Post immediately

DATA: lt_blntab TYPE STANDARD TABLE OF BLNTAB WITH HEADER LINE,

lt_ftclear TYPE STANDARD TABLE OF ftclear WITH HEADER LINE,

lt_ftpost TYPE STANDARD TABLE OF ftpost WITH HEADER LINE,

lt_fttax TYPE STANDARD TABLE OF fttax WITH HEADER LINE.

  • Batch Input Values

lt_ftpost-stype = 'K'."Header

lt_ftpost-count = 1. "number of Dynpro

lt_ftpost-fnam = 'BKPF-BLDAT'.

CONCATENATE sy-datum6(2) sy-datum4(2) sy-datum(4) INTO lt_ftpost-fval SEPARATED BY '.'.

APPEND lt_ftpost.

lt_ftpost-fnam = 'BKPF-BUDAT'.

CONCATENATE sy-datum6(2) sy-datum4(2) sy-datum(4) INTO lt_ftpost-fval SEPARATED BY '.'.

APPEND lt_ftpost.

lt_ftpost-fnam = 'BKPF-BLART'.

lt_ftpost-fval = 'DA'. "Same type as documents cleared via F-32

APPEND lt_ftpost.

  • Documents to be cleared

lt_ftclear-agkoa = 'D'. "Account Type

lt_ftclear-xnops = 'X'. "Indicator: Select only open items which are not special G/L?

lt_ftclear-agbuk = p_bukrs. "Example company code

lt_ftclear-agkon = p_kunnr. "Example Customer

lt_ftclear-selfd = 'BELNR'."Selection Field

lt_ftclear-selvon = p_doc1.

lt_ftclear-selbis = p_doc1.

APPEND lt_ftclear.

lt_ftclear-selvon = p_doc2.

lt_ftclear-selbis = p_doc2.

APPEND lt_ftclear.

CALL FUNCTION 'POSTING_INTERFACE_CLEARING'

EXPORTING

i_auglv = l_auglv

i_tcode = l_tcode

I_SGFUNCT = l_sgfunct

  • I_NO_AUTH = ' '

  • IMPORTING

  • E_MSGID =

  • E_MSGNO =

  • E_MSGTY =

  • E_MSGV1 =

  • E_MSGV2 =

  • E_MSGV3 =

  • E_MSGV4 =

  • E_SUBRC =

tables

t_blntab = lt_blntab

t_ftclear = lt_ftclear

t_ftpost = lt_ftpost

t_fttax = lt_fttax

EXCEPTIONS

CLEARING_PROCEDURE_INVALID = 1

CLEARING_PROCEDURE_MISSING = 2

TABLE_T041A_EMPTY = 3

TRANSACTION_CODE_INVALID = 4

AMOUNT_FORMAT_ERROR = 5

TOO_MANY_LINE_ITEMS = 6

COMPANY_CODE_INVALID = 7

SCREEN_NOT_FOUND = 8

NO_AUTHORIZATION = 9

OTHERS = 10.

IF sy-subrc <> 0.

RETURN.

ENDIF.

CALL FUNCTION 'POSTING_INTERFACE_END'

EXPORTING

I_BDCIMMED = 'X'

  • I_BDCSTRTDT = NO_DATE

  • I_BDCSTRTTM = NO_TIME

EXCEPTIONS

SESSION_NOT_PROCESSABLE = 1

OTHERS = 2.

IF sy-subrc <> 0.

RETURN.

ENDIF.

Former Member
0 Kudos

Hello Paul, your example is very helpful. I am on the functional side and was trying to test the clearing function module. I couldn't get it to test in background mode. do you know if we can execute this in background mode.

Former Member
0 Kudos

Thanks, this has saved me literally hours of work.

Former Member
0 Kudos

hi Arthi,

My client needs Z program which displays all open line items for mulitple customers and company code and clear them using F-32 (for mutlple customers). Records selected from the list are cleared using transaction F-32.

Can u please help me to provide the Zprogram which u have, so that it will be using for me.

My client want automatic customer clearing for RTGS related items

Process flow for RTGS in india is as follows,

So now my client need a customized program for automate the clearing open items, (Last block which is marked need to be automated).

Like as F-32 is used to clear open items for individual customers, my client needs a program to be for multiple customers, before clearing the open items they need a overview for all the customers and they need the program which will clear items which are related to only RTGS payments but not Cheques, that is main actually.

Thanks In Advance,

Nitin Kumar

8095885285

Former Member
0 Kudos

Thanks so much. I just used this for my bug fixing