목록SAP (75)
쌓고 쌓다
TOP-OF-PAGE로 조회 조건이나 뭐 등등 표시한다. 이때 텍스트의 가운데 정렬이나 뭐 테이블 구조로 데이터를 보여주거나 아이콘을 넣고 등등필요할 것 같아서 TABLE 구조로 TOP OF PAGE를 그려보자. 스플릿 컨테이너에 대한 설명은 생략하고 TOP OF PAGE에 관한 내용은 주석으로 설명해놨으니 읽어보길 바란다. 1. TOP OF PAGE 테이블 구조로 화면 그리기위의 화면처럼 TOP OF PAGE를 그리고 테이블 구조를 넣어보자. TOP 선언 PBO - ALV 초기화 및 설정 ALV 설정 코드더보기MODULE INIT_PO_ALV OUTPUT. IF GO_DOCK_CONTAINER IS INITIAL.* ALV 생성 및 설정 CREATE OBJECT GO_DOCK_CONTA..
ENUM?ABAP의 Domain을 정의할 때Value Range(Fixed Value)로 정해진 값들만 DB에 들어갈 수 있도록 할 수 있었다. Value Range(Fixed Value)의 단점이 하나 존재한다. 바로 컴파일(Active) 단계에서 문제를 미리 잡을 수 없다는 것이다.위의 코드를 보자.흡연 여부에는 3가지 값(Y, N, 공백)만이 가능하다.그러나 컴파일 단계에서는 이 3가지의 값 외의 값이 들어갈 수 있다. 이런 상황을 방지하고 미리 컴파일(Active) 단계 또는 프로그램 코드 단계에서값의 제한을 둘 수 있는 방법이 ENUM 키워드이다. ENUM 구문은 위와 같다. " If the BASE TYPE addition is not specified, the default base ty..
아마 인터넷에서 DECIMALS_O와 DECIMALS를 0으로하라고 했는데적용이 안되어서 검색하다 나의 블로그를 들어온 당신! 다음과 같은 상황일 것이다. 누군가 요청한다.수량에 소수점을 제거하여 ALV에서 보고싶어요! 실제 데이터는 손상시키지 않고ALV상에 보이는 값들만 표시하는 방법으로 하자. 현재 데이터로 사용하는 변수의 소수점 자리는 3자리까지 사용한다. 필드 카탈로그를 설정할 때DATATYPE을 'DEC' 타입으로 바꿔주고DECIMALS로 살릴 소수점 자리들을 넘겨주고DECIMALS_O로 화면에 표시할 소수점 자릿수를 작성하면 된다. 현재 데이터로 사용하는 소수점 자리는 3자리이므로3자리 소수점 자리수를 살리고소수점 자리를 표시하지 않길 원하니 0을 넘겨주면 된다. 결론DECIMAL,..
메일 전송 시 엑셀에 데이터를 원하는 위치에 넣기도 하고글자 크기, 글자 굵기, 배경색 등을 지정하여 넣길 원했기에 OLE 방식을 이용해 메일로 전송하고자 했으나OLE 방식은 엑셀 파일을 한번 컴퓨터에 저장하고 그 파일에 데이터를 넣거나 꾸미는 과정을 거쳐야 하기에제외했다. 아래의 방법도 CL_SALV_TABLE을 이용한 방법인데원하는 위치에 데이터를 집어넣어 엑셀을 구성하는 데는 한계가 있다. 그래서 로컬 컴퓨터에 저장하지 않고 엑셀 파일에 원하는 위치에 값을 넣는 방법이 존재하는가?abap2xlsx 방법이 존재한다. 크게 이메일에 엑셀 파일을 구성해서 첨부하는 방법은1. STRING으로 데이터를 넣어 파일 만들기2. CL_SALV_TABLE로 테이블의 값 파일로 만들기3. OLE 방식으로 엑셀 파일을..
입력받은 이메일로 메일을 전송하는 코드이다. 여기에 String에 문자열을 담아 엑셀 파일로 만들어 파일 첨부를 곁들인 코드이다. 설명은 주석으로 자세히 달아놨다.. 방법 1 - String => Excel ( 비추천 )String에 데이터들을 담아 엑셀 파일로 변경하는것 인데 네이버 메일에서 파일이 손상되어 미리보기가 지원되지 않는걸 보니이 방법은 뭔가 불안정한 파일을 만드는것 같아 비추천한다. 테두리도 넣고 배경색도 넣고 글꼴도 다루고 싶지만 지원하지 않는다. 방법2가 최고다.전체 코드*&---------------------------------------------------------------------**& Report ZS4H086_MAIL_SEND*&--------------------..
기존에 Fixed Value(Value Range)의 값을 읽어오는 방법에 대해 검색을 해보면 'GET_DOMAIN_VALUES' 메소드로 Fixed Value에 값들을 읽고LOOP문으로 테이블 데이터를 돌며 READ로 값을 채워주는 방식이다. 그런데 SELECT로 데이터를 가져올때JOIN문을 사용해서 Fixed Value(Range Value)를 채워줄 수 있는 방법이 있다! 1. DD07T 테이블Fixed Value(Range Value)의 값들은 모두 DD07T라는 DB에 저장되어 있기 때문에JOIN문을 가지고 텍스트 값을 가져올 수 있다. 간단하게 흡연, 비흡연자를 구분하는 Fixed Value(Value Range)를 예제를 들어보겠다. 먼저 사람 테이블에 흡연 여부를 구분하는 필드 SMOKE가..
SELECTION SCREEN에 사용한 PARAMETER 또는 SELECT-OPTIONS는다음과 같이 화면에서 입력 필드로 존재한다.SO_CAR처럼 입력 필드 앞에 붙는 텍스트를 설정할 수 있다. Text Elements 버튼 또는 [Goto] -> [Text Elemetns]를 눌러 텍스트를 설정할 수 있다. 이때까지 Text란에 하드코딩을하고 접속한 언어에 맞춰 보이길 원한다면 Translation을 사용했었다. 그러나 언어에 따라 텍스트를 표시하고 하드코딩하지 않아도Field Label에 입력된 값을 불러와 표시하는 방법이 있다. DDIC Reference(Dictionary 참조) 체크박스를 체크하면Dictionary에 정의된 Field Label을 사용하게 된다.
연휴 때 이지아밥 책을 읽으며 배운 개념을 내 스타일대로 정리하고자 한다. 실습은 차차차... 하는 걸로..! 싱크에서 패키지를 만들 때 또는 무언가 할 때 HOME, LOCAL을 입력하는 것을 본 기억과서버에 문제가 생겨서 뭔 릴리즈하는 과정도 했었고 회사에서 CTS CTS 들었지만 이게 뭔지 몰랐기에이번에 책을 읽으며 이해한 대로 정리하고자 한다. (정리는 모교 대학의 도서관에서 하고 있다 ㅎㅎ일일출입증을 발급받아 자유롭게 출입할 수 있다.) 패키지란?프로그램과 같은 오브젝트를 관리하고자 도입된 개념이다.패키지를 'Development Class'라고도 부른다. (회사의 ECC 서버를 사용할 때 EN 언어에서 이상하게'Package'는 안 보이고 'Development Class' 이것이 패키지 역할..