목록SAP/ABAP (51)
쌓고 쌓다

위와 같이 SY-SUBRC가 0이 아닐때는 문제가 발생한것이므로문제가 있다는것이므로 메시지 출력과 함께 ROLLBACK 처리를 하고자 했다. 그러나 SY-SUBRC에 0이 아닌값이 들어왔을때이전에 발생한 INSERT와 UPDATE, DELETE 등등 수행한 작업에 대해서ROLLBACK WORK가 동작하지 않는것이다. 먼저 ROLLBACK WORK를 진행한 후에메시지를 출력하도록하자. 그러면 ROLLBACK WORK가 정상적으로 동작한다. 메시지 타입 I가 자동으로 커밋을하는것인지메시지와 연결되어 Work process가 자동 커밋을 해버린것인지 모르겠지만롤백을 먼저하고 메시지를 출력해주자. * COMMIT WORK는 지금까지 변경된 데이터베이스 상황을 반영하는 영구 저장하겠다는 키워드이다.

OTFDATA 필드에 폰트 관련 설정인 FC 필드가 있다.여기에 COURIER 폰트로 설정되어있는데 이것을 한글을 지원하는 폰트로 강제 변환할 수 있다. COURIER을 KPDODUM으로 변경하는 코드를 작성하자. 그리고 웹 브라우저 Edge에서 pdf 파일을 볼때 한글이 깨짐 현상이 발생하는데크롬 브라우저에서 실행하면 잘 나온다.

Search Help를 위와 같이 만들었지만특정 필드에서는 몇 개의 값들만 보이길 원했다. 위처럼 프로그램에서 특정 값들만 서치 헬프로 표시하길 원한다. 모듈 풀 프로그램인 Type - M 프로그램에서 PROCESS ON VALUE-REQUEST에서Possible Entry를 띄울 필드를 FIELD로그 로직은 MODULE로 작성하여 해결할 수 있다. 다음은 SEARCH_HELP 모듈의 일부 메소드이다.'F4IF_INT_TABLE_VALUE_REQUEST' 메서드는서치 헬프에 표시할 데이터를 직접 지정해서 담아줄 수 있다. 원하는 값들만 서치헬프에 표시하는데 성공항 상황이다. 원하는 서치헬프 값들을 표시하고 그 값을 선택하면 내용이 들어가는데 문제없지만선택한 KEY의 관련정보들을 함께 표시하길 원했다...

NUMC에서 정수형으로 바꾸고제목을 CONCATENATE로 만들고자 했으나 정수 타입은 넣을 수 없어서&& 연산자로 문자열을 연결하고자 했다. 년 월 일 사이에 공백을 넣고자 ' '를 넣었지만잘림 현상이 발생했다. 백틱 ` 를 이용해 공백을 넣어주자.

12345원을 추가했다.단위는 KRW이다. 화폐 단위를 KRW로하면 SAP에서 100을 나눈 값이 저장된다.12345원을 넣음녀 123.45 값이 저장되는 것 이다. 값 123.45이차/대변에 따라 값이 들어가는 필드를 추가해서ALV에서 추가된 필드를 통해서 보여지게 되는 상황이다. ALV에서 조회할때 KRW임에도 소수점으로 저장된 것이 보여지는 문제가 발생했다. 추가된 필드를 FieldKatalog를 통해서 보여지는데 여기에 화폐단위에 대한 설정을 추가하여 해결 할 수 있다. CFIELDNAME : 현재 ALV List Data에서 화폐단위를 갖는 필드명을 넣는다.TS_ITEM_DATA에 WAERS 필드명으로 화폐단위가 있기에 WAERS를 넣었다. 화폐단위 필드 이름인 CFIELDNAME만 지정해줘도..

연도만 입력하면 2025년도 데이더가연도, 월을 입력하면 2025년도 4월 데이터가 뜨길 원한다. SQL에서 LIKE 구문을Range Variable에서 LIKE는 어떻게 사용하는걸까? 그리고 날짜 DATS 타입은 어떻게 검색해야할까? OPTION에 CP(Contain Pattern)을 주어패턴을 입력해주자. LOW에 '202504*' 값만 넣어주고HIGH에 빈문자열을 넣어주지 않으면 동작하지 않는다. HIGH에 빈문자열 ''를 꼭 넣어주도록하자 ㅠ,ㅠ HIGH에 값이 있어야 LOW만으로 검색이 된다..

ALV Grid에서 추가한 Toolbar를 클릭하면이벤트 로직을 탄 후에 PBO를 타지 않는 상황이 발생했다. 로컬 클래스 이벤트 사용시이벤트 로직을 수행한 후 PBO를 타지 않는다. 그러나 PBO를 타는 과정이 필요하다. I_APPL_EVENTS에 'X'값을 주면이벤트 메소드가 다 실행된 후에 다시 PAI PBO 스크린으로 돌아온다.

위처럼 연도 + 000000 번호 형식으로Number Range를 만들고자한다. 2025년에는 000001부터 999999까지2026년에는 000001부터 999999까지와같은 패턴으로 만들어보자. Number Range에 연도를 붙여 만드는게 구글링해도 잘 안나와서정리하고자 한다~. T code : SNRO Number Range를 만드는 T code는 SNRO이다. Number Range Object 이름을 적어주고 Create 우리의 프로젝트에서 전표번호는NUMC이 아닌 CHAR 타입이다. Number Length Domain : Numeric이나 Char로 되어져 있는것이 Number Length Domain에 와야한다.% Warning : 번호를 딸때 임계치가 10%까지 왔을때 경고이다.예..