본문 바로가기

SAP/BSP

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.. 더보기
BSP - 엑셀 다운로드 예시 STEP 1. BSP PAGE. DATA : LT_HEADER TYPE EXTDFIEST, LS_HEADER TYPE EXTDFIES. DATA : IT_LIST TYPE TABLE ZTEST_T_TEST. LS_HEADER-COLTITLE = '헤'. APPEND LS_HEADER TO LT_HEADER. CLEAR LS_HEADER. LS_HEADER-COLTITLE = '더'. APPEND LS_HEADER TO LT_HEADER. CLEAR LS_HEADER. LS_HEADER-COLTITLE = '부'. APPEND LS_HEADER TO LT_HEADER. CLEAR LS_HEADER. LS_HEADER-COLTITLE = '분'. APPEND LS_HEADER TO LT_HEADER. CLE.. 더보기
BSP - 엑셀다운로드 매개변수 유형 값전달 선택적 타자 참조유형 기본값 내역 I_ITAB Importing Type Ref To DATA I_HEADER Importing V V Type EXTDFIEST DD Internal: Information on Table Fields I_TABLE_EXPORT Importing V V Type ABAP_BOOL ABAP_FALSE I_ADDITIONAL_HTML Importing V V Type STRING Additional HTML Data E_XSTRING Exporting V Type XSTRING E_STRING Exporting V Type STRING E_XSTRING_TABLE Exporting V Type XSTRING E_STRING_TABLE Exporting .. 더보기
Table View에 사용되는 스타일 시트 누락된게 있을지 모르지만 일딴 이것만 css로 올리시면 Table View 의 모양이 바뀜 어떤게 어떤건지는 스스로 찾아보세요( 지금 들어와 있는곳은 BSP하는곳이 아니라서) .urSapTable .urTxtStd .urSTTHL1 .urSTTHL2 .urSTTHL3 .urSTTHBdr .urSTTDBdr2 .urSTTHBdr1 .urSTTHBdr0 .urSTTHBdr2 .urSTTDBdr .urSTTDBdr1 .urSTTDBdrEd .urSTTDBdrEd1 .urSTFootStd .urPagerItmTxt .urPagerWhl .urPagerBtnRow .urPagerItmTxt .urSTFootStd .urPagerTxt .urTbarWhl .urPagerTxt .urPagerItmInput .urP.. 더보기
Table View에 관하여.... 제일 중요한 TABLE VIEW를 빠뜨렸네요 TABLE VIEW는 윕게 말해서 BSP의 ALV라고 보시면 됩니다. 그런데 BSP의 TABLE VIEW 와 ABAP의 ALV는 위상이 다릅니다. 일단 ALV비교적 간단히 LIST를 VIEW할수 있습니다. 그러나 TABLE VIEW는 컨트롤이 약간 어렵습니다. ALV는 비교적 가볍습니다.(WRITE보다는 무거운 느낌이지만 그래도 양호) 그러나 TABLE VIEW는 무겁습니다. 각각 라인마다 코딩도 코딩이지만 많은게 숨어져 있어서 무겁습니다. 안그래도 BSP가 일반 WEB보다 무거운 느낌이 많이 들고 실제로 무겁기 때문에 WEB입장에서 보면 TABLE VIEW는 그리 반가운 TOOL이 아닙니다. 결론적으로 전 개발할때 TABLE VIEW를 사용하지 않는 방향으로.. 더보기
BSP디버깅 BSP 에서 디버깅 하기.. BSP 에서도 디버깅을 할수가 있습니다. ABAP Editer 처럼 해당 소스에 STOP Point를 찍으면되지만.. 다음과 같은 사항을 체크해야 합니다. 1. SAP USER 로 등록 되어 있어야 합니다. BSP Editer 화면에서 Utilities -> BlackPoints->Activate/Deactive for http Users 에 USER를 등록 합니다. 2. TCODE : SCIF 에서 해당 BSP Application 의 인증사항이 표준 R/3 사용자로 체크 되어 있어야합니다. 3. 주의사항 : BSP 에서 디버깅을 하게 되면 SAPgui 화면의 세션을 새롭게 OPEN 하게 됩니다. 만약 SAPgui의 세션이 6개가 열려 있다면 디버깅 세션을 열수 없습니다. .. 더보기
BSP구현방법론 방법1. BSP + HTML + ABAP 이방법은 기존에 발표되었던 많은 자료들에서 쉽게 볼수 있는 형식의 개발방법입니다. 기존의 WEB 개발 JSP, ASP 등과 흡사하게 개발 할수 있기 때문에 기존 개발자들이 쉽게 적응 할수가 있을것 같군여.. 하지만 디자인을 일반 웹개발처럼 해주어야 합니다.(장점일수도 있겠지요) 방법2. BSP + HTMLB + ABAP SAP Enterprise Potal 과 같은 화면디자인을 사용 할 수가 있습니다. HTML Business for JAVA 라고 불리기도 합니다. 화면에 대한 폼양식을 라이브러리로 제공합니다. 방법3. BSP + HTMLB + MVC (ABAP OO) Model View Controller 를 이용한 구현방법입니다. 화면 Layout 과 프로세스.. 더보기
BSP파트에 대해서 여기 티스토리 블로그 SAP-BSP 파트부분은 제가 직접 써봤고 해 봤고 직접 작성한 것들입니다. (물런 소스의 영감이나 도움은 SDN에서 많이 받았습니다. 그러나 한국 BSP사이트에서의 적용과 사용부분은 제가 직접 기술한 내용입니다.) 그런데 DAUM 애드클릭스 심사에서 떨어졌습니다. 이유인즉슨 ___________________________________________________________________________________________________ 먼저 새롭게 시도하려는 '애드클릭스(AdClix) 오픈베타' 에 신청해주셔서 감사합니다. 그러나 이번 기회에는 아쉽게도 애드클릭스 오픈베타 블로그로 선정되지 않으셨습니다. 귀하의 블로그는 애드클릭스의 심사기준 중 하나인 본문 스크랩 비.. 더보기
BSP - Standard Chart Bsp Page LayOut OnInitialization * some data to be displayed DATA: LINE TYPE IGS_DATA. LINE-GROUPID = 'SAP AG'. LINE-X = '1st Quarter'. LINE-Y = 50. LINE-COLOR = 48. LINE-EXTENSION = 'href="http://www.sap.com" alt="SAP AG"'. APPEND LINE TO DATA. LINE-X = '2nd Quarter'. LINE-Y = 35. LINE-COLOR = 0. APPEND LINE TO DATA. LINE-X = '3rd Quarter'. LINE-Y = 43. APPEND LINE TO DATA. LINE-GROUPID = 'Microsoft'. L.. 더보기
BSP - OTR Problem Solved Refresh the OTR buffer with the command /$otr Refresh other buffers /$sync - don't do this in PROD. make sure OTR has been tranported to the System Run the Context Flag Report for the OTR "SOTR_DEFAULT_CONTEXT_FLAG_SET" 더보기
BSP - BSP Table & File Location Table E070 Change & Transport System: Header of Requests/Tasks E071 Change & Transport System: Object Entries of Requests/Tasks TSTC SAP Transaction Codes TSTCT Transaction Code Texts O2APPL O2: BSP Applications O2PAGDIR Oxygen: Page Directory O2PAGDIRT Short Text for Oxygen Pages File 위치 /sap/public/bsp/sap/htmlb/events.js?0007 /sap/public/bsp/sap/htmlb/event_dictionary.js?0007 /sap/public/bc/u.. 더보기
BSP - 화면 접기와 펼치기 인터넷 블로그에 떠 댕기는 접기 펼치기를 구현합니다. 제목 내용 위와 같이 쓰면 제목을 누르면 내용이 보이는 형식이 됩니다. 위에 소스 복사해서 메모장에 붙여넣고 써보세요 그럼 확실히 감이 옵니다. 더보기
BSP - 파일 업로드와 다운로드2 이전에 썼던 소스는 stateful처럼 쓰기위하여 임시 테이블을 쓴것이었다. stateless로 쓴다면 다음과 같이 적으면 된다. Layout File Upload Attached file(s) No. File name Size(Bytes) Delete 일딴 레이아웃 부분에서는 화면을 불러올때마다 목록을 다시 작성한다. OnRequest부분에는 특별히 쓸것은 없다. OnInputProcessing는 *--------------------------------------------------------------------* * Event Data *--------------------------------------------------------------------* CLASS CL_HTMLB_MAN.. 더보기
BSP - BSP에서의 일반적인 팝업 띄우는 소스 버튼클릭이나 이미지클릭처럼 바로 다음 창을 열때 말고 이벤트를 태우고 특정값을 가지고 다음페이지에 팝업을 부를때 사용되는 소스 *--------------------------------------------------------------------* * Layout *--------------------------------------------------------------------* 더보기
BSP - 띄워지는 화면 최대화 BSP라기보다 스크립트에 가까운 호출되는 페이지에 다음 소스를 추가하면 창이 열리면서 최대화가 됩니다. *--팝업창 최대화 더보기
BSP - BSP에서의 LONG TEXT 입출력.. 두말할 필요도 없다. 걍 소스만 보면 된다 '' *--------------------------------------------------------------------* * TYPE DEFINITIONS *--------------------------------------------------------------------* * Long Text TYPES : TYS_TXTEDIT TYPE RFCLINE256_NEW. TYPES : TYT_TXTEDIT TYPE STANDARD TABLE OF RFCLINE256_NEW. TYPES : TYS_TLINE TYPE TLINE. TYPES : TYT_TLINE TYPE STANDARD TABLE OF TLINE. *-------------------.. 더보기
BSP - OnManipulation 생소한 event handler 설명을 하자면 Layout이 뿌려지고 난후 그거 수정 보완하는곳(?) 정도 '' 그러니깐 일반적인 흐름도에서 보면 OnRequest -> OnInputProcessing -> OnInitialization -> Layout -> OnManipulation -> User-dialog 저 과정에서 유저가 화면보기 직전에 행해지는 event handler이다. 이곳에서는 보통 html보완작업정도가 추가된다. (htmlb로 한계가 있는걸 극복하는것들) 글쓴이도 이제 사용법 하나밖에 모르나 그 용도가 커서 소개를 하려고 합니다. 쏘스를 보는게 더 쉽겠죠? ** event handler to manipulate dynamically the HTTP stream * DATA : REP.. 더보기