Here is the code of requirement 22 (LV61A022, Inter-company).
* Inter company transaction
form kobed_022.
sy-subrc = 4.
check: komp-werks ne space.
check: komp-fareg na '45'.
if komk-vbtyp ca vbtyp_fkiv.
sy-subrc = 0.
exit.
endif.
if komp-kposn ne 0.
check komp-prsfd ca 'BX'.
check t001-bukrs ne t001k-bukrs.
endif.
sy-subrc = 0.
endform.
* Prestep
form kobev_022.
sy-subrc = 0.
endform.
No idea why condition A and B behaves in different ways with this requirement.
yu