Skip to Content
0
Former Member
Jul 18, 2008 at 08:47 AM

HR_READ_INFOTYPE problem

205 Views

Hi! I try to do some by pushing a button..

REFRESH: T0298. CLEAR: T0298.
            CALL FUNCTION 'HR_READ_INFOTYPE'
              EXPORTING
                PERNR           = p0298-pernr
                INFTY           = '0298'
                BEGDA           = p0298-begda
                ENDDA           = p0298-endda
              TABLES
                INFTY_TAB       = T0298
              EXCEPTIONS
                INFTY_NOT_FOUND = 1
                OTHERS          = 2.
            IF sy-subrc eq 0.
              LOOP AT T0298.
                IF T0298-IDENTD ne ''.
                  p0298-IDENTD = T0298-IDENTD.
                  p0298-ZZIDGROUP = T0298-ZZIDGROUP.
                  m_objid = T0298-IDENTD.
                  EXIT.
                ELSE.
                  p0298-IDENTD = m_objid.
                  p0298-ZZIDGROUP = ln_number.
                  EXIT.
                ENDIF.
              ENDLOOP.
            ENDIF.

            p0298-status = 'smth'.

            CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
              EXPORTING
                NUMBER = p0298-pernr.
            CALL FUNCTION 'HR_INFOTYPE_OPERATION'
              EXPORTING
                INFTY         = '0298'
                NUMBER        = p0298-pernr
                LOCKINDICATOR = ''
                VALIDITYEND   = p0298-endda
                VALIDITYBEGIN = p0298-begda
                RECORD        = p0298
                OPERATION     = 'MOD' "or MOD or DEL
                NOCOMMIT      = ''
                tclas         = 'A'
              IMPORTING
                RETURN        = RETURN
              EXCEPTIONS
                OTHERS        = 0.
            IF return-type = 'E'.
              MESSAGE ID return-ID TYPE 'E' NUMBER RETURN-NUMBER.
            ENDIF.

first time i've pushed the button i see the value IDENTD in pa0298 is not empty. 'HR_INFOTYPE_OPERATION' work fine.

but second time i've pushed the button i suppose to get the value IDENTD in structure T0298.

'HR_READ_INFOTYPE' sy-subrc = 0. but IDENTD and

ZZIDGROUP is clear!!! though it's in the database it has values.

and when i push the button the third time - 'HR_READ_INFOTYPE' works fine.

thankful for any ideas