How to debug the Menu Item’s status during FI posting
Sometimes during FI postings, we find the menu item’s status are disabled or enabled which differs from our expectation.
Below is an example, the item in menu “Document->Park” is disabled during FI posting.
- First, we check the program screen and the GUI status via menu: System->Status.
In the SAP Data tab we’ll see the following information:Note: There’re 2 ways to get the GUI status value.
> from the system status screen.
> from the debugging (We’ll introduce it later)
- Program Name
- Screen Number
- GUI status
2. Then we have to go to the flow logic of the screen. Generally speaking there’re two ways we can see the flow logic of the related screen
> Double click the “Screen number” field as descripted in step1
> In SE51, we input the program name and screen name
Usually, the module name starts with “STATUS_SETZEN”. It can be STATUS_SETZEN_U, STATUS_SETZEN_Z, STATUS_SETZEN_W and STATUS_SETZEN_1005, etc. It depends on different screens. Or you can just search for a module contains characteristics ‘STATUS’ ”. Like in FV50, FV60& FV70 the module is “status”. One principle we should remember is: a module in the screen which is used for collecting the menu item’s code into an internal table called “EXCTAB” which is to say: the module locates in PBO and its functionality is to deal with table “EXCTAB”, then this module is our target!
5. Drill into this form and we’ll see another FORM “EXCTAB_FUELLEN”, we can set a breakpoint here to see the run time vaule for variable “STATUS”.
The usage of this form is to get the menu items into table “EXCTAB” all the items in this table will have status Disabled in the screen.
Note: if you don’t know what the target FORM is, just search it in the program with string “EXCTAB” as there’s always a form which collects the
menu items’ code into table EXCTAB. (like in FV50/60/70, under module “Status” there’s a form called “set_exctab”, when we drill into this
form to see the code, it’s collecting menu items’ code into table “EXCTAB”
7. After getting the value of “Status”. In SE80, we input the program name and search a folder called “GUI Status”, under this folder we’ll find the value we get during
the debugging for “STATUS”： In our example it’s “SAPMF05A->GUI Status->ZBV”
9. Technically speaking, those menu item with disabled status are stored in table “EXCTAB”.Then, we can trace the code to see which part code
add those menus into the table “EXCTAB”. In our example it’s ”PERFORM EXCTAB_FUELLEN”
Here we can see the “BP” code is added to the “EXCTAB” table by note.
There can be other reasons, like standard system design, customer enhancements, etc. This is just a way to find.