Na verdade, esses métodos são muito úteis quando se utilizam BADI's ou USER-EXITS em operações de infotipo de recursos humanos, pois todos esses métodos recebem estruturas/tabelas genéricas escritas com PRELP, que é o tipo genérico para todos os infotipos.
Ao acessar esses métodos para um específico, é necessário converter essa estrutura genérica PRELP em uma estrutura de infotipo específica P0009 (por exemplo), para poder acessar os campos específicos desse infotipo. É nesse momento que utilizamos o método PRELP_TO_PNNNN.
Se fizermos algumas alterações nessa estrutura, provavelmente precisaremos enviar as alterações de volta ao programa de controle, então precisamos incorporar essa estrutura específica na original, nesse cenário utilizamos PNNNN_TO_PRELP.
Aqui está um exemplo com ZXPADU01
case innnn-infty.
when '0002'.
data: l_p0002 type p0002.
call method cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
exporting
prelp = p_innnn
importing
pnnnn = l_p0002.
if l_p0002-natio is initial.
l_p0002-natio = 'ES'.
endif.
if l_p0002-gblnd is initial.
l_p0002-gblnd = 'ES'.
endif.
call method cl_hr_pnnnn_type_cast=>pnnnn_to_prelp
exporting
pnnnn = l_p0002
importing
prelp = p_innnn.
endcase.