Autor Tema: Modificar Textos Infotipos  (Leído 2797 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado molaci

  • Usuario Sr.
  • ****
  • Mensajes: 113
    • Ver Perfil
Modificar Textos Infotipos
« en: 28 de Abril de 2011, 09:40:59 am »
Hola, ¿como puedo modificar o crear los textos de los Infotipos?

¿Existe alguna función?

Gracias de antemano.

Desconectado Carlos

  • Usuario Sr.
  • ****
  • Mensajes: 177
    • Ver Perfil
Re: Modificar Textos Infotipos
« Respuesta #1 en: 28 de Abril de 2011, 11:42:34 am »
Te pongo un programa de ejemplo para que puedas seguirlo.

Código: [Seleccionar]
REPORT  ztexto_infotipo.


INCLUDE rpcitx00.
INCLUDE rpcitd00.

INFOTYPES: 2001.

DATA: gt_p2001 LIKE p2001 OCCURS 0 WITH HEADER LINE.

DATA: gf_pernr LIKE p2001-pernr,
      gf_begda LIKE p2001-begda,
      gf_endda LIKE p2001-endda,
      l_len    TYPE i,
      gf_key   LIKE pskey,
      gf_text(200).



gf_pernr = '888777'.
gf_begda = '20110101'.
gf_endda = '20111231'.
gf_text  = 'Texto de prueba...'.



* Se recupera la información del infotipo 2001
CLEAR gt_p2001[].
CALL FUNCTION 'HR_READ_INFOTYPE'
  EXPORTING
    pernr           = gf_pernr
    infty           = '2001'
    begda           = gf_begda
    endda           = gf_endda
  TABLES
    infty_tab       = gt_p2001
  EXCEPTIONS
    infty_not_found = 1
    OTHERS          = 2.


READ TABLE gt_p2001 WITH KEY begda = gf_begda
                             endda = gf_endda.

IF sy-subrc EQ 0.

  IF gf_text IS NOT INITIAL.
    MOVE-CORRESPONDING gt_p2001 TO gf_key.
*   Dividimos el texto en partes
    DO 3 TIMES.
      l_len = STRLEN( gf_text ).
      IF l_len >= 72.
        l_len = 72.
      ENDIF.
      ptext-line = gf_text(l_len).
      APPEND ptext.
      gf_text = gf_text+l_len.
      IF gf_text IS INITIAL.
        EXIT.
      ENDIF.
    ENDDO.
  ENDIF.

  EXPORT ptext TO DATABASE pcl1(tx) ID gf_key.
ENDIF.