#1
|
||||
|
||||
Actualizar valores de TC de infotipo 0008
Hola, tengo un problema con la actualización de los importes que aparecen en el table control del infotipo 0008:
En la user exit de PA (tb lo he probado en la badi de PA), recupero sus valores mediante la función 'BAPI_BASICPAY_GETDETAIL' y en base al grado de ocupación del empleado, quiero modificar sus importes. Por debuguer he modificado los importes y los estoy intentando mostrar de nuevo en el TC usando field-symbols y el método pnnnn_to_prelp, ¡pero no hay manera! Pongo mi código: CALL FUNCTION 'BAPI_BASICPAY_GETDETAIL' EXPORTING employeenumber = le_0008-pernr subtype = le_0008-subty objectid = le_0008-objps lockindicator = le_0008-sprps validitybegin = le_0008-begda validityend = le_0008-endda recordnumber = le_0008-seqnr TABLES wagetypes = gt_q0008. IF sy-subrc EQ 0. LOOP AT gt_q0008 INTO ge_q0008. * Actualizar su importe en función del grado de ocupación ld_100 = ( ge_q0008-amount * 100 ) / le_0008-bsgrd. ge_q0008-amount = ( ld_100 * pe_0008-bsgrd ) / 100. * ACTUALIZAR PANTALLA ld_tabix = sy-tabix. * Con esto estaría informando los campos de pantalla --> pero no funciona CONCATENATE '(MP000800)P0008-BET' ld_tabix INTO ld_campo. ASSIGN (ld_campo) TO <fs_salary>. <fs_salary> = ge_q0008-amount. * Con esto la estructura ge_0008 que luego paso de nuevo a pantalla mediante un método. CONCATENATE 'PE_0008-BET' ld_tabix INTO ld_0008. ASSIGN (ld_0008) TO <fs_0008>. <fs_0008> = ge_q0008-amount. ENDLOOP. UNASSIGN <fs_salary>. UNASSIGN <fs_0008>. * Devolver información actualizada CALL METHOD cl_hr_pnnnn_type_cast=>pnnnn_to_prelp EXPORTING pnnnn = pe_0008 IMPORTING prelp = innnn. Un saludo y gracias!!! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|