목록전체 글 (751)
쌓고 쌓다
Range VariableSELECT문의 WHERE절에 사용하는 조건문을 동적으로 추가할 수 있다. Range 변수는 Internal Table이다.이 Internal Table에 조건을 넣고WHERE 필드 IN 로Internal Table에 넣어진 조건들을 OR로 묶어서WHERE 조건절을 완성할 수 있다. 'B'와 'P' 값이 존재하는 컬럼이 있다. PA_ALL : CUSTTYPE이 B, P 모두 조회PA_PRI : 'P' 값을 같는 ROW 조회PA_BIZ : 'B' 값을 같는 ROW 조회를 위한 RADIOBUTTON이다. SELECT 쿼리를 날릴때사용자가 선택한 상황에 따라 조건건문을 동적으로 생성하고자 한다. Range 변수 선언은 TYPE RANGE OF로 한다.해당 변수는 Internal T..
ALV Grid EventALV Grid에 데이터를 클릭 했을때 해당 Row 또는 Col 정보를 받아 처리하거나HOTSPOT(밑줄) 된 데이터를 클릭했을 때 실행할 로직을 등록하거나툴바에 메뉴를 추가하고 메뉴를 클릭했을때 동작과 같은 이벤트들을 생성, 관리할 수 있다. 더블 클릭시ES_ROW_NO에는 ROW에 대한 정보를 갖는 컴포넌트NUM, ROW_ID 컴포넌트가 존재한다. ES_ROW_NO에 ROW_ID 필드가 있는데 몇번째 ROW를 더블클릭했는지 인덱스를 리턴.E_COLUMN에 COLUMN_ID 필드는 어느 컬럼에서 클릭했는지 컬럼이름을 리턴. E_COLUMN에는 COL에 대한 정보들을 갖는COLUMN_ID, FIELDNAME 컴포넌트가 있다. Field Catalog 조작할때 LVS_S_FCAT..
Field CatalogField Catalog는 표시할 데이터의 포맷을 설명하는것이다. 이전의 ALV는 I_STRUCTURE_NAME으로 ABAP Dictionary에 정의된 스트럭쳐를 사용했기에자동적으로 Field Catalog가 생성된 것이다. Field Catalog는 Internal Table 타입이며, 조작하여 표시될 데이터를 조작할 수 있다.Internal Table 타입은 LVC_T_FCAT,테이블 타입의 Work area로 LVC_S_FCAT 이다. IT_FIELDCATALOGSET_TABLE_FOR_FIRST_DISPLAY의 파라미터에 IT_FIELDCATALOG가 있다.이곳에 Field Catalog를 위해 선언한 LVC_T_FCAT 타입 변수 GT_FCAT를 넘겨주면 된다. 이 ..
Secondary INDEXPRIMARY INDEX는 키 필드로 자동으로 생성된다.Non-Key Field로 Secondary INDEX를 생성할 수 있다. 예를 들어사원 테이블에서 사원 이름을 통해 검색이 자주 일어난다고 하자.그러나 사원 이름은 키 필드가 아니라서 Secondary INDEX가 필요하다. 사원 테이블의 사원 이름을 Secondary INDEX로 설정해보자. T-CODE : SE11에서 테이블을 변경한다.Indexes 탭에서 인덱스를 생성할 수 있다. INDEX명은 Z나 Y로 시작한다. Description을 입력하고 Table Fields를 누른다. 사용할 필드를 누르고 Copy를 누르면 된다.
DataBase의 Table 생성은 SE11에서 할 수 있다. 테이블의 생성 과정에 Technical Setting 탭에서Data Class : 데이터가 저장될 물리적 공간의 키를 지정. Size Category : 데이터를 저장하다가 공간이 줄어들면 확장의 크기를 얼마나 할 것인가Logging : 로그 기록. 변경 이력은 Log Table에 이뤄진다. 수업때 일단 USER를 사용하라고 배웠다.실무에서는 테이블의 용도에 따라 Data Class를 지정하는 것 같다. 외래 키 (Foreign Key)직원의 부서 코드는항상 부서 테이블에 존재하는 부서 코드여야 한다. 이럴때 직원(EMP)와 부서(DEPT)는 외래키로 관계를 맺을 수 있다. 부서 코드 필드인 ORGEH가 있다고 하자. 직원(EMP) 테이블의..
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번이 틀리는 경우 다음 경우를 생각해보자.공백의 문자가 연속으로 ..