반응형

ABAP 73

ALV Grid에서 Material Number 에서 0 제거

필드에 값중에 앞에 붙은 00 을 제거하는 함수가 있다. 그래서 왠만하면 0을 제거한 상태의 Material Number 를 ALV에 뿌릴 수 있지만 함수를 사용하지 않고도 0을 제거해 줄 수 있는 방법이 있다. ALV 에서 Fieldcatalog를 만드는 과정에서 convexit 옵션을 주는 것이다. 이전에도 기록을 남긴적이 있지만 그 예제이다. http://4512.tistory.com/23 IF gt_fieldcat-fieldname = 'MATNR'. gt_fieldcat-convexit = 'ALPHA'. ENDIF.

SAP/ABAP 2014.01.14

SAP 로그인 후 특정 T-code 수행

SAP 에 로그인 후 특정 T-code를 수행 할 수 있다. 가령 SE80 이라는 Abap program 을 개발하는 대표적인 T-code 로 이동한다던지 특정 메뉴를 실행한다던지 하는 기능을 수행 할 수 있다. User ID 당 설정해야 하면 설정 방법은 아래 와 같다. EXTRAS --> Set Start Transaction --> Give your transaction SHift + F7 알고나면 별거 아니지만 모르면 답답한 내용이었다. - 끗 -

SAP/ABAP 2013.09.05

스케쥴 백그라운 작업 생성 ( Batch Job )

SAP 운영을 하면서 많이 쓰게 되는 기능중 하나가 백그라운드 배치 작업일 것이다. 백그라운드 작업을 언제 얼마나 수행 할 것인지 정하는 것이 서버의 성능과 사용자들이 사용하는데 쾌적한 정도를 잘 파악하여 중요하다. 사용자들이 많은 피크 타임(오전9시~10시사이) 에 무거운(오래걸리는 작업) 프로그램을 돌린다면 당연히 사용자들은 불만이 폭주 할 것이고, 평가의 하락은 불보듯 뻔하다. 아래 내용은 백그라운드 스케쥴 잡을 정리해 놓은 외쿸 사이트를 기본으로 내용을 정리하였다. 알면 별거 아니지만 모르면 할 수 없는 일이다. 아래 모든 내용을 기억하면 좋겠지만 일단 두가지만 기억하자 SM36, SM37 !! 중요한점은 프로그램을 실행하는데 배치잡만을 위한 variant 를 설정하는 것이다. 그리고 미리 프로그..

SAP/스크랩 2013.09.05

PAI Chain

모듈풀 프로그램이나 서브 스크린을 사용하는 프로그램의 경우 텍스트 필드의 변경으로 체크로직이나 자동으로 하는 작업 ( 가령 텍스트 코드 입력시 다른칸에 코드에 따른 텍스트 입력 등 ) 을 처리 할 수 있다. ABAP 도 결국 프로그램이기 때문에 Program Life cycle 만 잘 이해 한다면 쉽게 배울 수 있을것 같다. PROCESS BEFORE OUTPUT. MODULE set_init. MODULE status_0100. MODULE tc100_change_tc_attr. LOOP AT gt_vender WITH CONTROL tc100 CURSOR tc100-current_line. ENDLOOP. PROCESS AFTER INPUT. MODULE exit_rtn AT EXIT-COMMAND...

SAP/ABAP 2013.09.05

Clear, Refresh, Free

개발하는 가운데 변수를 초기화 하는 방법에는 대표적으로 clear , refresh, free 가 있습니다. Clear : 일반변수, structure, itab-header, header없는 itab일 경우에는 body 삭제, itab[]일 경우에는 body만 삭제 Refresh : itab-body, itab[] Free : clear, refresh 모두, 메모리 영역까지 삭제 함으로 사용시 주의할 것 ABAP 을 처음 할 때는 Refresh 를 이용하여 Internal Table 을 많이 초기화 했는데, 차츰 시간이 지날 수록 귀찮아도 Clear 를 사용하여 한 눈에 알아보기 쉽게 개발하고 있습니다.

SAP/ABAP 2013.09.04

ABAP Loop ~ Into / Assigning

개발할 때 Loop into / Loop assigning 은 많이 사용하는 구문입니다. 앞에 into 는 Structure 또는 Internal Table 의 Header 를 이용한 구문이고 assigning 은 field symbol 을 이용한 구문입니다. 두 구문은 동일한 기능 ( Internal table 에 대한 어떠한 처리 )을 수행하지만 방식은 전혀 다릅니다. into 의 경우 별도의 Structure ( 또는 Header )라는 변수에 복사를 하여 처리를 하는 것이고, assigning 의 경우에는 internal table 의 위치(주소값)을 가지고 처리를 하는 것입니다. 그렇기 때문에 assigning 이 성능적으로 복사하는 과정을 생략하여 빠르다고 할 수 있습니다. 또한 interna..

SAP/ABAP 2013.09.04

AT FIRST, AT NEW, AT END OF, AT LAST

개발할 때 가장 많이 쓰는 구문은 LOOP AT ~ ENDLOOP 구문입니다. 다른 언어들과 다르게 Abap 에서는 LOOP 를 돌릴 때 간단하면서도 강력한 기능을 제공합니다. AT FIRST ~~~~ ENDAT. loop의 처음 한 번만 실행 AT NEW ~~~~ ENDAT. 해당 필드의 값이 처음 값이면 실행. AT END OF ~~~ ENDAT. 해당 필드의 값이 sort의 마지막값이면 실행 AT LAST ~~~~~ ENDAT. loop의 마지막 한 번만 실행. 단, 사용하기전에 internal table을 반드시 Sort 시켜서 데이터가 꼬이는 일이 없도록 해야 합니다. SORT LT_P0002 BY PERNR ASCENDING. DATA: LT_CON TYPE TT_MEX0002, LS_CON ..

SAP/ABAP 2013.09.03

모듈풀 프로그램 스크린 필드 옵션

모듈풀 프로그램을 작성하다 보면 스트린의 텍스트 필드,체크박스,드랍다운리스트 등 컨트롤 해야 할 항목이 많이 있습니다. 그리고 그것 하나하나를 세세하게 보였다 안보였다, 길이도 조정, Possible entry 작성 등 많은 내용을 설정할 수 있는데 그중에서 가장 대표적인 내역을 정리해 보았습니다. Component Length Type Attribute Description name 132 c Name Name group1 3 c Group1 Modification group group2 3 c Group2 Modification group group3 3 c Group3 Modification group group4 3 c Group4 Modification group required 1 c Requ..

SAP/ABAP 2013.09.03

ABAP Concatenate 수행시 공백 처리

Concatenate 는 엑셀에서도 있는 명령어 이다. 기능을 쉽게 설명하자면 변수와 변수, 텍스트와 텍스트 등을 연결해 주는 역활을 한다. Concatenate 가 단순히 문자열을 연결해 주는 역할을 하지만 프로그램을 개발하다 보면 이걸로 Field Symbol 을 사용하기 위한 변수명을 만들어 주기도 하고, 여러개의 반복된 변수명을 루프로 돌면서 생성할 때도 유용하게 사용된다. Concatenate 는 기본으로 자동 Trim을 수행한다. 그래서 중간의 공백을 인식하게 하려면 아래와 같은 코드를 사용해야한다. respecting blanks 를 추가하면 자동 Trim 을 수행하지 않는다. Concatenate ' ' string into string respecting blanks. 프로그램을 잘 하려..

SAP/ABAP 2013.09.03
반응형