본문 바로가기

ABAP 프로그래밍 개념

(127)
3.4 Dynamic Messages 위 그림에서 동적 요소가 포함된 것을 알아차리셨을 수도 있습니다. 이 메시지는 사용자 이름과 프로그램 이름을 메시지 텍스트의 일부로 보여줍니다. 메시지 텍스트에서 ampersand(&)를 플레이스홀더로 사용할 수 있으며, 프로그램에서 MESSAGE 키워드의 WITH 추가를 통해 동적으로 대체할 수 있습니다. 메시지 텍스트에는 최대 네 개의 플레이스홀더를 사용할 수 있습니다. 아래 사진은 두 개의 플레이스홀더가 포함된 메시지를 보여줍니다. 이 플레이스홀더는 MESSAGE 문의 WITH 추가를 통해 제공된 값으로 대체될 것입니다. 메시지는 다음과 같은 구문을 사용하여 전송할 수 있습니다: MESSAGE s000(ZMSG_CLASS) WITH sy-uname sy-repid. 여기서 sy-uname은 사용자 ..
3.3 Messages Using Message Classes 프로그램에서 유지되는 텍스트 심볼(Text Symbol)은 로컬(Local)이므로 해당 프로그램 내에서만 재사용할 수 있습니다. 그러나 여러 관련 프로그램 간에 메시지 텍스트를 공유해야 하는 경우에는 어떻게 해야 할까요? 동일한 메시지 텍스트와 그에 대한 번역을 여러 프로그램에서 유지하는 것은 중복되고 시간 낭비가 될 수 있습니다. 왜냐하면 텍스트에 대한 변경 사항은 각 프로그램에서 수동으로 유지되어야 하기 때문입니다. 메시지 텍스트를 전역적으로 시스템에서 유지하기 위해 메시지 클래스(Message Class)를 사용할 수 있습니다. Global Message Text(전역 메시지 텍스트)는 테이블 T100에 저장되며, 트랜잭션 SE91을 사용하여 구성할 수 있습니다. 새로운 메시지 클래스(Message..
3.2 Messages Using Text Symbols 프로그램 코드에서 메시지를 유지하기 위해 Text Literal('' 혹은 ``을 사용하여 메시지를 코딩하는 것)을 사용하는 주요 단점은 해당 메시지를 프로그램 내에서 재사용하거나 사용자의 로그인 언어에 맞게 사용자 정의할 수 없다는 것입니다. 텍스트 심볼(Text Symbol)을 사용함으로써 메시지를 프로그램 내에서 재사용하고 번역을 유지할 수 있으며, 번역된 텍스트는 시스템이 사용자의 로그인 언어를 기반으로 자동으로 가져올 수 있습니다. Text Symbol을 관리하기 위해서 ABAP Editor에서 Goto • Text Elements • Text Symbols 을 클릭하면 됩니다. 경로는 아래사진과 같습니다. Change Text Symbols(텍스트 심볼 변경) 화면(아래 사진 참조)에서는 각 ..
3.1 Types of Messages 메시지 처리(Message Processing)는 MESSAGE 구문과 구문이 실행되는 프로그램의 문맥에 따라 달라집니다. 특정 메시지 유형이 전송된 후의 시스템의 동작은 문맥에 따라 다릅니다. 아래 표에서는 ABAP 프로그램에서 전송할 수 있는 모든 가능한 메시지 유형을 나열하여 보여줍니다. 표시된 메시지 유형은 프로그램이 오류 후 상황에서 어떻게 동작하고 ABAP 런타임이 메시지를 처리해야 하는지를 정의합니다. 항상 조건에 맞는 적절한 메시지 유형을 사용하고 사용자가 오류를 이해할 수 있도록 충분히 정보를 제공하는 메시지를 관리해야 합니다. 사용자 입력값에 대해 항상 유효성 검사하고 입력 값에 문제가 있는 경우 사용자에게 구체적이고 관련성 있는 메시지를 표시하여 문제를 식별할 수 있도록 해야합니다. ..
3. Messages 메시지는 프로그램에서 사용자와의 커뮤니케이션을 위해 사용됩니다. 주로 Selection Screen에서 사용자가 입력한 값들에 대해 유효성 검사하거나 프로그램이 실행되는 동안 사용자에게 정보를 제공하는 데 사용됩니다. 메시지는 프로그램 코드에서 MESSAGE 구문을 통해 발생시킬 수 있습니다. 요구 사항에 따라 다른 유형의 메시지를 표시할 수 있습니다. 메시지 텍스트(Message Text)는 프로그램 내에서 로컬(Local)로 유지하거나 메시지 클래스를 사용하여 전역적(Global)으로 유지할 수 있습니다. MESSAGE 구문의 사용의 예시는 아래와 같습니다. MESSAGE 'The input is invalid' TYPE 'E'. TYPE이란 Addition을 추가하여 사용한 'E'는 해당 메시지를 ..
2.4 Selection Texts Slelection Screen의 Label을 유지할 수 있는 방법은 선택 텍스트(Selection Text)를 통해 ABAP 프로그램에서 관리하는 것입니다. ABAP 프로그램에서 Goto • Text Elements • Selection Texts를 선택하여 선택 텍스트(Selection Text)를 관리할 수 있습니다. 아래 그림은는 선택 텍스트(Selection Text) 관리 화면을 보여줍니다. 여기에서는 화면 필드가 데이터 요소에 참조되는 경우 텍스트를 수동으로 유지하거나 ABAP Data Dictionary 에서 선택할 수 있습니다. ABAP Data Dictionary에서 텍스트를 선택하려면 사전 참조 열의 해당 필드 오른쪽에 있는 확인란을 선택하면 됩니다. 이 확인란은 필드가 어떤 ABAP..
2.3 SELECTION-SCREEN SELECTION-SCREEN 키워드는 여러 가지 용도로 사용됩니다. 독립적인 선택 화면(Standalone selection screen)과 선택 화면 레이아웃(selection screen layout)을 생성하며, 다른 선택 화면에서의 요소들(elements)을 사용합니다. 이번 글에서는 이 키워드를 사용하여 선택 화면 레이아웃을 정의하는 몇 가지 예를 제공할 예정입니다. SELECTION-SCREEN 키워드에 대한 보다 깊은 논의는 나중에 새로운 카테고리를 통해 자세히 정리해보도록 하겠습니다. SELECTION-SCREEN 키워드는 화면 레이아웃에 영향을 주는 다양한 레이아웃 옵션과 함께 제공될 수 있습니다. ■ SKIP 공백의 한 줄을 만듭니다. Example: SELECTION-SCREEN S..
2.2 SELECT-OPTIONS PARAMETERS 문은 사용자가 단일 값을 입력할 수 있는 하나의 입력 필드를 정의합니다. 예를 들어, 사용자가 청구 문서에 대한 정보를 확인하는 보고서를 실행하고자 할 때 PARAMETERS를 사용하면 Parameter 필드가 단일 문서 번호만 입력할 수 있기 때문에 한 번에 하나의 문서에 대한 세부 정보를 확인할 수 있습니다. 하지만 사용자가 한 번에 여러 문서의 세부 정보를 확인하려는 경우 SELECT-OPTIONS가 사용됩니다. SELECT-OPTIONS는 Data Object에 대한 내부의 Range Table(범위 테이블)을 정의합니다. SELECT-OPTIONS가 작동하는 방식을 이해하려면 먼저 Range Table(범위 테이블)을 이해해야하며, 그 다음에는 여러 선택 창에 대해 설명하겠습..