Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FUNCTION z_o2ce211_s2_get_user_status.
- *"----------------------------------------------------------------------
- *"*"Локальный интерфейс:
- *" IMPORTING
- *" REFERENCE(IM_OBJNR) TYPE OBJNR
- *" REFERENCE(IM_AUART) TYPE AUART OPTIONAL
- *" EXPORTING
- *" REFERENCE(EX_ESTAT) TYPE J_ESTAT
- *" EXCEPTIONS
- *" ERROR_STSMA_NOT_FOUND
- *" ERROR_ESTAT_NOT_FOUND
- *"----------------------------------------------------------------------
- DATA:
- l_auart TYPE auart,
- l_stsma TYPE j_stsma,
- l_objnr TYPE j_objnr,
- ls_jstat TYPE jstat,
- ls_tj30 TYPE tj30,
- lt_tj30 TYPE TABLE OF tj30,
- lt_jstat TYPE TABLE OF jstat.
- IF im_auart IS INITIAL.
- SELECT SINGLE auart INTO l_auart FROM vbak WHERE objnr EQ im_objnr.
- IF sy-subrc NE 0.
- MESSAGE e004(zo2ce211) RAISING error_stsma_not_found.
- ENDIF.
- ELSE.
- l_auart = im_auart.
- ENDIF.
- SELECT SINGLE stsma INTO l_stsma FROM tvak WHERE auart EQ l_auart.
- IF sy-subrc EQ 0.
- MESSAGE e004(zo2ce211) RAISING error_stsma_not_found.
- ENDIF.
- SELECT * INTO TABLE lt_tj30 FROM tj30 WHERE stsma EQ l_stsma.
- IF sy-subrc NE 0.
- MESSAGE e002(zo2ce211) WITH l_stsma RAISING error_estat_not_found.
- ENDIF.
- CALL FUNCTION 'STATUS_READ'
- EXPORTING
- objnr = l_objnr
- only_active = 'X'
- TABLES
- status = lt_jstat
- EXCEPTIONS
- object_not_found = 1
- OTHERS = 2.
- IF sy-subrc <> 0.
- MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 RAISING error_estat_not_found.
- ENDIF.
- LOOP AT lt_jstat INTO ls_jstat.
- READ TABLE lt_tj30 INTO ls_tj30 WITH KEY estat = ls_jstat-stat.
- IF sy-subrc EQ 0 AND ls_tj30-stonr IS NOT INITIAL.
- ex_estat = ls_jstat-stat.
- EXIT.
- ENDIF.
- ENDLOOP.
- MESSAGE e003(zo2ce211) RAISING error_estat_not_found.
- ENDFUNCTION.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement