Purpose Suppress all the superfluous columns in a table, leaving only the few we want |
Solution Use the GetFieldAttribute statement in a loop over all columns Example In transaction IW32 (Change Service Order) the service order operations are displayed in a table control with 89 columns: For a particular application we only want to display 6 columns so that the user does not need to scroll horizontally and search the columns that he needs: Instead of deleting 83 columns by their individual names we use a loop over all columns and exclude the ones that we want to keep. In addition we set some layout properties for the remaining columns:
GuiXT Script // column index label
next_column if V[colname=AFVGD-VORNR] _ or V[colname=AFVGD-LTXA1] _ or V[colname=AFVGD-ARBEI] _ or V[colname=AFVGD-ARBEH] _ or V[colname=AFVGD-FSAVD] _ or V[colname=AFVGD-FSAVZ] goto next_column endif // suppress all other columns ColumnSize [table,&V[k]] 0 goto next_column endif // column order ColumnOrder [Table,AFVGD-VORNR] 1 ColumnOrder [Table,AFVGD-FSAVD] 2 ColumnOrder [Table,AFVGD-FSAVZ] 3 // column width ColumnWidth [Table,AFVGD-FSAVD] 12 ColumnWidth [Table,AFVGD-FSAVZ] 12 ColumnWidth [Table,AFVGD-ARBEH] 6 // column header ColumnHeader [Table,AFVGD-ARBEH] "Unit" endif |
Components |