Programación General > ABAP
Medidas Dinamicas Rh
(1/1)
gib8107:
Hola en la actualidad en la empresa en donde estoy laborando estamos implementando RH y tenemos un problema :
Cuando insertamos el infotipo 7 necesitamos actualizar el infotipo 8 ya que cambia el sueldo pero queremos que se ejecute sin verse algo como esto
0001 4 103 P T001P-MOLGA='32'
0001 4 104 P P0000-MASSN='Z5'
0001 4 105 P P0000-MASSG='03'
0001 4 106 P PSPAR-PERSK<>'EQ'
0001 4 107 P PSPAR-PERSK<>'ES'
0001 4 108 P PSPAR-PERSK<>'AQ'
0001 4 109 F F_ANALIZA_MEDIDA(ZHRMEDIDAS)
0001 4 110 I INS,0008,,,(RP50D-DATE1)/D
0001 4 111 W P0008-PREAS='05'
pero al momento de que le paso el parametro del sueldo no me lo respeta me lo pone en blanco en el GRID no se ve pero si le doy /H en el campo del sueldo de la p0008 si esta el valor
alguien sabe comoe s la manera correcta de hacerlo ????
Blag:
Bueno....así es como yo hice el batch input para cargar el IT0008, sino te sirve me avisas ;)
--- Código: Text --- ************************************************************************* Programa : ZHR_CI010 ** Módulo : HR - Recursos Humanos ** Documento: ** Usuario responsable: ** Consultor funcional: Gabriela Mogollón ** Consultor ABAP : Alvaro Tejada Galindo ** ** Descripción: Carga inicial Infotipos PA30 - Emolumentos Básicos ** Transacción: ** Juego de datos: ************************************************************************* REPORT ZHR_CI010 NO STANDARD PAGE HEADING MESSAGE-ID ZMENSAJE. *=======================================================================* Includes*=======================================================================INCLUDE ZBC_IN001. "rutinas de batch inputs *=======================================================================* Estructuras*=======================================================================*- Estructura de Archivo a cargar DATA: BEGIN OF T_DATA OCCURS 0. INCLUDE STRUCTURE BDCDATA.DATA: END OF T_DATA. DATA: BEGIN OF T_CARGAHONOR OCCURS 0, FECHAINI(10) TYPE C, FECHAFIN(10) TYPE C, CODEMP(8) TYPE C, GRUPO(8) TYPE C, SUBGRP(2) TYPE C, GRADO(5) TYPE C, IMPORTE(15) TYPE C, MONEDA(5) TYPE C,END OF T_CARGAHONOR. *=======================================================================* Variables*======================================================================= DATA: LONG TYPE I, COUNT TYPE I, MONEDA(3) TYPE C. CONSTANTS SUBGRUPO(2) TYPE C VALUE '01'.CONSTANTS INFOTYPE(1) TYPE C VALUE '8'. *=======================================================================* Selection screen*======================================================================= SELECTION-SCREEN BEGIN OF BLOCK DATA WITH FRAME TITLE TEXT-T01.PARAMETERS: FILEMON(128) TYPE C OBLIGATORY.SELECTION-SCREEN END OF BLOCK DATA. *=======================================================================* At selection-screen*======================================================================= AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILEMON. PERFORM NOMBRE_ARCHIVO USING FILEMON. *=======================================================================* Start-of-selection*======================================================================= START-OF-SELECTION. PERFORM ABRE_ARCHIVO_PC_HR TABLES T_CARGAHONOR USING FILEMON. PERFORM CREAR_SESION USING 'CI_CPA30EB'. REFRESH T_BDCDATA. LOOP AT T_CARGAHONOR. COUNT = COUNT + 1. PERFORM TRANSFIERE_DATOS_HONORARIOS. PERFORM INSERTA_DATOS USING 'PA30'. ENDLOOP. PERFORM CERRAR_SESION USING 'CI_CPA30EB'. WRITE: / 'Registros leidos:', COUNT, /, / 'Se ha creado el juego de datos: CI_CPA30EB', / 'Ejecutar desde transacción SM35'. END-OF-SELECTION. *=======================================================================* Subrutinas*======================================================================= FORM ABRE_ARCHIVO_PC_HR TABLES TABLA USING ARCHIVO . CALL FUNCTION 'WS_UPLOAD' EXPORTING CODEPAGE = 'IBM' FILENAME = ARCHIVO FILETYPE = 'ASC' IMPORTING FILELENGHT = LONG TABLES DATA_TAB = TABLA EXCEPTIONS CONVERSION_ERROR = 1 FILE_OPEN_ERROR = 2 FILE_READ_ERROR = 3 INVALID_TYPE = 4 NO_BATCH = 5 UNKNOWN_ERROR = 6 INVALID_TABLE_WIDTH = 7 GUI_REFUSE_FILETRANSFER = 8 CUSTOMER_ERROR = 9 OTHERS = 10. IF SY-SUBRC NE 0. MESSAGE E001. ENDIF. ENDFORM. " ABRE_ARCHIVO_PC *&---------------------------------------------------------------------**& Form TRANSFIERE_DATOS_HONORARIOS*&---------------------------------------------------------------------** Transfiere los datos del registro del archivo plano leído a la* tabla interna t_bdcdata.*----------------------------------------------------------------------*FORM TRANSFIERE_DATOS_HONORARIOS. *- Limpia la tabla interna t_bdcdata REFRESH T_BDCDATA. CLEAR T_BDCDATA. IF T_CARGAHONOR-MONEDA NE SPACE. MONEDA = T_CARGAHONOR-MONEDA. ELSE. MONEDA = 'PEN'. ENDIF. PERFORM DYNPRO USING: *- Primera Pantalla 'X' 'SAPMP50A' '1000', '' 'RP50G-PERNR' T_CARGAHONOR-CODEMP, "Codigo Empleado '' 'RP50G-BEGDA' T_CARGAHONOR-FECHAINI, "Fecha Inicial '' 'RP50G-ENDDA' T_CARGAHONOR-FECHAFIN, "Fecha Final '' 'RP50G-CHOIC' INFOTYPE, "Clave Infotipo '' 'BDC_OKCODE' '=INS', "Enter *- Primera Pantalla 'X' 'MP000800' '2000', '' 'P0008-BEGDA' T_CARGAHONOR-FECHAINI, "Fecha Inicio '' 'P0008-ENDDA' T_CARGAHONOR-FECHAFIN, "Fecha Fin '' 'P0008-TRFGR' T_CARGAHONOR-GRUPO, "Grupo '' 'P0008-TRFST' SUBGRUPO, "Sub Grupo '' 'P0008-BSGRD' T_CARGAHONOR-GRADO, "Grado Ocupacion '' 'Q0008-BETRG(01)' T_CARGAHONOR-IMPORTE, "Importe '' 'P0008-WAERS' MONEDA, "Moneda '' 'BDC_OKCODE' '=UPD'. "Actualizar ENDFORM. " TRANSFIERE_DATOS_HONORARIOS
Saludos,
Blag :smartass:
gib8107:
Muchas gracias por la sugerencia :D pero se me paso decir que actualmente lo estoy realizando con un batch input.
lo que buscaba era realizarlo en base a puras medidas dinamicas :comp: para que fuese en automatico y no diferido :smartass:
jaq71:
--- Cita de: "Blag" --- Bueno....así es como yo hice el batch input para cargar el IT0008, sino te sirve me avisas ;)
--- Código: Text --- ************************************************************************* Programa : ZHR_CI010 ** Módulo : HR - Recursos Humanos ** Documento: ** Usuario responsable: ** Consultor funcional: Gabriela Mogollón ** Consultor ABAP : Alvaro Tejada Galindo ** ** Descripción: Carga inicial Infotipos PA30 - Emolumentos Básicos ** Transacción: ** Juego de datos: ************************************************************************* REPORT ZHR_CI010 NO STANDARD PAGE HEADING MESSAGE-ID ZMENSAJE. *=======================================================================* Includes*=======================================================================INCLUDE ZBC_IN001. "rutinas de batch inputs *=======================================================================* Estructuras*=======================================================================*- Estructura de Archivo a cargar DATA: BEGIN OF T_DATA OCCURS 0. INCLUDE STRUCTURE BDCDATA.DATA: END OF T_DATA. DATA: BEGIN OF T_CARGAHONOR OCCURS 0, FECHAINI(10) TYPE C, FECHAFIN(10) TYPE C, CODEMP(8) TYPE C, GRUPO(8) TYPE C, SUBGRP(2) TYPE C, GRADO(5) TYPE C, IMPORTE(15) TYPE C, MONEDA(5) TYPE C,END OF T_CARGAHONOR. *=======================================================================* Variables*======================================================================= DATA: LONG TYPE I, COUNT TYPE I, MONEDA(3) TYPE C. CONSTANTS SUBGRUPO(2) TYPE C VALUE '01'.CONSTANTS INFOTYPE(1) TYPE C VALUE '8'. *=======================================================================* Selection screen*======================================================================= SELECTION-SCREEN BEGIN OF BLOCK DATA WITH FRAME TITLE TEXT-T01.PARAMETERS: FILEMON(128) TYPE C OBLIGATORY.SELECTION-SCREEN END OF BLOCK DATA. *=======================================================================* At selection-screen*======================================================================= AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILEMON. PERFORM NOMBRE_ARCHIVO USING FILEMON. *=======================================================================* Start-of-selection*======================================================================= START-OF-SELECTION. PERFORM ABRE_ARCHIVO_PC_HR TABLES T_CARGAHONOR USING FILEMON. PERFORM CREAR_SESION USING 'CI_CPA30EB'. REFRESH T_BDCDATA. LOOP AT T_CARGAHONOR. COUNT = COUNT + 1. PERFORM TRANSFIERE_DATOS_HONORARIOS. PERFORM INSERTA_DATOS USING 'PA30'. ENDLOOP. PERFORM CERRAR_SESION USING 'CI_CPA30EB'. WRITE: / 'Registros leidos:', COUNT, /, / 'Se ha creado el juego de datos: CI_CPA30EB', / 'Ejecutar desde transacción SM35'. END-OF-SELECTION. *=======================================================================* Subrutinas*======================================================================= FORM ABRE_ARCHIVO_PC_HR TABLES TABLA USING ARCHIVO . CALL FUNCTION 'WS_UPLOAD' EXPORTING CODEPAGE = 'IBM' FILENAME = ARCHIVO FILETYPE = 'ASC' IMPORTING FILELENGHT = LONG TABLES DATA_TAB = TABLA EXCEPTIONS CONVERSION_ERROR = 1 FILE_OPEN_ERROR = 2 FILE_READ_ERROR = 3 INVALID_TYPE = 4 NO_BATCH = 5 UNKNOWN_ERROR = 6 INVALID_TABLE_WIDTH = 7 GUI_REFUSE_FILETRANSFER = 8 CUSTOMER_ERROR = 9 OTHERS = 10. IF SY-SUBRC NE 0. MESSAGE E001. ENDIF. ENDFORM. " ABRE_ARCHIVO_PC *&---------------------------------------------------------------------**& Form TRANSFIERE_DATOS_HONORARIOS*&---------------------------------------------------------------------** Transfiere los datos del registro del archivo plano leído a la* tabla interna t_bdcdata.*----------------------------------------------------------------------*FORM TRANSFIERE_DATOS_HONORARIOS. *- Limpia la tabla interna t_bdcdata REFRESH T_BDCDATA. CLEAR T_BDCDATA. IF T_CARGAHONOR-MONEDA NE SPACE. MONEDA = T_CARGAHONOR-MONEDA. ELSE. MONEDA = 'PEN'. ENDIF. PERFORM DYNPRO USING: *- Primera Pantalla 'X' 'SAPMP50A' '1000', '' 'RP50G-PERNR' T_CARGAHONOR-CODEMP, "Codigo Empleado '' 'RP50G-BEGDA' T_CARGAHONOR-FECHAINI, "Fecha Inicial '' 'RP50G-ENDDA' T_CARGAHONOR-FECHAFIN, "Fecha Final '' 'RP50G-CHOIC' INFOTYPE, "Clave Infotipo '' 'BDC_OKCODE' '=INS', "Enter *- Primera Pantalla 'X' 'MP000800' '2000', '' 'P0008-BEGDA' T_CARGAHONOR-FECHAINI, "Fecha Inicio '' 'P0008-ENDDA' T_CARGAHONOR-FECHAFIN, "Fecha Fin '' 'P0008-TRFGR' T_CARGAHONOR-GRUPO, "Grupo '' 'P0008-TRFST' SUBGRUPO, "Sub Grupo '' 'P0008-BSGRD' T_CARGAHONOR-GRADO, "Grado Ocupacion '' 'Q0008-BETRG(01)' T_CARGAHONOR-IMPORTE, "Importe '' 'P0008-WAERS' MONEDA, "Moneda '' 'BDC_OKCODE' '=UPD'. "Actualizar ENDFORM. " TRANSFIERE_DATOS_HONORARIOS
Saludos,
Blag :smartass:
--- Fin de la cita ---
buenas tardes me intersa este codigo que haz publicado, pero creo que le faltan cosas me lo podris envia a mi correo (jaq71@hotmail.com).... gracias.
Navegación
Ir a la versión completa