반응형

SAP 97

SE93 Tcode 에서 Package 가져오기(RS_ACCESS_PERMISSION)

SE93 에서 TCODE 를 조회 하면 아래 Package 를 조회하는 함수이다. 이 함수의 원래의 목적은 PERMISSION에 관한 함수로 추정된다. ( 함수 이름이 PERMISSION 어쩌구 하니 그렇게 추정 ) 하지만 SE93 에서 사용되는 Package 를 가져오는데 활용 할 수 있다. DATA : l_tcode LIKE tstc-tcode, l_devclass TYPE tadir-devclass. CALL FUNCTION 'RS_ACCESS_PERMISSION' EXPORTING global_lock = 'X' mode = 'SHOW' object = l_tcode object_class = 'TRAN' suppress_language_check = '' IMPORTING devclass = l..

SAP/Function 2014.04.11

소수점 올림, 반올림, 내림 함수

SAP 에서는 소숫점 자리에 대한 처리를 하는 함수를 제공한다. 올림,반올림,버림 등 모든 것을 처리 할 수 있는 스텐다드 함수를 소개한다. 아래 예제는 소수 셋째 자리 버림을 하고 싶을 경우 처리한다. DATA: INPUT(10) TYPE P DECIMALS 3, OUTPUT(10) TYPE P DECIMALS 3. INPUT = '1.459'. CALL FUNCTION 'FIMA_NUMERICAL_VALUE_ROUND' EXPORTING * I_RTYPE = ' ' "반올림 * I_RTYPE = '+' "올림 I_RTYPE = '-' "버림 I_RUNIT = '0.01' I_VALUE = INPUT IMPORTING E_VALUE_RND = OUTPUT. WRITE: / INPUT, OUTPUT.

SAP/Function 2014.03.19

Screen 에서 상단 Title 을 변경 시키고 싶을 때

프로그램을 개발하다 보면 상단에 title을 변경하고 싶을 때가 있다. 예를 들면 [2월 조회 데이터] [3월 조회 데이터] 이런식으로 [월]을 변경하면서 Title 을 변경할 경우가 있다. PBO 에서 Set Title 'XXX'. 부분에서 Title을 설정하는데 Set Title 'XXX' with text. 로 변경하면 Title 안에 내용을 변경 할 수 있다. XXX에는 & 를 써서 변경할 수 있다. XXX 는 [&월 조회 데이터] 로 작성하면 된다. http://scn.sap.com/thread/1983537 " Screen dynamaic title " SET TITLEBAR 'XXX' WITH TEXT-001. " Title 에는 & 를 넣어 그 위치에 text-001 이 입력된다. SET ..

SAP/ABAP 2014.03.11

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

테스트/운영 서버에 CR 반영할 때 여러개 동시 반영

개발을 하다보면 CR (Change Request) 를 많이(?) 반영해야 할 일이 있다. 나는 개인적으로 한땀 한땀 넘기면서 잘 넘어 갔는가를 확인하는 Refresh 해서 확인을 하는 습관이 있다. 그러다 보니 시간이 많이 걸리기도 하지만 에러가 나면 바로 대응 할 수 있는 장점이 있다. 그래도 하나 하나 전송하기 귀찮아서 STMS에서 여러개를 동시에 선택해서 넘기는 기능이 없나 찾아보다가 발견하여 기록을 남겨놓는다. 1. Request 를 한개 선택하고 상단에 Select/Deselect Request 버튼 클릭하면 노란색으로 선택이 된다. 2. 다음 Request를 선택하고 동일한 Select/Deselect Request 버튼을 클릭한다. 3. Import Request 버튼으로 전송을 한다. 나..

SAP/ABAP 2014.01.14 (2)

Functional Location From Equipment

아래 내용은 Equipment 에서 Structure Tab 에 Functional Location 을 가져오는 방법이다. 아래의 내용을 기준으로 쿼리를 작성해 보았습니다. * Equipment 를 조회 SELECT A~EQUNR D~EQKTX " Material Description B~GEWRK AS E_GEWRK C~ARBPL AS E_ARBPL " Equipment Main Work Center A~MATNR AS MATNR " Material I~TPLNR AS E_TPLNR " functional location APPENDING CORRESPONDING FIELDS OF TABLE GT_EQUI_LIST FROM EQUI AS A INNER JOIN EQUZ AS B ON A~EQUNR EQ..

IW51 에서 Services For Object 버튼 사라짐 현상

ECC 6.0 으로 업그레이드 후 IW51에서 Services for Object 버튼이 사라졌을 때 확인해야 하는 부분이다.IW51 을 Debug 해보시면 note777981 가 적용된 부분을 확인해 본다. 기존에는 tq80-early_num 필드를 체크하지 않았으나, note777981 적용 후에는 Early_num 필드를 체크하게 되어 있다. *-- Unterscheidung ob Anlegen/ Ändern/ Hinzufügen * IF T365-AKTYP = YAKTYPV OR T365-AKTYP = YAKTYPA. "note777981 IF t365-aktyp = yaktypv OR t365-aktyp = yaktypa "note777981 OR ( t365-aktyp = yaktyph AND..

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

Abap Editor 단축키

Abap New Editor 단축키 모음입니다. 저는 일단 컨트롤 + D (한줄복사) 를 유용하게 쓰는 편입니다. 단축키 내용 Ctr+O 특정라인으로 이동 Ctr+Z 실행취소 Ctr+Y 실행취소복귀 Ctr+Shift+T 라인복사 Ctr+Shift+X 라인잘라내기 Ctr+Shift+L 라인삭제 Ctr+Alt+T 윗라인과 자리변경 Ctr+D 라인 한 줄 더 만들기 Ctr+Alt+up 라인을 위로 이동 Ctr+Alt+down 라인을 아래로 이동 영역+Ctr+L(T) 소문자변경 영역+Ctr+U(K) 대문자변경 영역+Ctr+J 앞문자 대문자 Shift+F1 소스정렬 Ctr + < / > 주석 생성 삭제

SAP/ABAP 2013.09.04

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
반응형