Posting Clearing document through function module POSTING_INTERFACE_CLEARING
*** Header and line item diffrentiation:
LCF_STYPE_K TYPE STYPE_PI VALUE ‘K’, ” HEADER Line
LCF_STYPE_P TYPE STYPE_PI VALUE ‘P’, ” Line Item
*** Populate and map FTCLEAR to POSTING_INTERFACE_CLEARING
LDS_FTCLEAR–AGKOA = ‘K’ or ‘D’ ( based on account type, Vendor or Customer for Out Going / Incoming Payments.
LDS_FTCLEAR–AGBUK = <company_code>.
LDS_FTCLEAR–XNOPS = ‘X’.
LDS_FTCLEAR–SELFD = <referece_document_number>
LDS_FTCLEAR–SELVON = <reference_field> ” SELFD is value of the filed assigned here.
APPEND LDS_FTCLEAR TO P_LDT_FTCLEAR.
*** FTPOST sample filling data
LDS_FTPOST–STYPE = P_LCF_STYPE.
LDS_FTPOST–COUNT = P_LDF_COUNT.
LDS_FTPOST–FNAM = P_LCF_FNAM.
LDS_FTPOST–FVAL = P_FVAL.
APPEND LDS_FTPOST TO P_LDT_FTPOST.
Call the below function modules in following order.
CALL FUNCTION ‘POSTING_INTERFACE_START’
I_CLIENT = SY–MANDT
I_FUNCTION = ‘C’ ( Function: BDC, Call Trans. Using, internal interface)
I_MODE = MODE ( N – no screen, A – all screen, E – Error –> Mode we use in Call transaction)
I_USER = SY–UNAME
CLIENT_INCORRECT = 1
FUNCTION_INVALID = 2
GROUP_NAME_MISSING = 3
MODE_INVALID = 4
UPDATE_INVALID = 5
OTHERS = 6.
IF SY–SUBRC <> 0.
MESSAGE ID SY–MSGID TYPE SY–MSGTY NUMBER SY–MSGNO
WITH SY–MSGV1 SY–MSGV2 SY–MSGV3 SY–MSGV4.
CALL FUNCTION ‘POSTING_INTERFACE_CLEARING’
I_AUGLV = ‘AUSGZAHL’ ” Follow below mentioned table
I_TCODE = ‘FB05’
I_SGFUNCT = ‘C’
E_MSGID = LDS_RETURN–ID
E_MSGNO = LDS_RETURN–NUMBER
E_MSGTY = LDS_RETURN–TYPE
E_MSGV1 = LDS_RETURN–MESSAGE_V1
E_MSGV2 = LDS_RETURN–MESSAGE_V2
E_MSGV3 = LDS_RETURN–MESSAGE_V3
E_MSGV4 = LDS_RETURN–MESSAGE_V4
* E_SUBRC = SY-SUBRC
T_BLNTAB = LDT_BLNTAB
T_FTCLEAR = LDT_FTCLEAR
T_FTPOST = LDT_FTPOST
T_FTTAX = LDT_FTTAX
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.
|UMBUCHNG||Transfer posting with clearing|
Note the following :
- The data is marked with a record type (header, code = K; item, code = P) and counter. – LCF_STYPE_K and LCF_STYPE_S
- Up to 950 line items can be transferred.
- The data is transferred with the field name and field value.
- The data must be transferred in the following sequence:
- Document header data ( K 1)
- Document item 1 ( P 1)
- Document item 2 ( P 2) etc.
- The field names are the same as those used on the entry screen (e.g. ‘BKPF-WAERS’, ‘BSEG-WRBTR’, ‘COBL-GSBER’…).
- Suppose if it Cost Center / Profit Center – its COBL-KOSTL and COBL-PRCTR
- The footer data can be transferred using the following fields:
- Posting key: RF05A-NEWBS or BSEG-BSCHL
- Account number: RF05A-NEWKO or BSEG-KONTO
or BSEG-KUNNR (for customer accounts)
or BSEG-LIFNR (for vendor accounts)
or BSEG-HKONT (for G/L accounts)
- Special G/L indicator: RF05A-NEWUM or BSEG-UMSKZ
- Company code (for intercompany posting):
RF05A-NEWBK or BSEG-BUKRS.
- The field names are analyzed by the function module so that the data can be assigned to the right screens. Field names for one-time data or data for an alternative payer must start with ‘BSEC-‘, for example (see screen SAPLFCPD 0100).
Processing with ‘Call Transaction … Using ‘
If processing takes place with ‘Call Transaction .. Using’, the initiator can see whether processing was successful by looking at the export parameter’SUBRC’.
SUBRC = 0 means that the document was posted. The document number is stored in table T_BLNTAB. For intercompany documents, several document numbers are stored here.
SUBRC <> 0 means that the document could not be posted. Information concerning the error which has arisen is returned via the message fields MSGID, MSGNO, etc.
Support of transaction ‘FBB1’
If you want to access transaction FBB1, you should note the following:
- Enter the foreign currency key in field BKPF-WAERS.
- In this transaction you should enter the local currency amount in field BSEG-WRBTR for each document item.
CALL FUNCTION ‘POSTING_INTERFACE_END’
I_BDCIMMED = ‘X’
SESSION_NOT_PROCESSABLE = 1
OTHERS = 2.