#1
|
|||
|
|||
ABAP_HR macro exportar
Buenas tardes, estoy intentando actualizar la tabla C1 del cluster con macros pero nunca lo he hecho. Buscando información me ha quedado el código de la siguiente manera... Al ejecutarlo no da errores y se me eactualiza la C1, pero cuando lanzo de nuevo el programa y leo el cluster no se me ha actualizado el dato. Pego las dos rutinas de mi código.
FORM leer_resultados_nomina . DATA: begper LIKE rgdir-fpper, endper LIKE rgdir-fpper. begper = pnpbegda(6). endper = pnpendda(6). * Se limpia el buffer rp-init-buffer. * Se limpia la RGDIR CLEAR rgdir. REFRESH rgdir. cd-key-pernr = pernr-pernr. "Clave de búsqueda rp-imp-c2-cd. "Macro de lectura del cluster CD LOOP AT rgdir WHERE * inper LE endper AND * inper GE begper AND srtza = 'A'. * Se informa de la clave del cluster RX * rx-key-seqno = rgdir-seqnr. rx-key-pernr = pernr-pernr. UNPACK rgdir-seqnr TO rx-key-seqno. CLEAR: rt, c1, wpbp. REFRESH: rt, c1, wpbp. rp-imp-c2-re. CHECK sy-subrc EQ 0. LOOP AT wpbp. MOVE wpbp-bukrs TO itab-bukrs. ENDLOOP. LOOP AT rt WHERE lgart EQ '0DC5'. LOOP AT c1 WHERE c1znr EQ rt-c1znr. MOVE pernr-pernr TO itab-pernr. MOVE rgdir-fpper TO itab-fpper. MOVE rgdir-inper TO itab-inper. MOVE rt-lgart TO itab-lgart. MOVE rt-betrg TO itab-betrg. MOVE rt-c1znr TO itab-c1znr. MOVE c1-txjcd TO itab-txjcd. IF NOT itab-txjcd IS INITIAL. PERFORM actualiza_txjcd. ENDIF. ENDLOOP. ENDLOOP. CLEAR itab. ENDLOOP. ENDFORM. " LEER_RESULTADOS_NOMINA FORM actualiza_txjcd . DATA: lv_afuncional TYPE hrobjid. CLEAR lv_afuncional. SELECT SINGLE afuncional INTO lv_afuncional FROM z33hr_afunc_uplu WHERE unidadplus = c1-txjcd. IF sy-subrc = 0. c1-txjcd = lv_afuncional. MODIFY c1 INDEX sy-tabix. rp-exp-c2-re. " actualiza el cluster RE en buffer IF rp-exp-es-subrc = 0. PERFORM prepare_update USING 'V'. MOVE c1-txjcd TO itab-txjcd. APPEND itab. ENDIF. ENDIF. ENDFORM. " ACTUALIZA_TXJCD A ver si algún entendido en ABAP HR me echa un cable. Gracias. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|