목록2025/01 (24)
쌓고 쌓다
Subroutines서브루틴은 프로그램내에 중복된 코드들을 줄일 수 있으며 유지보수에 용이하다.단, 서브루틴은 프로그램내에 선언되며 다른 프로그램에서 호출하여 사용할 수 없다. 프로그램을 우클릭하여 서브루틴을 생성할 수 있다. 서브 루틴 선언FORM subroutine_name USING ... CHANGING ...ENDFORM.FORM USING ... CHANGING ... ENDFORM 형태로 선언한다. 서브 루틴 호출PERFORM subroutine_name USING ... CHANGING ....PERFROM USING ... CHANGING ... 형태로 호출한다. Actual Parameter, Fo..
Layout StructureALV의 Layout을 변경할때 LVC_S_LAYO 타입의 변수를 사용하여 변경이 가능하다. 메소드 SET_TABLE_FOR_FIRST_DISPLAY 호출 이전에Layout Structure의 컴포넌트 값을 변경하여 설정하고메소드 호출의 파라미터 IS_LAYOUT의 값에 Layout Structure를 넣어주면 된다. LVC_S_LAYO 타입의 몇가지 컴포넌트를 보면 GRID_TITLE : 제목ZEBRA : 홀 짝 ROW의 색깔 달리CWIDTH_OPT : 컬럼 Width 자동 조정NO_TOOLBAR : 툴자 제거NO_HEADERS : 컬럼 헤더 제거TOTALS_BEF : 토탈을 맨 위 ROW에 표시 SEL_MODE : Select Mode로 Cell의 선택 옵션 설정info_..
https://school.programmers.co.kr/learn/courses/30/lessons/12951# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이문자열을 돌며 다음 조건문을 만들어 체크한다. "대문자인 경우"1. 대문자가 그대로 오는 경우 - 앞 문자가 공백이거나 문자열의 시작 위치인 인덱스 0이라면.2. 소문자로 변환해야하는 경우 - 앞 문자가 공백이 아닌경우 "소문자인데 대문자로 변환해야하는 경우"1. 소문자인데 문자열 시작 위치 인덱스 0 이거나 앞에 공백인 경우 "그 외 문자 그대로 출력" 테스트 케이스 8번이 틀리는 경우 다음 경우를 생각해보자.공백의 문자가 연속으로 ..
Layout Variant 설정ALV로 List Data를 Display하여 볼 때보이는 컬럼의 순서를 바꾸거나, 숨김, 오름차순 정렬과 같이레이아웃의 변경을 할 수 있다. 레이아웃의 변경 상태를 저장하고 Display 하는 방법이 있다. CL_GUI_ALV_GRID 클래스로 생성한 GO_ALV_GRID 변수로ALV에 Display 하기 위해 사용하는 SET_TABLE_FOR_FIRST_DISPLAY 메소드의 파라미터에보면 IS_VARIANT, I_SAVE가 존재한다. IS_VARIANT와 I_SAVE 파라미터가 변경된 레이아웃을 저장하고 Display 하는 파라미터이다. DISVARIANT 타입으로 변수를 TOP에 선언하고 SET_TABLE_FOR_FIRST_DISPLAY 메소드 호출 이전에GS_VAR..
ALV (ABAP LIST VIEWR)ALV는 Control Area 위에 Container Control 위에 ALV Grid Control이 존재한다. 1. Control Area 만들기메인 프로그램에 CALL SCREEN 100.을 작성하고100을 더블클릭하여 100번 스크린을 생성해주자. 100번 Screen Painter에서 Custom Control을 눌러서표시할 데이터 영역을 설정한다. 생성한 Custom Control의 Name을 AREA로 작성했다. 100번 스크린의 Element List에 OK_CODE를 추가한다. 100번 스크린의 PBO, PAI의 STATUS_0100과 USER_COMMAND_0100를주석 풀고 더블클릭하여 생성해주자. 2. Object, RefCREATE OBJ..
SELECTION-SCREEN BEGIN OF BLOCK : 블럭 이름 지정TITLE : 생성된 블럭에 표시할 타이틀 예시로 위와 같이 작성할 수 있다. PA_RBT1, PA_RBT2, PA_RBT3는 라디오 버튼 그룹 RBT로 지정했기에그룹내에 하나의 버튼만 체크가 가능하다. 위와 같이 블럭안에 또 다른 블럭을 생성할 수 있다. SELECTION-SCREEN COMMENT위의 형태로 스크린에 COMMENT를 추가할 수 있다.pos : 시작 컬럼 위치len : 차지할 길이(표시할 길이)text : 표시할 텍스트FOR FIELD : 필드의 라벨로 지정해서 텍스트를 클릭하면 필드를 클릭한것과 동일한 효과를 낸다. SELECTION-SCREEN BEGIN OF LINEBEGIN OF LINE으로 안에 ..
요즘 WRITE로 화면에 안뿌려주고ALV (ABAP LIST VIEW)로 뿌려준다. 레포트 프로그램도 스크린을 가질 수 있다. INCLUDE 파일 네이밍 규칙 F : 서브루틴E : START-OF-SELECTION과 같이 ABAP 이벤트들을 위한 파일프로그램을 COPY할때 INCLUDE 파일도 복사하자.안하면 A와 B 두개의 프로그램이 하나의 INCLUDE를 공유하여 사용한다. WRITE 기본 문법 WRITE [AT] [/] ... AT : 들여쓰기용이다. pos를 쓸때 함께 사용한다.pos(len) : pos 위치에서 len 길이만큼f : fieldoptional : 옵션들 [AT] : GC_POS 시작 컬럼 위치(len) : GC_LEN : 표시할 길이optional : 색상을 넣는 키워드..
SubscreenScreen Painter에서 위의 아이콘으로 Subscreen Area를 생성할 수 있다. Layout에 서브스크린 영역을 만들고Name을 SUB로 작성한다. 이제 Subscreen area에 표시할 스크린을 생성해 주자. 101번 스크린을 표시하고자 만들었다.Dynpro Type에 Subscreen을 체크해 주자. 100번 스크린 위에 101번 스크린의 확인을 위해 텍스트를 넣어놨다. 이제 PBO에 서브스크린을 표시하는 코드를 작성해야 한다. subarea : Screen Painter에서 생성한 Subscreen area element의 Nameprogram_name : 프로그램 ID, 보통 시스템 변수 SY-CPROG를 넣는다.* SY-CPROG : 현재 프로그램을 호출한 프로그..