Conversion Exit was already mentioned while describing the EDIT_MASK field, but here it is called in a bit different way. Before saying how, it is important to understand the conversion exits. They are no more and no less than a function modules that helps to represent the internal values into understandable or more readable values. An basic example is field MATNR which is 18 characters long in ECC and 40 in S/4 HANA, and if it contains only numbers (for example 123), then the internal value is stored with leading zeros, for example 000000000000000123 in ECC system. As you can imagine reading 123 is easier than 000000000000000123, that’s why field MATNR uses conversion exit ALPHA which deletes the leading zeros in case there are only numbers inside the fields.
There are many standard conversion exits, you can find the by searching of FM that begins with CONVERSION_EXIT_*. You’ll notice that after the second underscore there is a five characters name of the conversion exit, and then _INPUT or _OUTPUT. _INPUT and _OUTPUT describes if the FM is responsible for converting external value into internal (INPUT) or form internal value into external (OUTPUT).
Figure 75 Search of Conversion Exits
In the example program ZDEMO_AIN_CL32 I’ve setup column CONNID to use conversion exit NUMCV. As you see you don’t put the full name of the FM into the CONVEXIT field, it only assumes to get the 5 characters describing the name of the exit. It knows automatically that for output it needs to use CONVERSION_EXIT_NUMCV_OUPUT and for input (in case of editable fields) CONVERSION_EXIT_NUMCV_INPUT.
Figure 76 ZDEMO_AIN_CL32 Conversion Exit NUMCV for field CONNID
When you run the program you can select if you want to see the CONNID with or without conversion exit. In case you want to see it with it, the values of the field will be represented with leading zeros. You may be wondering why it is opposite when you don’t use conversion exit as the internal value in the database is with leading zeros. For some of the types (like NUMC) the output is always done without leading zeros, so if you want to explicitly set to see them, you need to use conversion exits.
Figure 77 ZDEMO_AIN_CL32 Output with Conversion Exit NUMCV
The next figure shows the output without the conversion exit.
Figure 78 ZDEMO_AIN_CL32 Output without Conversion Exit NUMCV