среда, 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.

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