среда, 13 января 2016 г.

PRTE в замещениях.

  DATA ls_prte TYPE prteb.
  DATA lv_index TYPE sy-tabix.

  CALL FUNCTION 'CJDT_PRTE_GET'
    EXPORTING
      proj_imp  = proj-pspnr
      prps_imp  = prps-pspnr
    IMPORTING
      prte_exp  = ls_prte
      index_exp = lv_index.

  IF lv_index IS INITIAL.
    CALL FUNCTION 'CJDT_TRTAB_CREATE'
      EXPORTING
        projwa = proj
      EXCEPTIONS
        OTHERS = 1.
    CALL FUNCTION 'CJDT_PRTE_GET'
      EXPORTING
        proj_imp  = proj-pspnr
        prps_imp  = prps-pspnr
      IMPORTING
        prte_exp  = ls_prte
        index_exp = lv_index.
  ENDIF.

  CHECK lv_index IS NOT INITIAL.
  CHECK ls_prte-pstrt NE proj-plfaz OR
        ls_prte-pende NE proj-plsez OR
        ls_prte-estrt NE proj-sprog OR
        ls_prte-eende NE proj-eprog.

  ls_prte-pstrt = proj-plfaz.
  ls_prte-pende = proj-plsez.
  ls_prte-estrt = proj-sprog.
  ls_prte-eende = proj-eprog.

  CALL FUNCTION 'CJDT_PRTE_MODIFY'
    EXPORTING
      index_imp = lv_index
      prte_imp  = ls_prte
    EXCEPTIONS
      OTHERS    = 1.

* check and save dates
  CALL FUNCTION 'CJTR_POST_DATES'
    EXCEPTIONS
      sched_wrong    = 1
      check_top_down = 2
      OTHERS         = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    EXIT.
  ENDIF.

Комментариев нет: