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.                        &#34;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.                    &#34; 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,      &#34;Codigo Empleado    ''  'RP50G-BEGDA'     T_CARGAHONOR-FECHAINI,    &#34;Fecha Inicial    ''  'RP50G-ENDDA'     T_CARGAHONOR-FECHAFIN,    &#34;Fecha Final    ''  'RP50G-CHOIC'     INFOTYPE,              &#34;Clave Infotipo    ''  'BDC_OKCODE'      '=INS',                &#34;Enter *- Primera Pantalla    'X' 'MP000800'        '2000',    ''  'P0008-BEGDA'     T_CARGAHONOR-FECHAINI,      &#34;Fecha Inicio    ''  'P0008-ENDDA'     T_CARGAHONOR-FECHAFIN,      &#34;Fecha Fin    ''  'P0008-TRFGR'     T_CARGAHONOR-GRUPO,         &#34;Grupo    ''  'P0008-TRFST'     SUBGRUPO,                   &#34;Sub Grupo    ''  'P0008-BSGRD'     T_CARGAHONOR-GRADO,         &#34;Grado Ocupacion    ''  'Q0008-BETRG(01)' T_CARGAHONOR-IMPORTE,       &#34;Importe    ''  'P0008-WAERS'     MONEDA,                     &#34;Moneda    ''  'BDC_OKCODE'      '=UPD'.                     &#34;Actualizar ENDFORM.                    &#34; 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.                        &#34;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.                    &#34; 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,      &#34;Codigo Empleado    ''  'RP50G-BEGDA'     T_CARGAHONOR-FECHAINI,    &#34;Fecha Inicial    ''  'RP50G-ENDDA'     T_CARGAHONOR-FECHAFIN,    &#34;Fecha Final    ''  'RP50G-CHOIC'     INFOTYPE,              &#34;Clave Infotipo    ''  'BDC_OKCODE'      '=INS',                &#34;Enter *- Primera Pantalla    'X' 'MP000800'        '2000',    ''  'P0008-BEGDA'     T_CARGAHONOR-FECHAINI,      &#34;Fecha Inicio    ''  'P0008-ENDDA'     T_CARGAHONOR-FECHAFIN,      &#34;Fecha Fin    ''  'P0008-TRFGR'     T_CARGAHONOR-GRUPO,         &#34;Grupo    ''  'P0008-TRFST'     SUBGRUPO,                   &#34;Sub Grupo    ''  'P0008-BSGRD'     T_CARGAHONOR-GRADO,         &#34;Grado Ocupacion    ''  'Q0008-BETRG(01)' T_CARGAHONOR-IMPORTE,       &#34;Importe    ''  'P0008-WAERS'     MONEDA,                     &#34;Moneda    ''  'BDC_OKCODE'      '=UPD'.                     &#34;Actualizar ENDFORM.                    &#34; 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

[0] Índice de Mensajes

Ir a la versión completa