목록SAP (58)
쌓고 쌓다

메시지 타입을 W로 주었더니 다음과 같은 문제가 발생했다.W 타입은 Warning Message로 입력 누락시 사용하는 타입이다.누락된 필드외에 다 잠기는데현재 필드가 다 잠기는 문제가 발생했다. 필드는 잠구지 않고 W 타입의 메시지를 사용하고 싶다면 다음과 같이 사용하면 된다. 메시지 타입은 S로 주지만DISPLAY LIKE 'W'를 사용해서 Warning 표시를 할 수 있다. 위처럼 W 타입의 메세지이지만 필드를 안잠기게 할 수 있다.

유일한 키 값으로 데이터베이스에 레코드가 존재하는지 안하는지 유무를변수를 선언하지 않고 확인하는 방법을 연구한 결과를 소개드리고자 합니다. 계정과목을 생성하는 로직을 작성중인데 무언가 로컬 변수를 선언하고 값의 존재 유무를 확인하는 과정을 생략하면 좋겠다 생각이 들어이것저것 연구하다 방법을 찾아냈습니다.. 아래는 기존의 방법입니다.키 값인 계정과목코드로 존재 유무를 담을 변수를 통해 확인하는 방법입니다. 키 값으로 DB에 조회후 조회된 레코드의 결과를 INTO절에 작성하여변수에 담아 이 값이 INITIAL인지 아닌지에 따라 존재 유무를 구별할 수 있었습니다. 이 과정을 다음과 같이 변수를 사용하지 않고 확인이 가능합니다. 조건절에 키 값을 넣고SELECT 절에 COUNT ( * ) 를 통해 결과를 확..

전표 번호는 CHAR타입 10자리로 지정되어있다.전표 번호는 202500001처럼 모두 숫자가 담겨져 있기에전표 번호로 Range Variable을 통해 범위 검색을하고자 했다. 그런데 사용자가 문자를 입력한다면 Range Value의 범위 검색에서SELECT ~WHERE TEMP IN RT_TEMP구문에서 덤프가 터질 것이다.위와 같이 덤프가 터질 것 이다.왜냐하면 BELNR 전표 번호는 숫자로만 이뤄져야지 Value Range로 LOW부터 HIGH까지 검색이 가능할 것이기 때문이다.I와 BT를 주었기 때문 위와 같이 LV_PATTERN에 정규표현식을 넣고LR_MATCHER Ref 변수를 통해CL_ABAP_MATCHER의 Method CRATE로 패턴과 검증할 값을 넣고 MATCHER를 생성해서MAT..

위와 같이 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만 지정해줘도..