F-44 字段显示不全

2023-12-28 18:42:59

1991229 - F-44: not all fields defined in the line layout are displayed

SAP Knowledge Base Article, Version: 8, Released On: 21.09.2020

Show Changes

DescriptionProductsThis document is referenced byAttributesAvailable LanguagesRate this document

激活项目以转到页面中的部分

Symptom

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.

Environment

  • Financial Accounting (FI)
  • SAP R/3
  • SAP R/3 Enterprise 4.7
  • SAP ERP Central Component
  • SAP ERP
  • SAP enhancement package for SAP ERP
  • SAP enhancement package for SAP ERP, version for SAP HANA

Reproducing the Issue

  1. Maintain a line layout in T-code: O7Z4K;
  2. In?T-code: F-44, choose the line layout maintained in step 1;
  3. You will see that not all fields?defined?in the above layout are displayed.

Cause

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

Resolution

In order to solve this issue, you have to control the total length of the fields?in variant smaller than 101.

See Also

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

文章来源:https://blog.csdn.net/nopicture/article/details/135274640
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。