SAP Knowledge Base Article, Version: 8, Released On: 21.09.2020
Show Changes
DescriptionProductsThis document is referenced byAttributesAvailable LanguagesRate this document
激活项目以转到页面中的部分
You have defined a layout via clearing transaction code like T-code: O7Z4K, but when you choose the layout in T-code: F-44, not all fields are displayed.
Since the clearing program allows only?a maximum length of 147 (internally 137), including the fields?that have to be shown independent of the layout variant in general(the decimal places should be considered also):
DF05B-PSBET -> length? 15
DF05B-PSSKT -> length? 15
DF05B-PSSKP -> length ? 6
the available length to be defined in the layout variant is 137 - 36 = 101, so you have to limit the length of the fields defined in the layout not bigger than 101, the length of the fields can be checked by double clicking the fields in T-code: O7Z4K.
When the switch INCLUDE INVOICE REFERENCE is set in FB00,?except for:
DF05B-PSSKP
DF05B-PSSKT
DF05B-PSBET
below fields length need to be considered as well:
DF05B-PSPRT ->length 15
DF05B-STATE ->length 3
In addition, with S4Core 103 AFLE (amount field extension) was delivered. In the clearing transactions, this means that the standard fields have been expanded:
DF05B-PSBET 31
DF05B-PSPRT 31
DF05B-PSSKT 31
DF05B-PSPRT 31
In order to solve this issue, you have to control the total length of the fields?in variant smaller than 101.
You can check the system logic in Form routine?TC_GESAMTLAENGE?in include:?DF05XF03 of program:SAPDF05X.
Call stacks:
3 FORM TC_GESAMTLAENGE
2 FORM TC_XXXX_COLUMNS_MODIFY
1 MODULE (PBO) SEITEN_ANZEIGE_TC
Main Program SAPDF05X
Source code of DF05XF03
......
IF sy-scols GE 147.
loc_max = 137. ? ? ? ? ? ? ? ?<<< internal Max. length 137
ELSE.
loc_max = sy-scols - 10.
ENDIF.
......
LOOP AT <tctrl>-cols INTO tc_col WHERE invisible = space. ? ? ? ? ? << loop all the fields which will be displayed in the corresponding screen
loc_leng = loc_leng + tc_col-vislength.
ENDLOOP.
.....
*------- Feld ausblenden oder Ausgabel?nge kürzen --------------------
LOOP AT <tctrl>-cols INTO tc_col ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
WHERE screen-name = tc_fname.
IF loc_cut GE tc_fltab-lengt.
tc_col-invisible = 'X'. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???<< if the total lengh is larger than 137, this field will be set to invisible
tc_col-screen-output = 0. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? << if the total lengh is larger than 137, this field will be set to invisible
ELSE.
tc_col-vislength = tc_col-vislength - loc_cut. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? << or the field is displayed partially
ENDIF.
MODIFY <tctrl>-cols FROM tc_col.
EXIT.
ENDLOOP.
*------- Maximall?nge eingehalten ? ------------------------------------
loc_leng = loc_leng - loc_cut.
IF loc_leng LE loc_max.
EXIT.
ENDIF.
ENDLOOP.
ENDFORM. " TC_GESAMTLAENGE