Hi Folks,
I’m currently working on a small code-change (in NW 7.50 SP13) which involves selecting data from table VBFA based on VBTYP. In parallel, I’m reading some S/4HANA-Cookbooks related to the SD-simplifications, one of which is the extension of VBTYP from 1 to 4 characters (Note 2198647). In that Cookbook, interface IF_SD_DOC_CATEGORY is mentioned and I noticed that this is already available in our system. So, I quickly changed my code from literals to the corresponding associated types in that interface which gives me the same results as before when I run the program:
SELECT DISTINCT vbfa_ls~vbeln AS vbeln
vbfa_ls~vbtyp_n AS vbtyp_n_rg
vbfa_ls~vbtyp_v AS vbtyp_v_ls
vbfa_ls~vbelv AS vbeln_ls
vbfa_tr~vbtyp_n AS vbtyp_n_tr
vbfa_tr~vbtyp_v AS vbtyp_v_tr
vbfa_tr~vbeln AS vbeln_tr
FROM vbfa AS vbfa_ls
LEFT OUTER JOIN vbfa AS vbfa_tr
ON vbfa_tr~vbelv EQ vbfa_ls~vbelv
AND vbfa_tr~vbtyp_n EQ IF_SD_DOC_CATEGORY=>SHIPMENT
* AND vbfa_tr~vbtyp_n EQ '8' "Transport
INTO CORRESPONDING FIELDS OF TABLE gt_vbfa_v
FOR ALL ENTRIES IN gt_main
WHERE vbfa_ls~vbeln EQ gt_main-vbeln
AND vbfa_ls~vbtyp_n EQ IF_SD_DOC_CATEGORY=>INVOICE
* AND vbfa_ls~vbtyp_n EQ 'M' "Rechngung
AND vbfa_ls~vbtyp_v EQ IF_SD_DOC_CATEGORY=>DELIVERY.
* AND vbfa_ls~vbtyp_v EQ 'J'. "Lieferung
I just did a where-used on the interface and see that it gets used quite a bit in SAP-code but I don’t see any mentions yet in our custom-code.
So, I’m wondering if this is okay to already make use of in our own code and whether or not it would make things at least a little bit easier once we actually do a conversion to S/4HANA?
If this is something we can/should already use esp. for new code or changes to existing logic relying on VBTYP, I’ll get the word out to our developers to switch from literals and/or our own constants to these associated types from the interface. Come to think of it, I could perhaps also include this as an additional ATC-check as it's then something already fixable today and doesn't hinge on the system being on S/4HANA.
Thanks and Cheers
Bärbel
P.S.: I first put this question as a comment to Olga Dolinskaja's helpful blog post from 2017 about the custom code adaptation process, but then thought that it might perhaps be of wider interest and therefore converted it to this question.