목록분류 전체보기 (812)
쌓고 쌓다
https://non-stop.tistory.com/870지난 포스팅에서 동적 ALV 필드를 구성하는 코드 중에ASSIGN COMPONENT하는 부분 CREAT DATA에 대해서 모르겠어서이해할 수 있도록 단계적 필요 개념과 결과코드를 정리해 보았다. CREATE DATA 변수를 참조하는 오브젝트를 생성하는 구문이다. @DREF→* (역참조라고 부름) : CREATE DATA로 메모리 위치가 할당되면 그 값을 DREF가 갖게 된다. *로 가리키는 그 메모리 위치를 INTO절에 작성해서 결과를 받는 것이다.DREF→필드명 : DFEF를 참조하여 값을 꺼냄 [TYPE|LIKE DTYPE]으로 타입을 지정하는 경우 자동으로 타입 변환된다. 예를 들어보자면ANY 타입으로 선언했지만 SCARR 타입으로 지정할 ..
사실 저번에 동적 ALV Field Catalog를 구성하는 방법에 대해작성한 적 있지만. 깔끔하게 다시 이해하고자 다시 만들어 봤다. 목표입력한 연도에 맞춰서일자별을 누르면 해당 연도의 모든 일자별 ALV 필드가 나오고 주차별을 누르면 월별 주차와 함께 기간을 표시해 보자. 월별 주차 계산에 좀 어려웠는데2025년 2026년은 월별 주차가 잘 계산되어 나오는 걸 확인했다. 동적으로 만든 ALV에 고정된 필드도 추가해 보고 데이터도 집어넣어보자. 일자에 맞는 주차에도 표시하자. TOP Include 필드 심볼에는 구성된 Field Catalog를 통해서Internal Table을 만드는 펑션을 이용해 Internal Table을 가리킬 것이다. ALV 초기화ALV 관련 변수들의 초기화에도 다를 건 없다...
목표 막대그래프, 꺾은선 그래프를 만들어보자.그런데 더 세밀한 커스터마이징이 가능한. 마지막에 보여주려 했는데 선공개하자면이렇게도 막대 그래프를 겹쳐서 그릴 수 있다.다양하게 설정할 수 있는 값들이 많다. 잡담CL_GUI_CUSTOM_CONTAINER와 CL_GUI_CONTAINER타입에 대해 많이 헷갈려서 Split Container를 이용해 CHART ENGINE으로 그래프를 그리는 부분에서CL_GUI_CUSTOM_CONTAINER과 CL_GUI_CONTAINER를 사용하는 타입이 각각 다를 때어떻게 막 변환하고 업캐스트하고 해야 하나 싶었는데 다음과 같이 정리하니깐 쉽게 CHART ENGINE을 사용할 수 있었다. CL_GUI_CUSTOM_CONTAINER는Screen Painter에서 직접 그린 ..
기본적인 그래프를Screen Painter에 Custom Control를 위 사진처럼 만들고 그래프를 그리는 것 뿐만아니라 CL_GUI_CONTAINER 타입인 Container Object에 그래프를 그리는 방법이 있다.Container Object에 넣으면 Docking Container, Split Container를 사용했을때특정 Container 부분에 그래프를 그려 넣을 수 있다. 그래프1 버튼을 누르면 위와같은 그래프가 Docking Container의 한 부분에 그려 넣을 수 있다는 말이다. 그래프2 버튼을 눌렀을때 또 다른 새로운 그래프를 그려 넣을 수 있다. 그래프의 종류는 다양하게 가능하다.단, 누적 막대 그래프는 안된다.누적 막대 그래프를 그리는 방법은 연구해서 다음 포스팅에 작성해..
벌써 1년이 지났네요.. ㅎㅎ 2025년 회고를 작성하는 날이 이렇게 빨리 올줄이야.2024년 회고를 보니 SYNC 교육 입과를 끝으로 이야기가 끝났었구나. 시간의 흐름순으로 회고를 작성해 보자... SYNC 수료 (1월~6월 초)싱크를 무사히 잘 수료했다. 지금 돌이켜보면 마지막 대학교 졸업 학기에많은 고민 끝에 웹SI 회사를 안 가고SYNC 교육을 선택했던 순간이 떠오른다. 나름 새로운 영역에 발을 내딛는 순간이었고 그 선택에 만족한다고 이제는 확신을 가지고 말할 수 있다. 교육 과정에 후회와 미련을 갖는 부분은ABAP 멘토에 지원하지 않은것을 후회하고 있다. 처음에는 어떤 멘토도 지원하지 않으려 했지만옆에서 멘토 안 하기에는 아깝다며 말해준 친구 덕분에뒤늦게 Firoi 멘토라도 활동을 했었다.아직도..
ABAP Memory, SAP Memory 차이점이 뭔지 명확히 하고자 정리하게 되었다.먼저, Session에 대해 이해해야 한다. Session 이해하기User Session SAP GUI 로그인하여 성공했을 때 새로운 User Session 하나가 시작이 된다.로그인할 때마다 하나의 User Session이 생기는 것이다. External Session (Window)로그인했을 때 SE80으로 SAP GUI Window가 하나 생기는데이것을 하나의 External Session이라고 한다./o SE80처럼 새로운 Window 창이 생길 때 두 번째 External Session이 생기는 것이다.최대 6개의 External Session을 열 수 있다. Internal Session화면 하나에 돌고 있..
예를 들어 다음과 같은 FD(Functional Design)을 받았다고 하자. Selection Screen 부분의 요구사항이다.사용자 파라미터의 CAC 값 표시? MEMORY ID 'CAC'를 사용하여 사용자 파라미터 값을 가져올 수도 있지만값을 잘 못 가져오길래 다른 방법을 찾았다. USR05(사용자 마스터 매개변수 ID) 테이블을 사용할 수 있다. USR05 테이블과 SU01사용자가 디폴트로 가지고 있는 값을 처리해야하는 경우 USR05 테이블을 사용해야 한다.디폴트 값들은T-Code : SU01에서 유저별로 설정할 수 있다.(권한이 없어 테스트는 못해봐서 직접 USR05 테이블의 값들을 변경하며 테스트했다..) 또는시스템 - 사용자 프로파일 - 사용자 데이터 탭에서 로그인한 유저로 설정할 수 있..
유지보수하다가 이상한 코드를 발견했다.. 아래와 같이 알 수 없는 단어 M_RANGE와 값들을 넘겨주는 것이다. 예를 들어 M_RANGE라는 매크로를 만들었다. 이건 무슨 구문일까? 매크로 구문이다. 서브루틴이랑 비슷하다고 보면 된다. 값을 넘겨주는 순서에 맞춰 파라미터를 저장하고실행될 코드들을 정의하고 호출할 수 있다. Local MacroTOP INCLUDE 부분에 위와같이 DEFINE ~ END-OF-DEFINITION 구문으로매크로를 정의할 수 있다. &1 &2 &3는 이 매크로를 호출할때 넘겨준 값들의 순서에 맞춰 사용한다.매크로를 사용할때는 위와 같이M_RANGE 값1 값2 값3 값4 값5형태로 호출하여 사용할 수 있다.값의 순서에 따라 &1 &2 &3 ... 에 들어간다. 이것을 Rang..