본문 바로가기

SAP

Developers' Transaction Codes OSS1SAP Online Service System OY19 Compare Tables S001 ABAP Development Workbench S002 System Administration. SA38 Execute a program. SCATComputer Aided Test Tool SCU0Compare Tables SE01 Old Transport & Corrections screen SE09 Workbench Organizer SE10 Customizing Organizer SE10 Customizing organizer - requests for user (To release for transport - enter user name, press Enter. Select changed obje.. 더보기
날짜 계산 *&---------------------------------------------------------------------* *& Report Z_CAL_DATE *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT Z_CAL_DATE. SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETER : P_DATUM TYPE SY-DATUM DEFAULT SY-DATLO, P_TIME TYPE MARA.. 더보기
Find a BADI in a minute http://wiki.scn.sap.com/wiki/display/ABAP/Find+a+BADI+in+a+minute?original_fqdn=wiki.sdn.sap.com 1. Go to the TCode SE24 and enter CL_EXITHANDLER as object type. 2. In 'Display' mode, go to 'Methods' tab. 3. Double click the method 'Get Instance' to display it source code. 4. Set a breakpoint on 'CALL METHOD cl_exithandler=>get_class_name_by_interface'. 5. Then run your transaction in New Sessoi.. 더보기
Global MACRO 종종 프로그램에 break-point를 소스로 처리할 때 BREAK USER_ID. 구문을 쓴다. 이 구문은 사실 ABAP 언어의 문법이 아니라 Global MACRO이다 SAP TABLE : TRMAC 에서 BREAK 로 조회 하면 DATA로 보인다. 이처럼 GLOBAL MACRO는 모든 프로그램에 영향을 미친다. 위와 같은 방법으로 테이블에 업데이트 하면 GLOBAL MACRO를 쓸수 있다. 단 이관이나 다른 문제가 있으니 신중히 써야 된다.(데이터이므로 운영 서버에 데이터를 넣어야 한다.) 더보기
Useful ABAP Package ABAP Useful ABAP Package PackageTitleCommentsSZPR/3 Central Basis Development: Dialog Boxes...Demo programs showing how to use Dialog Boxes in ReportsSWDP_TESTWeb Dynpro: TestsMany many useful Web Dynpro applications, illustrate UI elements usage and important concepts in Web DynproSWDP_DEMO_TUTORIALSWebdynpro Demo ApplicationDemo Web Dynpro Application concepts with Flight Booking system, Quiz .. 더보기
Excel File Read Excel 파일을 읽는 펑션중 ALSM_EXCEL_TO_INTERNAL_TABLE 이 있다. 이 펑션을 자주 사용하는 편인데 이 펑션의 문제는 한 개의 셀이 50byte가 넘어가면 읽지 못한다. 그래서 수정한 펑션이다. Source Function : ALSM_EXCEL_TO_INTERNAL_TABLE FUNCTION ZALSM_EXCEL_TO_INTERNAL_TABLE . *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" VALUE(FILENAME) LIKE RLGRAP-FILENAME *" VALUE(I_BEGIN_COL) TYPE I *" VALUE(I_.. 더보기
스크린에서 버튼을 tree 처럼 만들기 어디서 인지 찾아서 원노트에 저장되어 있는 소스 출처는 알 수 없어요… *&---------------------------------------------------------------------* *& Report YBKTEMP *& *&---------------------------------------------------------------------* *--------------------------------------------------------------------* * 스크린에서 버튼을 tree 처럼 만들기. *--------------------------------------------------------------------* REPORT YBKTEMP. TABLES :.. 더보기
ALV DISPLAY화면에 SCREEN 1000 넣기 ALV 를 DISPLAY 하는 화면에 앞 입력 조건 값을 DISPLAY 해 달라는 요청이 가끔씩 들어오곤 한다. 그럴 때 사용 가능한 예제…. SELECTION SCREEN을 디자인할 때 SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN. 위에 구문 처럼 SUBSCREEN을 지정하고 DISPLAY할 화면에 서브 스크린 을 지정하여 주면 된다. 화면 100 번 디자인( 아랫 부분은 ALV DISPLAY 영역 윗부분은 서브 스크린) Program( 굵게 표시된 부분이 subscreen 을 구성하는 부분이다. *&---------------------------------------------------------------------* *& Report YBKTEMP.. 더보기
SMW0 T-Code : SMW0 를 이용하여 Template 를 다운로드 하는 방법 T-Code : SMW0 WebRFC 어플리케이션 이진 데이터 선택 후 찾기(F8) 알맞은 패키지 및 이름 혹은 내역을 입력 후 실행 생성 및 수정 삭제. 프로그램에서의 활용 PERFORM문으로 따로 프로그램마다 설정할 수 있으나 범용성을 가지기 위해 펑션으로 생성 I_OBJID 에 위에 생성한 Obj. name을 넣어주면 파일 다운로드 할 수 있음 FUNCTION ZCOM_SHOW_SMW0_FILE. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" REFERENCE(I_OBJID).. 더보기
Inline Declarations Inline declarations are a new way of declaring variables and field symbols at operand positions. Data Declarations In ABAP you have many operand positions, where the value of the operand is changed by the statement. The most typical of these "write positions" is the left hand side lhs of an assignment. lhs = rhs. But of course there are more. The data objects you can use at these write positions.. 더보기
SAP 바로가기 팁 C:\Program Files\SAP\FrontEnd\SapGui에서 shortcut.exe 클릭하면 레지스트리에 추가. HKEY_CURRENT_USER\Software\SAP\SAPShortcut\Security 의 EnablePassword값을 1로 수정. 그 후 위와 같이 고쳐주면 된다.(Password부분이 안막혀 있음) 더보기
= '' 와 = ' '가 같다? 항상 하는 이야기지만 SAP에서는 null 이라는 데이터는 없습니다. 데이터의 타입에 따라서 데이터가 들어가지요. 예를 들자면 char로 선언하면 ' ' 이 들어가고 date 이면 '00000000' 이 들어가는 식입니다. 이것을 is initial 등을 사용하면 ABAP에서 알아서 char 일 때는 = ' ' 로 변환해주고 date일 때는 = '00000000' 등으로 변환해 줍니다. 그런데 최근 이상한 쿼리를 만났습니다. = '' 라는 식으로 where 절에 쓴 것들이 자주 보이더군요. 되짚어 보면 저도 이렇게 많이 쓴것 같구요. 하지만 char라고 전제했을 때 = ' ' 와 = '' 는 엄연히 다른데이터로 알고 있습니다. (실제 oracle에서는 어떤지 모르겠네요.) 여튼 그런 의문이 있어서 ST0.. 더보기
message 띄우기.. MESSAGE { msg | text } [message_options]. 예를 들어 message 'text' type 'E'. 이렇게 쓴다면 창 밑에 반짝하고 Error 메세지를 보여준다. Tip1. Function 에서 exporting 중 type 을 BAPIRETURN 으로 잡았다면, 아래의 function 을 통해 메세지를 뿌려줄 수 있다. BALW_BAPIRETURN_GET2 This is to convert the internal table filled with messages to BAPIRET structure . Tip2. POPUP 메세지를 띄우고자 할 땐 다음 function을 써보자.. FB_MESSAGES_DISPLAY_POPUP This is to display a popup.. 더보기
테이블 Lock걸렸을때 더보기
큐관련 T-code : SMQ1 사용법 데이터를 송신할 때 에러가 걸리면 큐에 쌓이게 된다 큐에 쌓인 데이터를 삭제하지 않으면 이미 송신하려 했던 데이터가 뒤에 있던 데이터를 방해한다. 따라서 에러가 난 데이터를 삭제한 후 test를 진행 하여야 한다. 정상적인 SMQ1 더보기
POPUP관련함수들 POPUP_TO_CONFIRM_LOSS_OF_DATAuser가 delete명령같은 것을 실행할 때 dialog box생성한다.POPUP_TO_CONFIRM_STEPuser가 다음 단계로 실행을 원할 때 dialog box 를 생성한다.POPUP_TO_CONFIRM_WITH_MESSAGEuser가 수행중 어떤 특정한 결정을 내리는 부분에 있을때 정보제공 dialog box를 생성한다.POPUP_TO_CONFIRM_WITH_VALUEuser가 특정한 object로 작업을 수행하기를 원할 때 question box를 생성한다.POPUP_TO_DECIDEuser에게 radio button을 제공하여 결정하게 한다.POPUP_TO_DECIDE_WITH_MESSAGEuser에게 분류된 text를 제공함으로써 결정하.. 더보기
BSP 페이지 생성할 때 유용한 것들 TABLE O2PAGDIR : 활성화된 BSP 디렉토리 데이터를 가지고 있음 O2PAGDIRI : 비활성화된 BSP 디렉토리 데이터를 가지고 있음 O2PAGDIRT : BSP 디렉토리의 설명(Text)를 가지고 있음 E070 : 요청/태스크 관련 heade 테이블 Structure O2PAGKEY : BSP application 명과 파일명(디렉토리 포함) O2PAGATTR : BSP 페이지의 Properties에 나오는 내용 O2PAGELINE_TABLE : BSP 페이지의 Layout에 나오는 내용 O2PAGEVH_TABLETYPE : BSP 페이지의 Event Handler에 나오는 내용 O2PAGPAR_TABLETYPE : BSP 페이지의 page Attributes에 나오는 내용 RSWSOURC.. 더보기
BSP - 브라우저 우측 상단 X버튼에 관해 BSP에서는 우측상단 X버튼을 제어할 수 없다. 그러나 직접제어는 못하지만 우회적으로 제어를 할 수가 있다. X버튼을 제어하는 창을 Open 할 때 Modal창으로 호출하여 event 관리를 하는 것이다. 예를 들어 X버튼을 제어하려는 창을 B라고 하자. B창을 Open할 때 직접 띄울 때는 제어를 못하지만 부모창에서 호출된다고 한다면 Modal창으로써 제어가 가능하다. A라는 부모창에서 B라는 모달창이 뜰 경우 B창을 제외하고는 클릭이 안된다. BSP에서 A창에서 B창을 띄울 때 자바 스크립트부분에 htmlbEL(this,2,'Modal:OnInputProcessing()'); 를 추가하여 주면 된다. 그럼 모달창이 닫힐 때 부모페이지에 Modal이라는 event를 던져 주게 된다. 그럼 event를 .. 더보기
BSP - Process bar function doProgressBar(){ if(!document.all.sapProgressBarWindowId){ var height=0;var width=0;var left=0;var top=0; height=document.body.clientHeight; width=document.body.clientWidth; top=document.body.scrollTop; left=document.body.scrollLeft; width=825; height=572; left+=(width - 333) / 2; top+=(height - 575) / 2; // top+=(height - 248) / 2; var progressBar = "" + // var progressBar = "" + "" + .. 더보기
BSP - ZIP 파일 생성(여러개 파일을 묶어서 다운로드) *--------------------------------------------------------------------* * 처리 METHOD *--------------------------------------------------------------------* * IR_RESPONSE Importing Type Ref To IF_HTTP_RESPONSE * IR_NAVIGATION Importing Type Ref To IF_BSP_NAVIGATION * IR_MESSAGES Importing Type Ref To CL_BSP_MESSAGES *--------------------------------------------------------------------* TYPES: BEGIN.. 더보기