SE11 -> Structure
FUNCTION zsapifm_jobhist.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(E_HISTORY) TYPE CHAR1
*" TABLES
*" FT_PERNR STRUCTURE ZSAPIST_SOPERNR
*" FT_JOBHIST STRUCTURE ZSAPIST_JOBHIST
*"----------------------------------------------------------------------
DATA : lt_t016t LIKE t016t OCCURS 0 WITH HEADER LINE,
lt_t513c LIKE t513c OCCURS 0 WITH HEADER LINE,
lt_t542s LIKE t542s OCCURS 0 WITH HEADER LINE.
DATA : ld_begda LIKE pa0001-begda,
ld_endda LIKE pa0001-endda.
ld_begda = '18000101'.
ld_endda = '99991231'.
SELECT * FROM t016t INTO TABLE lt_t016t
WHERE spras = sy-langu.
SELECT * FROM t513c INTO TABLE lt_t513c
WHERE spras = sy-langu.
SELECT * FROM t542s INTO TABLE lt_t542s
WHERE spras = sy-langu.
IF e_history EQ 'X'.
SELECT * FROM pa0023
INTO CORRESPONDING FIELDS OF TABLE ft_jobhist
WHERE pernr IN ft_pernr AND
begda GE ld_begda AND
endda LE ld_endda.
ELSE.
SELECT * FROM pa0023
INTO CORRESPONDING FIELDS OF TABLE ft_jobhist
WHERE pernr IN ft_pernr AND
endda EQ ld_endda.
ENDIF.
IF ft_jobhist[] IS NOT INITIAL.
LOOP AT ft_jobhist.
CLEAR : lt_t016t, lt_t513c, lt_t542s.
READ TABLE lt_t016t WITH KEY brsch = ft_jobhist-branc.
IF sy-subrc = 0.
ft_jobhist-brtxt = lt_t016t-brtxt.
ENDIF.
READ TABLE lt_t513c WITH KEY taete = ft_jobhist-taete.
IF sy-subrc = 0.
ft_jobhist-ltext = lt_t513c-ltext.
ENDIF.
READ TABLE lt_t542s WITH KEY ansvx = ft_jobhist-ansvx.
IF sy-subrc = 0.
ft_jobhist-anstx = lt_t542s-anstx.
ENDIF.
MODIFY ft_jobhist.
CLEAR ft_jobhist.
ENDLOOP.
ENDIF.
ENDFUNCTION.
- ZSAPIST_SOPERNR
Field | Data Element | Data Type | Length | Decimal | Label Name |
SIGN | CHAR1 | CHAR | 1 | 0 | Single-Character Indicator |
OPTION | CHAR2 | CHAR | 2 | 0 | Version Number Component |
LOW | PERNR_D | NUMC | 8 | 0 | Personnel Number |
HIGH | PERNR_D | NUMC | 8 | 0 | Personnel Number |
- ZSAPIST_JOBHIST
Field | Data Element | Data Type | Length | Decimal | Label Name |
PERNR | PERNR_D | NUMC | 8 | 0 | Personnel Number |
BEGDA | BEGDA | DATS | 8 | 0 | Start Date |
ENDDA | ENDDA | DATS | 8 | 0 | End Date |
ARBGB | VORAG | CHAR | 60 | 0 | Name of employer |
ORT01 | ORT01 | CHAR | 25 | 0 | City |
LAND1 | LAND1 | CHAR | 3 | 0 | Country Key |
LANDX50 | LANDX50 | CHAR | 50 | 0 | Country Name (Max. 50 Characters) |
BRANC | BRSCH | CHAR | 4 | 0 | Industry key |
BRTXT | TEXT1_016T | CHAR | 20 | 0 | Description of the industry key |
TAETE | TAETE | NUMC | 8 | 0 | Job at former employer(s) |
LTEXT | LTEXT | CHAR | 40 | 0 | Long Text |
ANSVX | ANSVX | CHAR | 2 | 0 | Work Contract - Other Employers |
ANSTX | ANSTX | CHAR | 15 | 0 | Work Contract Text |
FUNCTION zsapifm_jobhist.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(E_HISTORY) TYPE CHAR1
*" TABLES
*" FT_PERNR STRUCTURE ZSAPIST_SOPERNR
*" FT_JOBHIST STRUCTURE ZSAPIST_JOBHIST
*"----------------------------------------------------------------------
DATA : lt_t016t LIKE t016t OCCURS 0 WITH HEADER LINE,
lt_t513c LIKE t513c OCCURS 0 WITH HEADER LINE,
lt_t542s LIKE t542s OCCURS 0 WITH HEADER LINE.
DATA : ld_begda LIKE pa0001-begda,
ld_endda LIKE pa0001-endda.
ld_begda = '18000101'.
ld_endda = '99991231'.
SELECT * FROM t016t INTO TABLE lt_t016t
WHERE spras = sy-langu.
SELECT * FROM t513c INTO TABLE lt_t513c
WHERE spras = sy-langu.
SELECT * FROM t542s INTO TABLE lt_t542s
WHERE spras = sy-langu.
IF e_history EQ 'X'.
SELECT * FROM pa0023
INTO CORRESPONDING FIELDS OF TABLE ft_jobhist
WHERE pernr IN ft_pernr AND
begda GE ld_begda AND
endda LE ld_endda.
ELSE.
SELECT * FROM pa0023
INTO CORRESPONDING FIELDS OF TABLE ft_jobhist
WHERE pernr IN ft_pernr AND
endda EQ ld_endda.
ENDIF.
IF ft_jobhist[] IS NOT INITIAL.
LOOP AT ft_jobhist.
CLEAR : lt_t016t, lt_t513c, lt_t542s.
READ TABLE lt_t016t WITH KEY brsch = ft_jobhist-branc.
IF sy-subrc = 0.
ft_jobhist-brtxt = lt_t016t-brtxt.
ENDIF.
READ TABLE lt_t513c WITH KEY taete = ft_jobhist-taete.
IF sy-subrc = 0.
ft_jobhist-ltext = lt_t513c-ltext.
ENDIF.
READ TABLE lt_t542s WITH KEY ansvx = ft_jobhist-ansvx.
IF sy-subrc = 0.
ft_jobhist-anstx = lt_t542s-anstx.
ENDIF.
MODIFY ft_jobhist.
CLEAR ft_jobhist.
ENDLOOP.
ENDIF.
ENDFUNCTION.
Comments