cancel
Showing results for 
Search instead for 
Did you mean: 

vendor name in FBL3N

Former Member
0 Kudos

HI,

In FBL3N, after we execute with G/L account, how we can display vendor code and vendor name .Is there any option to display vendor name in correspondence with document no. in the same screen?

Accepted Solutions (0)

Answers (6)

Answers (6)

emoke_suto
Employee
Employee

Hi Prem,

FBL3N is the transaction for G/L Account line item display.

For Goods Receipt documents, line items will populate with Vendor LIFNR, but for Invoice Receipts only the vendor line item would populate LIFNR, the G/L lines for IR documents do not populate LIFNR.

You can see this yourself by looking in SE16 at table BSEG for the GR and IR accounting documents. For GR document, BSEG-LIFNR should be filled for all line items. For IR document, BSEG-LIFNR should be filled only for the vendor line item.

The line item display can't display any value, because there is no value on the database.

The relevant tables for the G/L Line Item Display is BSIS/BSAS and BSEG. In BSIS/BSAS you will not find the fields Vendor number (LIFNR) and Vendor name (NAME1), and in BSEG Vendor number is only stored in the Vendor Line Item and not in the G/L line item, and you will not find Vendor name in BSEG. Therefore, you are not able to add the fields to the Line Item Display as a standard field or as a special field in the normal way.

Hence, this is SAP standard design and it is not possible to have vendor number in the G/L line item display.

There is a workaround for this, which should work in both 46* and Enterprise versions :

The fields LIFNR and NAME1 do not exist in the structures RFPOS and RFPOSX. If you need these fields to be shown in the Line Item Display then you need to add the fields to the structures RFPOS and RFPOSX.

When the structure has been extended with the fields then you need to run the reports RFPOSXEXTEND and BALVBUFDEL (in the same way as seen in the solution part in note 215798).

After that you need to use the Open FI Exit 1650 to fill the fields. You will find a function group FI_ITEMS from transaction SE80. In this function group you will find a function module FI_ITEMS_DISPLAY where the form ITEMS_DISPLAY_INIT includes the exits 1610 to 1650. The important one for your problem is 1650 (OPEN_FI_PERFORM_00001650_E).

This exit is used if you want to display fields in e.g. FBL3N which do not exist in the tables BSIS/BSAS and also not in the G/L Line in BSEG.

Through this user exit it should be possible to get the value from the relevant tables e.g. from the vendor items from BSEG or the value from BSIK into structure RFPOSXEXT if there is a relation between the relevant tables e.g. BSEG/BSIK to RFPOSX/BSIS.

Please also have a look at the notes 112312 and 217189.

Hope it helps.

Regards,

Emoke

Former Member
0 Kudos

you need to activate the offsetting account number and id 1st.

There are OSS notes regarding this.

So when the offsetting group is "K" the offsetting account number will be the Vendor number.

Then you will need to add the field to FI_ITEMS as specified here.

Former Member
0 Kudos

Could you please tell me which notes?

Thank you.

marilena

Former Member
0 Kudos

use the search option in OSS

"Offsetting Account line items" should bring it up.

Please note there is a different change for FAGLL03 to FBL3N.

Former Member
0 Kudos

Several things I want to point out:

1, item display for reconciliation account is not recommended by SAP as it slowed down system performance at a certain extent.

2, standard G/L account item display dose not provides the default configuration for displaying customer or vendor account and names. It was, nevertheless, you can add special fields to FBL3N so as to display customer/vendor number.

3, if you want to display customer/vendor name in addition to displaying the customer/vendor number, simply, you can meet the requirement by document substitution filling name value to one blank BSEG filed.

4, final solution, create a self defined report... but, dose it worth to?

Former Member
0 Kudos

Hi.How to add vendor and customer name to FBL3N

You'd to add own field to BKPF(for example ZZNAME1), than in transaction OBVU add this field for FBL3N. After that use OpenFI, Event 00001650.

Customizing OpenFI

FIBF- Settings -P/S Modules/Customer

There:

Event - 00001650, Product (at first you'd to Activate it in FIBF-Products) - your activated product, Ctr - your country, Apl - nothing, Funct.Module - Z_INTERFACE_00001650

Code for FuncModule Z_INTERFACE_00001650

In SE 37 you't to write thise code:

"function z_interface_00001650.

*"----


""Локальный интерфейс:

*" IMPORTING

*" VALUE(I_POSTAB) LIKE RFPOS STRUCTURE RFPOS

*" EXPORTING

*" VALUE(E_POSTAB) LIKE RFPOS STRUCTURE RFPOS

*"----


data: lv_name1(35), lv_name2(35),

lv_contr(10), lv_zuonr(10),

lv_stlen type i,

lv_stpos type i.

field-symbols: <item> type rfposxext.

e_postab = i_postab.

assign ('(SAPLFI_ITEMS)IT_ITEMS') to <item>.

if <item> is assigned.

clear: lv_name1, lv_name2, lv_zuonr, lv_contr.

if <item>-u_lifnr is not initial.

select single name1 name2 from lfa1 into (lv_name1, lv_name2) where lifnr = <item>-u_lifnr.

concatenate lv_name1 lv_name2 into <item>-u_zzname1 separated by space.

elseif <item>-u_kunnr is not initial.

select single name1 name2 from kna1 into (lv_name1, lv_name2) where kunnr = <item>-u_kunnr.

concatenate lv_name1 lv_name2 into <item>-u_zzname1 separated by space.

elseif <item>-zuonr is not initial

and strlen( <item>-zuonr ) < 11.

if strlen( <item>-zuonr ) ne 10.

shift <item>-zuonr left deleting leading '0'.

shift <item>-zuonr left deleting leading ' '.

lv_zuonr = <item>-zuonr(10).

lv_stlen = strlen( lv_zuonr ).

lv_stpos = 10 - lv_stlen.

lv_contr = '0000000000'.

lv_contrlv_stpos(lv_stlen) = lv_zuonr0(lv_stlen).

else.

lv_contr = <item>-zuonr(10).

endif.

select single name1 name2 from lfa1 into (lv_name1, lv_name2) where lifnr = lv_contr.

if sy-subrc eq 0.

concatenate lv_name1 lv_name2 into <item>-u_zzname1 separated by space.

else.

select single name1 name2 from kna1 into (lv_name1, lv_name2) where kunnr = lv_contr.

if sy-subrc eq 0.

concatenate lv_name1 lv_name2 into <item>-u_zzname1 separated by space.

endif.

endif.

endif.

if <item>-u_zzname1 is not initial.

condense <item>-u_zzname1.

endif.

endif.

endfunction.

"

Former Member
0 Kudos

This is what I have done before, it works (in production right now):

1. Add the fields (for example: zcustomername/zvendorname) to the structures RFPOSX and RFPOS. Include or enter the fields in both tables and reactivate the tables.

2. Restart the RFPOSXEXTEND report to add the fields to the generated structure RFPOSXEXT.

3. Create a Function Module that reads the fields from the relevant table and transfer the values to the internal fields. For this purpose, copy the sample function module SAMPLE_INTERFACE_00001650 into the customer namespace.

See Sample Function Module for Vendor and Customer name:

FUNCTION XXXXXXXX.

*"----


""Local Interface:

*" IMPORTING

*" VALUE(I_POSTAB) LIKE RFPOS STRUCTURE RFPOS

*" EXPORTING

*" VALUE(E_POSTAB) LIKE RFPOS STRUCTURE RFPOS

*"----


tables: KNA1, LFA1.

E_POSTAB = I_POSTAB.

*Customer

IF I_POSTAB-KOART = 'D'.

SELECT SINGLE NAME1 INTO e_postab-zcustomername FROM KNA1

WHERE KUNNR EQ I_POSTAB-KONTO.

ENDIF.

*Vendor

IF I_POSTAB-KOART = 'K'.

SELECT SINGLE NAME1 INTO e_postab-zvendorname FROM LFA1

WHERE LIFNR EQ I_POSTAB-KONTO.

ENDIF.

ENDFUNCTION.

4. Create BTE 1650 (Business Transaction Event).

a. Go to FIBF.

b. 'Settings -> Products -> ... of a customer' and create a product. You can choose the name of the product and the description.

c. Set the 'Active' indicator and save.

d. Go to 'Settings -> P/S Modules -> ... of a customer' and include this entry:

Event: 00001650

Product: u2018Product name created in b.u2019

Ctr: Empty

Appl: Empty

Function Module u2018Your Function Moduleu2019 (XXXXXXX)

5. After these steps, the fields are now also available as 'special fields' in FBL5N/FBL1N

Edited by: Hugo Segovia on Dec 19, 2008 5:28 PM

Former Member
0 Kudos

Hi,

I have done exactly the same you are saying but the field NAME1 that i have added is not filled into fblxn layouts. I have seen with debug in this point in LFI_ITEMSF01

.....

.. open FI: external processing of each line item

call function 'BF_FUNCTIONS_FIND'

exporting

i_event = '00001650'

tables

t_fmrfc = fmtab

exceptions

nothing_found = 4

others = 8.

if sy-subrc = 0.

loop at it_items.

move-corresponding it_items to s_rfpos.

call function 'OPEN_FI_PERFORM_00001650_E'

exporting

i_postab = s_rfpos

importing

e_postab = s_rfpos.

move-corresponding s_rfpos to it_items.

modify it_items.

endloop.

endif.

endform. " ITEMS_DISPLAY_INIT

.....

that the problem is because the value of the field is into the field s_rfpos-name1 but the field that works into the layouts are named U_* , so i think that the z* form that i have written doesn't filled the correct fields!

Can you hel me?

Thank you

Marilena

Former Member
0 Kudos

Hi Marilena,

You need to create a field starting by Z*, I guess that is your problem.

I have done this a couple of times and it works.

Let me know.

Cheers.

Former Member
0 Kudos

I think the same but I dont understand how can I do without modify LFI_ITEMSF01.

could you please show me what you have done?

Thank you

Marilena

Former Member
0 Kudos

Hi Marilena, check this:

1) Fields are in RFPOS and RFPOSX

2) Fields should begin by Z, if the field begin by U_ means it was included as Special Fields from Configuration.

3) Run RFPOSXEXTEND

4) You Function Module (BTE) should use same field names

My RFPOS and RFPOSX have the field ZZ_VEND_NAME.

My FM has this:

E_POSTAB = I_POSTAB.

CASE I_POSTAB-KOART.

WHEN 'K'. "Vendors

SELECT SINGLE NAME1

INTO e_postab-zz_vend_name

FROM LFA1

WHERE LIFNR EQ I_POSTAB-KONTO.

WHEN OTHERS.

Since s_rfpos LIKE rfpos, you should have your fields in this structure in LFI_ITEMSF01:

LOOP AT it_items.

MOVE-CORRESPONDING it_items TO s_rfpos.

CALL FUNCTION 'OPEN_FI_PERFORM_00001650_E'

EXPORTING

i_postab = s_rfpos

IMPORTING

e_postab = s_rfpos.

MOVE-CORRESPONDING s_rfpos TO it_items.

MODIFY it_items.

I hope this helps.

Former Member
0 Kudos

I have tried now ad it works fine. From reading the varoius oss notes I don't understood that use U_* field was obligatory. Thank you so much for your precious help.

Marilena

Former Member
0 Kudos

...was NOT obligatory...sorry....

Thank you so much.

Marilena

Former Member
0 Kudos

sir

i have done as you said

system asks request

tell me solutation sir

vasu

Former Member
0 Kudos

Hi,

It will definitely prompt for a request. Go ahead and create the request from the development server and then transport it.

Assign pts if useful

Former Member
0 Kudos

hi,

But could we get vendor name in same screen of FBL3N? if yes then how?

plz guide the steps to follow. and coding if needed.

Former Member
0 Kudos

Hi Sharma,

Please follow below scenario.

SPRO>Financial Accounting>General Ledger Accounting>G/L Accounts->Line items>Line items Display-->Define special fields for finding and sorting data..

Put Table name BSEG and Field name LIFNR then save

After go to FBL3N and select Changelay out button and select VENDOR field..

If you need anyclarifcation touch with me...

Thnaks

Purna Nalluri

Former Member
0 Kudos

hi,

thanks for replying.

i have done this process but when i go to FBL3N and select changelay out button , i m not getting VENDOR field.

plz reply soon,

Former Member
0 Kudos

Hi Sharma,

Justnow i have done same requirement and working fine...

Kindly checkagain configuration and try again...

Thanks

NP

Former Member
0 Kudos

hi,

thanks, i got vendor code but i want vendor name too with same screeen. is that possible?if yes then hoe

culd u plz help me out.

soon