Recibo de Nómina de Paga Extra (I)
En la entrada anterior mostramos como añadir una serie de radiobuttons a nuestro programa de impresión del Formulario de Nómina.
De esta manera podemos, como usuario, elegir el tipo de recibo a mostrar. La selección realizada será leída en la BADI que comentaremos más abajo.
Las clases relacionadas con el recibo de nómina siempre tienen en cuenta el molga o agrupación de países a la hora de acceder al cluster correcto de nómina. O incluso lo tienen puesto en código en la propia clase
Por ejemplo la clase CL_HR_PAY_RESULT_ES tiene en su constructor que el cluster de la nómina de España es el RE.
Por tanto, lo que hay que hacer es, en algún punto de la badi que nos ofrece el sistema, decir que el cluster para leer los resultados de nómina de pagas extras es el XE.
La badi que nos ofrece el sistema es HRFORM_HRF02.
Creamos una nueva implementación de la BADI.
En el método MODIFY_PAY_RESULTS es donde vamos a modificar nuestro código para acceder al cluster XE, donde están guardados los resultados de nómina de la ejecución de paga extra.
Lo primero que hacemos es traernos los parámetros que habíamos creado y comprobar que el recibo de paga extra es que se requiere. Tenemos tres valores como podéis refrescar en el post anterior: P_ORD (Paga Ordinaria), P_PEX (Paga Extra) y P_SPEX (Sin Paga Extra)
A partir de ahí, en el mismo método MODIFY_PAY_RESULTS deberemos sobrescribir el parámetro ch_payroll_results que es el que contiene el cluster de nómina leído.
Ahora deberemos asegurarnos de leer el período correcto.
Ponemos por código que el cluster es el XE es al que queremos acceder.
A partir de aquí, yo lo que suelo hacer es «copiar» el código estándar de SAP adoptando las modificaciones necesarias para mis necesidades.
Así que leemos el cluster de nómina tal y como hace el estándar pero con nuestro cluster puesto a dedo, XE.
E importamos de nuevo de forma estándar los resultados a nuestro parámetro ch_payroll_results, accediendo a las tablas del cluster y realizando los cálculos como nos sea necesario.
Eh… volià, ¡¡con esto ya hemos accedido al cluster XE y traído sus resultados a nuestro recibo de nómina!!