cancel
Showing results for 
Search instead for 
Did you mean: 

Difference of Syst Tcode and Bkpf tcode in usong OB28

Former Member
0 Kudos

Just want to know what is the difference between the two? Thanks in advance

Accepted Solutions (1)

Accepted Solutions (1)

iklovski
Active Contributor
0 Kudos

Hi,

System TCode is the one which was actually in use (inititated) while posting the document. The info which is passed to BKPF could differ, as one transaction could start 'behind the screen' another one.

Regards,

Eli

Answers (3)

Answers (3)

Former Member
0 Kudos

I think syst tcode is the tcode that we post the document from and BKPF-tcode will the tcode the custom program does a BDC/ call transactions to.

Former Member
0 Kudos

Thanks for the info you've porovided.

Let me illustrate toi you the scenario

Initial validation in OB 28 is

Pre req : BkPF-TCODE = 'FBV1' AND SYST-BINPT = ''

Check : BKPF-BLART <> 'AC'

message: Document type AC for batch input only

- The result is the user tried to Changed the Parked Docs in Transaction code FBV2, other fields are not editable like reference key 1

When i changed the Pre req BKPF to SYST , user can now edit the the fields in FBV2

thanks for the help ....

iklovski
Active Contributor
0 Kudos

So, that's exactly the case. In BKPF you won't see FBV2, but FBV1. So, if you want to block a user for certain transaction based upon certain conditions, use system transaction field, but mention the real transaction (FBV2 and not FBV1).

Former Member
0 Kudos

I get the point , but why does different tcode behave like that, since the validation is in BKPF does it mean even FBV2 is also validated? and cannot be edited? does FBV2 update the BKPF table also? since it is originated from FBV1?

thanks again 😃

iklovski
Active Contributor
0 Kudos

Hi,

I'm afraid I did not get your last point... Anyway, the system behaves in a normal way: the field in BKPF table is filled with the value of initiating transaction. If the document is edited afterwards, this field is not changed. The system transaction is originated from SYST table and represents the actual transaction used by a system to perform the operation.

Regards,

Eli

Former Member
0 Kudos

BKPF T-code is to do with original source of document creation. Once document is created, BKPF T-code info is stored from the SYST T-code in the header data of the document. And this is one of those fields which will not change even when you will go to document change mode. In your case, FBV1 stays in the header data even when you will use SYST T-code FBV2 to change the document. Whereas SYST T-code has nothing to do with data already stored in the document, so the validation will be effective only when User will actually use the relevant T-code in the validation rule.

Thanks

Ron

Former Member
0 Kudos

Does it mean that the validation given must always be SYST-TCODE , rather than BKPF? based on your explanation even if i was in transaction code FBV2 and the validation pre req is BKPF -FBV1, the system will not allow me to add other info in the header section based on the originating transaction made in FBV1 which you said earlier is stored in BKPF. so i must use syst tcode since this where really the transaction code I've entered, right? thanks i just really want to know if my understanding is correct.

Former Member
0 Kudos

This is correct in your case. BKPF T-code in validation is useful, when you want to validate certain data not only at the time of initial posting but also during subsequesnt postings (like mass update, document change, subsequent Cr/Dr for example) without creating any complex validation rules.

Thanks

Ron

Former Member
0 Kudos

Dear Ron,

I have a question regarding this post.

While I'm triggering Bkpf from SAP XI, tcode shows as empty, is that a normal reaction ?

Former Member
0 Kudos

Dear,

System code is main code based on the program and then different Tcodes can be created to feed default values and so..

Go to SE93 and enter FB01 (this is system Tcode) and display.

Then come back and enter F-02 which is based on F-02....you will see default values maintained into it at the bottom of the screen.

Regards,

Chintan Joshi