본문 바로가기

SAP ABAP 개발 및 설명/SAP(ABAP) 팁

SAP 시스템 변수

시스템 필드는 ABAP 프로그램에서 항상 사용 가능하며, 실행 시스템에 의해 문맥(로직의 결과, 반응 등)에 따라 채워집니다. 프로그램에서 시스템 필드를 통해 상태를 식별할 수 있습니다. 예를 들어, subrc 시스템 필드를 쿼리하여 INSERT 작업이 성공했는지 또는 SELECT 문이 데이터베이스에서 일치하는 레코드를 찾을 수 있는지 여부를 확인할 수 있습니다.

시스템 필드는 프로그램에서 변수로 사용할 수 있지만, 상수처럼 다루어져야 하며 절대 조작되어서는 안됩니다. 모든 시스템 필드는 ABA Data Dictionary에 Structure로 SYST에 있는 필드들을 사용 가능하며, 미리 정의된 Structure SY를 사용하여 프로그램에서 액세스할 수 있습니다. 예를 들어, ABAP 프로그램에서 subrc 시스템 필드에 액세스하려면 하이픈으로 구분된 필드 이름 뒤에 Structure SY 참조를 사용하면 됩니다. 즉, sy-subrc와 같이 사용합니다.

프로그램 데이터 유형과 데이터 객체를 시스템 필드에 참조하려면, SYST Structure 참조를 사용하면 됩니다. 예를 들어, DATA lv_index TYPE syst-index와 같이 작성합니다.


보통, 문장이 성공했는지 확인하기 위해 시스템 필드에 대해 INITIAL 검사를 수행합니다. 이는 5.16 예제에서 보여집니다.

READ TABLE it_sflight INTO wa_sflight WITH KEY CARRID = 'AA'.
IF sy-subrc IS INITIAL.
*******
ELSE.
*******
ENDIF.

이 예제는 READ 문이 일치하는 레코드를 성공적으로 찾았는지 여부를 확인하고, 이에 따라 프로그램 로직을 구성합니다. 이 경우, sy-subrc는 READ 문이 성공했을 경우 초기값을 갖게 되며, 그렇지 않으면 초기값 이외의 값을 갖게 됩니다.

각 키워드는 문맥에 따라 다른 값으로 다른 시스템 필드를 업데이트합니다. 키워드 설명서를 사용하면 다른 키워드에서 설정된 시스템 필드 값을 이해할 수 있습니다.
키워드 설명서를 열려면 ABAP Editor에서 (F1) 키를 누르면 됩니다.

다양한 시스템 필드에 대한 자세한 정보는 http://s-prs.co/474906 에서 SAP 도움말을 참조하십시오.
상태를 쿼리하는 문장 다음에 시스템 필드 검사가 즉시 이루어져야 합니다. 왜냐하면 다른 문장에서도 시스템 필드를 업데이트할 수 있기 때문입니다.

반응형