본문 바로가기

Ⅰ. ERP/1. ABAP

[SAP ABAP] CBO 프로그램 수정 소스

728x90

만약 운영서버에서 직접적인 소스 수정이 불가하지만 급하게 수정해야 할 경우 해당 프로그램을 설치해두면 유용하지만 위험성이 있기 때문에 권고드리지 않습니다.

주의점은 S/4HNA넘어오면서 필드 카탈로그를 생성하는데 길이가 길다는 오류가 뜨는 경우가 있습니다.

이 내용은 주석 포함 소스 길이가 74가 넘어가서 발생하는건데 해당 프로그램에서 수정할 경우 뜰 확률이 높습니다.

대부분 필드 카탈로그 생성방법까지 체크하지 않고 부분만 수정을 하니까요....

꼭 주의해서 사용하세요.


TYPES: BEGIN OF itype,
         line(150),
       END OF itype.

DATA: itab        TYPE itype OCCURS 0 WITH HEADER LINE,
      g_answer(1).

PARAMETERS program LIKE trdir-name OBLIGATORY.

AT SELECTION-SCREEN.

START-OF-SELECTION.

  READ REPORT program INTO itab.

  EDITOR-CALL FOR itab.


  CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
    EXPORTING
      textline1 = ' '
      textline2 = '저장 하시겠습니까?'
      titel     = 'SOURCE 저장'
    IMPORTING
      answer    = g_answer.
  CHECK g_answer = 'J'.

  INSERT REPORT program FROM itab.

 

이 블로그처럼 예외 처리까지 하면 좋을 것 같다.

https://jjji35.tistory.com/141

 

Source 변경 function

FUNCTION y_prg_maint. *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" REFERENCE(INPUT) TYPE TRDIR-NAME *"---------------------------------------------------------------------- TYPES: BEGIN OF it

jjji35.tistory.com

YPES: BEGIN OF itype,
           line(100),
         END OF itype.
  DATA itab TYPE itype OCCURS 0 WITH HEADER LINE.
  DATA : l_cnt TYPE i.

  IF input+0(1) <> 'Z' AND
     input+0(1) <> 'Y'.
    MESSAGE i000(MMRP01) WITH '스탠다드 프로그램은 손댈수 없습니다.'.

    EXIT.
  ENDIF.

  DATA: l_name LIKE trdir-name.

  CLEAR l_name.
  SELECT SINGLE name INTO l_name
    FROM trdir
   WHERE name = input.
  IF sy-subrc <> 0.
    MESSAGE s000(MMRP01) WITH '존재하지 않는 프로그램 입니다.'.

    EXIT.
  ENDIF.

  READ REPORT input INTO itab.

  CLEAR : l_cnt.
  DESCRIBE TABLE itab LINES l_cnt.
  IF l_cnt EQ 0.
    EXIT.
  ENDIF.

  EDITOR-CALL FOR itab.

  INSERT REPORT input FROM itab.
  COMMIT WORK AND WAIT.

 

개발에서 선 수정하고 운영에 반영하는것을 추천드리는데 개발에서 수정을 했다면  CTS가 생성이 되었을겁니다.

그럴 경우에는 아래와 같은 처리를 해야 품질서버 또는 운영서버에 뜨지 않아 혼란을 방지할 수 있습니다.

 

개발에서 SE03에서 CTS 수정

- 아래 오브젝트 잠금해제 클릭

- CTS 입력하고 체크박스 누르고 실행

728x90