How to define Special Fields for the Line Item Transactions FBL1N/ FBL3N/ FBL5N or as of ERP2004 FAGLL03?
I. Basic information
1. Depending on your release, you can define the special fields for the line item display at the following places in the IMG:
Release 46C - 470
FBL1N (Vendor line item display)
- Financial Accounting
- Accounts Receivable and Accounts Payable
- Vendor Accounts
- Line Items
- Display Line Items
- Define Additional Fields for the Line Item Display
FBL3N (G/L account line item display)
- Financial Accounting
- General Ledger Accounting
- G/L Accounts
- Line Items
- Display Line Items with ALV
- Define Special Fields for Finding and Sorting Data
FBL5N (Customer line item display)
- Financial Accounting
- Accounts Receivable and Accounts Payable
- Customer Accounts
- Line Items
- Display Line Items
- Define Additional Fields for the Line Item Display
All IMG paths use the T021S table to save the definition of the special fields. Therefore, a special field that is defined for G/L accounts may also be available for customers.
ERP2004 - ERP2005
You can also maintain special fields for FBL1N and FBL5N in these releases using the path mentioned above.
If the 'new general ledger' is active, the path for defining special fields for the FBL3N is no longer available, since FAGLL03 is used for displaying G/L account items in the standard system.
However, if you continue to use the FBL3N, you can maintain the special fields by following the 'customers or vendors' paths or by using transaction O7R3.
You can maintain special fields for transaction FAGLL03 in the following path:
Financial Accounting (New)
General Ledger Accounting (New)
Master Data
G/L Accounts
Line Items
Define Special Fields for Line Item Display
2. While saving or after you save the special fields, these are internally defined in following form:
When you save, the special fields are generated in the relevant structure for the line item display:
FBL*N
- The 'basic structure' for displaying the items is RFPOSX.
- From this entry and the relevant entries in the T021S table, the system generates the structure RFPOSXEXT, which is used for the display. The special fields have the first characters 'U_'.
FAGLL03
- The 'basic structure' for displaying the items is FAGLPOSE.
- From the relevant entries in the T021S table, the system generates the FAGLPOSYEXT structure. The special fields have the first characters 'U_'.
- Both structures are included in the FAGLPOSX structure, which is used for the display.
II. Troubleshooting and known problems
1. Basic tips for troubleshooting
When you save or subsequently generate items, you receive an error message, for example 'Termination with error 3' or 'System error:
'SYST: Error in routine GENERATE FAGLPOSYEXT (F4 308)'.
In this case, analyze the activation log of the relevant structure.
Call transaction SE11 and enter the relevant structure in the 'Data type' field:
FBL*N -> RFPOSXEXT
FAGLL03 -> FAGLPOSYEXT
Display the structure.
- Then, choose Utilities -> Activation Log. This log contains exact explanations of which errors occurred.
- If errors occur during the generation, also check whether Notes 947573 and 984303 are implemented in your system.
- If problems occur when you generate the structure RFPOSXEXT, you can try to regenerate these again using the RFPOSXEXTEND report.
- Execute the function module ITEM_STRUC_EXTENSION for special fields for transaction FAGLL03 as described below.
- There are more reasons for special problems listed below.
- In addition, start the BALVBUFDEL report when you enhance the special fields. This resets the ALV buffer (Note 205096) - this solves display problems.
2. Known problems with special fields
- Fields were defined 'twice'
- You use APPEND to add the special fields to the 'basic structure' (RFPOSX/FAGLPOSE).
- When you save the special fields, the fields are included twice in the generated structure.
- In this case, remove them either from the 'basic structure' or as special fields.
- You use fields that contain the character '/'
- You try to define a field, for example /TEST/CASE, from the table BSEG as a special field.
- This is not possible due to a technical restriction, since fields that contain the character '/' must have the first '/' at the beginning of the field name.
- However, since the special fields are always created with the characters 'U_', these fields cannot be used for the special field logic.
However, these fields can be used and filled in the following way:
- Add the fields to the structures RFPOSX and RFPOS.
- Include or enter the fields in both tables and reactivate the tables.
- Restart the RFPOSXEXTEND report to add the fields to the generated structure RFPOSXEXT.
- Create BTE 1650 (Business Transaction Event). For this purpose, copy the sample function module SAMPLE_INTERFACE_00001650 into the customer namespace.
- In the customer module, read the fields from the relevant table and transfer the values to the internal fields.
- Then activate the module in transaction FIBF.
- Go to 'Settings -> Products -> ... of a customer' and create a product. You can choose the name of the product and the description.
- Set the 'Active' indicator and save.
Go to 'Settings -> P/S Modules -> ... of a customer' and include this entry:
Event: 00001650
Product: 'Product name'
Lnd/Appl: empty
Function module: 'Your module'
Save the entry.
- After these steps, the fields are now also available as 'special fields'. However, the 'special field' table is now read for every line. This may affect the performance negatively.
- The field is created correctly, however it is not filled during the 'first' access.
- In this case, first start the BAVLBUFDEL report. This ensures that the special field is filled during the 'first' access of the list.
- In addition, check whether the field is correctly filled in the tables to be read.
- You defined special fields in a development system for transaction FAGLL03. However, after the transport into a test or productive system, these fields do not exist.
- In certain constellations, the AFTER-IMPORT routine for the table T021S for generating the special fields may not be started correctly.
In this case, start the generation yourself. Proceed as follows to do so:
Call transaction SE37, enter the function module ITEM_STRUC_EXTENSION and execute it with the following parameters:
BASIC_STRUCNAME FAGLPOSY
EXT_STRUCNAME FAGLPOSYEXT
EXT_FIELDS_TABNAME T021S
I_LSTCL D
X_TRANSPORT ' '
After you have executed the function module, the structure should be regenerated correctly.