Skip to Content

Call transaction FBV0 uses different screens for same user

I'm editing two function modules that process parked FI documents by making a call to transaction FBV0. I'm debugging them in the same client, with the same user, with the exact same inputs. Still one uses screen SAPMF05A 1001 while the other uses SAPLF040 0700. I can't see why.

This thread seems related, but I can't see how I could set the screen variant, nor why my user would use different screen variants.

Here's the first case

I'll switch to display mode A to see all screens, then proceed.

and I reach screen

Here's the data from table BDCDATA

SAPMF05V 0100 X
0000 BDC_CURSOR RF05V-BUKRS
0000 RF05V-BUKRS 1000
0000 RF05V-BELNR 5200000001
0000 RF05V-GJAHR 2018
0000 BDC_OKCODE /00
SAPMF05A 1001 X
0000 BDC_OKCODE=BS
SAPMSSY0 0120 X
0000 BDC_OKCODE=F03
SAPMF05A 1001 X
0000 BDC_OKCODE =RW
SAPLSPO1 0200 X
0000 BDC_OKCODE	=YES

Then I'll debug the other function

Switch to display mode A and proceed (same document)

But the screen is SAPLF040

Here's the data from gt_bdcdata - quite the same as in the previous function module.

SAPMF05V 0100 X
0000 BDC_CURSOR RF05V-BUKRS
0000 RF05V-BUKRS 1000
0000 RF05V-BELNR 5200000001
0000 RF05V-GJAHR 2018
0000 BDC_OKCODE /00
SAPMF05A 1001 X
0000 BDC_OKCODE =BS
SAPMSSY00120 X
0000 BDC_OKCODE =F03
SAPMF05A1001 X
0000 BDC_OKCODE =RW
SAPLSPO10200 X
0000 BDC_OKCODE =YES

Why does SAP use different screens in these cases?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Mar 02 at 02:30 PM

    OK - so I know very little about FI/CO. Here are somethings to try.

    1. Step thru your program as if you are the person do it manually using all transaction codes in the FM.

    2. SHDB is always a great option.

    My guess is that one of the function modules is running a transaction prior to this one. That transaction effects how the screen flow runs.

    Perhaps you could share why there are 2 different FM. What are they doing? Are there any other transactions in them? IF your code isn't too long - copy it here.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 12 at 12:50 PM

    One of your function module is changing a standard memory id "F040_TEST". This is the reason why screen SAPMF05A 1001 can be displayed instead SAPLF040 0700:

      EXPORT global_test_flag FROM char_x TO MEMORY ID 'F040_TEST'.

    Depending the value of the memory id "F040_TEST" and of BKPF-TCODE, then the code of transaction FBV0 will display screen

    SAPMF05A 1001 instead screen SAPLF040 0700.

    The related SAP standard code of transaction FBV0 is there (routine beleg_anzeigen of SAPMF05V):

    • if bkpf-tcode= FB50 and memory id "F040_TEST" is set to X then transaction FV50 will be called and screen SAPMF05A 1001 will be displayed.

    In, your test case, what is the value of bkpf-tcode for your document 1000/5200000001/2018 ?

    Add comment
    10|10000 characters needed characters exceeded