8월, 2009의 게시물 표시

오브젝트 Lock 거는 방법

  CBO테이블의 경우에는 잠금오브젝트를 만들어 줘야되고 스탠다드 테이블의 경우에는 왠만한건 만들어져 있다..   여기에서는 오더(AUFNR)에 Lock을 거는 방법을 설명한다.   내가 했던 방법대로 설명하자면.   SE11에서 제일 밑에 잠금 오브젝트에서 AUFNR을 검색했다. 그러면 ESORDER 라는 오브젝트가 검색되어 나오는데.. 이 오브젝트를 잠궈 버리면 된다.   잠그는 방법은 ENQUEUE_’오브젝트명’ 이다. 즉, 여기에서 예를 들고 있는 ESORDER 오브젝트를 잠그기 위해서는   CALL FUNCTION  'ENQUEUE_ESORDER' EXPORTING         AUFNR          = 오더번호 EXCEPTIONS         FOREIGN_LOCK   = 1         SYSTEM_FAILURE = 2 OTHERS         = 3. 이렇게 하면 된다. 함수의 양식은 SE80에서는 패턴을 눌러서 ENQUEUE_ESORDER 을 검색하면 나오니 참고하면 된다.   Lock의 해제는 DEQUEUE_’오브젝트명’을 쓰면 된다.

프링글스 마크의 유래

동그란 얼굴에 인자한 콧수염 아저씨가 그려진 프링글스 마크. 이 마크엔 눈물 나는 사연이 있습니다. 2차 세계대전 당시 연합군과 독일군이 치열하게 싸우던 서부전선의 작은 마을. 프록터 앤드 갬블사의 창업자이자 초대회장인 루카시 도비슨(Lucacci Dawbison)은 독일군의 공습에 부모를 잃은 전쟁 고아였습니다. 어느 춥고 배고픈 날, 먹을 것을 며칠간이나 구하지 못했던 고아들은 제비뽑기를 하여 군부대 취사실에 가서 먹을 것을 훔쳐오기로 했는데 하필 루카시가 걸렸습니다. 군부대 취사실에 숨어들어 감자와 옥수수 같은 먹을 것들을 몇 개 집어서 취사실을 빠져나오던 루카시는 이내 어떤 투박한 손에 붙잡히고 말았습니다. 그것이 바로 벙어리 프링글스 씨와 루카시의 첫 만남입니다. 호되게 야단을 맞을 줄 알았던 루카시는 되려 프링글스 씨가 미소를 지으며 감자 몇 알과 고기 몇 점도 넣어주자 몇 번이고 감사하다고 인사 를 했습니다. 그렇게 둘의 인연이 계속 되던 어느 날, 루카시는 프링글스 씨의 손목과 팔, 얼굴 등에 상처가 난 것을 보게 되었습니다. 음식이 조금씩 없어진 것을 눈치 챈 상사가 말 못하는 벙어리인 프링글스 아저씨에게 거친 폭언을 쏟으며 채찍으로 모질게 때렸던 것을 알고 둘은 껴안은 채 뜨거운 눈물을 흘렸습니다. 그러던 중 프링글스 씨가 일하는 부대가 독일군에 의해 포위되어 병사들마저 굶는 사태가 일어났고 루카시는 프링글스 씨가 탈영을 했다는 소문을 들었습니다. 뒤이어 어떤 연합군의 벙어리 병사가 독일군의 밭에서 감자를 훔치다가 잡혀 곧 총살당할 것이라는 소식을 들은 루카시는 깜짝 놀라 형장으로 달려갔습니다. 그 때 마침 울리는 총성... 총에 맞은 프링글스 씨의 고개가 숙여지면서 그가 쓴 허름한 군모가

89회 정보관리 기술사 기출문제

이번 시험은 운영체제, B-tree, 유닉스 운영체제, 알고리즘 등 전산의 기초를 묻는 부분과, 사례를 주고 테스트 케이스를 작성하는 문제, 시나리오를 주고 동적 모델링을 구축하는 문제 등 실무적인 문제가 다수 출제된 것이 특징이라 할 수 있습니다.   ------------------------ 1교시 -------------------------- 1. 운영체제(OS)의 기능과 역할에 대해 설명하시오. 2. B-tree의 장점과 단점에 대해 설명하시오. 3. 공개키 기반 구조(PKI)에 대해 설명하시오. 4. 전자ID지갑 시스템에 대해 설명하시오. 5. Smart Dust를 이용한 홈네트워킹에 대해 설명하시오. 6. 데이터를 압축할 경우의 장점과 단점에 대해 설명하시오. 7. 인터넷 주소로 사용하는 ENUM(tElephone Number Mapping)에 대해 설명하시오. 8. CCL(Creative Commons License)을 설명하시오. 9. SaaS 에스크로우(Software as a service Escrow)에 대해 설명하시오. 10. Open ID를 설명하시오. 11. RIA(Rich Internet Applocation)와 X-Internet을 비교하여 설명하시오. 12. Hypervisor의 두가지 방식(Type1, Type2)과 두가지 구현 기술(Monolithic 방식,      Microkernel 방식)에 대해 설명하시오. 13. 메타버스(Metaverse)의 4가지 범주인 증강현실(Augmented Reality), 가상 세계      (Virtual Worlds), 라이프로깅(LifeLogging), 미러월드(Mirror Worlds)에 대해      설명하시오. ------------------------ 2교시 -------------------------- 1. 운영체제에서 프로세스 상태 다이어그램을 그리고, 각 상태와 상태간의     변환

알아두면 유용한 SAP TABLE

지난번엔 자주쓰이는(?) sap테이블에 대해 포스팅을 했었다. 이번에는 개발자를 위한 유용한 테이블 몇개를 소개 한다.   1. 먼저 소개될 DD02L, DD02T는 오라클의 TABLES와 비슷한 역할을 하는 테이블 들이다. 테이블의 Description을 담고 있다. DD02T(R/3 DD: SAP table texts) Table Short text 에 값 Accounting Document Header 를 넣고 조회 하면 Table Name 에 BKPF를 출력함을 알수 있다. DD02L(SAP table)   Sap Table을 저장하고 있다. 2. DD03L,DD03T 오라클의 Cols 와 비슷한 역할을 하는 테이블이다. 테이블의 필드목록을 가지고 있다. DD03L(Table Fields) table은 table field 의 목록이 저장 되어 있는 table이다. Table의 Field와 그에 대한 설명과 유사한 Field를 조회 할때 사용된다. DD03L(Table Field) Field name 를 BELNR 를 넣고 조회를 하면 BELNR를 사용하고 있는 Table의 전체 내역과 그에 대한 설정및 Data element 등 여러가지 정보를 얻을수 있다. 3. 그외 TADIR(Directory of Repository Objects) SAP 에서 사용되고 있는 각종 Program ID 등 Repository Object 에 대한 정보를 알수 있다. TBTCO(Job status overview table) Background Job에 대한 정보 등을 알수 있는 Table 입니다. E070(Change & Transport System: Header of Requests/Tasks) CTS에 대한 Master Table 입니다. 보통 Release 된 CTS를 다시 되돌릴때 사용되기도 합니다.(비추)

잘못된 영어표현(콩글리쉬)

실생활에 흔히 쓰이지만.. 잘못된 영어 표현이다..  잘익혀두면 나중에 실수 할일이 없을거 같다..    아이쇼핑 eye shopping - window shopping 백넘버 back number - uniform number 미팅 meeting - blind date 스킨쉽 skinship - foreplay, physical contact. (참고로 kinship은 친족관계나 혈족관계를 말한답니다.) 컨디션 condition 샤프 sharp - mechanical pencil 화이트 white - correction fluid, correction pen, white-out(이 단어가 더 많이 쓰인다고 하네요. 실생활에서..) 싸인펜 sign pen - felt tip pen 노트북 notebook - laptop 모닝콜 morning call - wakeup call (automatic wakeup call) 코팅 coating - laminating 오토바이 - motorcycle, autocycle 핸들 handle - steering wheel 백미러 back mirror - outside mirror, rear mirror, rearview mirror 클락션 klaxon - horn 킥보드 kickboard 카센타 car center - auto repair center   diary(다이어리)-->schedule book/appointment book sign pen(싸인펜)--->felt-tip pen magic sharp(샤프)--->mechanical pencil underline pen(형광펜)--->highlighter cutline(커트라인)--->cut-off line scotch tape(스카치테잎)--->sticky tape cu

TCO Stream 삭제 프로그램

이미지
f44-tcunist-ws_cho.exe         간혹 TCO Steam이란 프로그램 때문에 시스템에 문제가 발생하는 경우가 있다. 이놈을 지워야 되겠는데.. 당췌 지울수가 있어야지.. ㅡ-ㅡ;   다행히 삭제 프로그램을 구했다.. ㅎㅎ 생각보다 잘 되네.. ^^      

업무별 사용 테이블 2

11. Purchase Requisition 관리 Table       - EBAN       Purchase Requisition       - EINA       Purchasing Info Record - General Data       - EINE       Purchasing Info Record - Purchasing Organization Data       - LFM1       Vendor master record purchasing organization data       - T001K      Valuation area       - T001W      Plants/Locations       - T024E      Purchasing Organizations       - T160       SAP Transaction Control, Purchasing       - T161A      Linkage of Requisition Doc. Type to Purchasing Document Type       - T161W      Order Types for Stock Transfer   12. Purchase Document 관리 Table       - EKKO       Purchasing Document(RFQ,CONTRACT,PO) Header       - EKPO       Purchasing Document(RFQ,CONTRACT,PO) Item       - EKET       Delivery Schedules       - EKBE       History of Purchasing Document       - EKKN       계정지정 구매문서 관련 테이블   13. Sales Order 관리 Table       - KNA1       General Data in Customer Master

효과적인 코딩기법

이미지
1 SELECT 구문 최적화 1.1 SAP R/3 구조 이해하기 - R/3 구조를 이해하기 위해 아래와 같이 VBAK 테이블에서 데이터를 1000건 SELECT 하는 프로그램을 작성해 보자. - 읽어올 정보는 다음과 같다. - VBAK-VBELN: 오더 번호 - VBAK-AUART: 오더 종류 - VBAK-BNAME: 오더 이름 - VBAK-KUNNR: Sold to party - 일반적으로 아래와 같은 방식으로 SELECT 문장을 작성할 것이다. REPORT ZSAMPLE1. TABLES : vbak. SELECT * FROM vbak. IF sy-dbcnt > 1000. EXIT. ENDIF. WRITE: / vbak-vbeln, … ENDSELECT. - 위 구문은 VBAK 테이블의 모든 칼럼을 한 건씩 읽어 가면서, WRITE 하는 구조로 되어 있으며, SY-DBCNT를 확인하여 1000건이 넘으면 EXIT하도록 되어 있다. - 그럼 다음 단계에서 왜 위 문장이 비효율적인지 알아보자. 1.2 SAP R/3 구조와 실행시간 - R/3 는 아래 그림과 같은 구조로 이루어져 있다. - R/3 는 위의 그림과 같이 3 계층 구조로 되어 있다. 즉, 사용자가 시스템에 특정 데이터에 대한 요청을 하면, Application Server가 중간에서 사용자의 요청을 가공한 후, DB Server에 데이터에 대한 요청을 보내고, DB Server로부터 데이터를 받아, 다시 가공하여 사용자에게 보내는 방식으로 처리한다. - 따라서, 앞과 같이 SELECT * 하게 되면, 문제에서 제시한 네 개 필드 외에 해당 레코드의 모든 필드를 가져오게 된다. 즉, VBAK 테이블의 한 레코드 크기가 대략 575바이트인데, 10

에러 팝업으로 보이기(HELP_START 이용)

DATA: LS_HELP_INFO LIKE HELP_INFO,       LT_DSELC     LIKE DSELC OCCURS 0,       LT_DVAL      LIKE DVAL OCCURS 0.   LS_HELP_INFO-CALL   = 'D'. LS_HELP_INFO-OBJECT = 'N'. LS_HELP_INFO-SPRAS  = SY-LANGU. LS_HELP_INFO-DOCUID = 'RE'. LS_HELP_INFO-REPORT = TEXT-001.     CALL FUNCTION 'HELP_START'   EXPORTING     HELP_INFOS   = LS_HELP_INFO   TABLES     DYNPSELECT   = LT_DSELC     DYNPVALUETAB = LT_DVAL   EXCEPTIONS     OTHERS       = 1.     이외에도 HELP_INFO 까보면 넣을 수 있는 필드들이 많다. Technorati 태그: 팝업 , SEARCH_HELP

생산오더 생성시 USER_EXIT적용

이미지
1. 생산 오더 생성시 User_Exit. 적용 (PP) 생산 오더 생성시 특정 오더(‘PP01’)인 경우 생산 오더의 저장 전에 CO의 원가취합처 정보를 확인하여, 원가취합처가 없으면 생산 오더의 저장을 못하게 한다. 1) 생산 오더를 생성하는 화면(CO01)과, 관련된 SAP 커스터마이징(IMG)을 참고하여 해당 기능의 확장모듈을 찾는다. 2) 이를 기능 확장에 지정하고, 해당하는 User_Exit 모듈 내에 적절한 로직을 구현한다.   (기능 확장) 모듈을 찾는다. 1) 관련 T-CODE : (SPRO) 2) 메뉴 PATH : SAP 커스터마이징 구현 안내서 -> 생산 -> 작업 현장관리 -> 시스템 수정 -> 오더유지보수에 대한 기능확장 -> 오더저장시 기능확장(헤드필드)   (기능 확장) 에서 기능을 추가한다. 1) 관련 T-CODE : (CMOD) 2) 메뉴 PATH : SAP메뉴 -> 툴 -> ABAP 워크벤치 -> 유틸리티 -> 기능 확장 -> 프로젝트관리 (CMOD)화면을 실행하고, 프로젝트를 생성 또는 이미 생성된 프로젝트에 포함 하도록 한다, 위에서 찾은 (기능확장)의 코드를 생성 또는 추가 한다. (구성요소)를 확인하여 해당하는 Enhancement의 해당 Exit 모듈에 **(추가)**할 기능의 ABAP 구문을 추가 하고, 해당 구성요소를 **(활성화)** 하면 된다. => 완료된 결과가 다음과 같이 된다 Technorati 태그: ABAP , USER_EXIT , CO01 수정이 완료되면 **(전송)**요청을 하여, 테스트를 실시하여 문제가 없으면 적용한다.

ABAP 효과적인 코딩 기법2

1.11 WHERE 없는 SELECT 구문은 피하라. - 아래와 같이 WHERE 조건 없이 SELECT 구문을 사용하는 것은 매우 위험하다. SELECT col1 col2 … INTO … FROM vbak. PERFORM cal_rtn. ENDSELECT. - 특히 다음과 같이 빠른 속도로 크기가 증가하는 테이블에는 절대로 사용하지 말 것 - BKPF, BSEG, COBK, COEP, LIPK, LIPS, MKPF, MSEG, VBAK, VBAP, VBPA, VBFA - 테이블의 모든 데이터를 읽어 작업을 수행하려 한다면 다음과 같이 EXEC SQL 구문을 이용한 native sql을 구사하여 Application Server를 Bypass 하도록 한다. 그렇지 않으면 Application Server가 Where 절에 MANDT 조건을 붙여, Full Table Scan이 되지 않고 인덱스를 이용하게 되어 최악의 결과를 초래하게 된다. EXEC SQL. SELECT /* rule */ Vbeln INTO : ivbak-vbeln FROM vbak WHERE mandt || ‘’ =: sy-mandt ENDEXEC. 2 DML 구문 최적화 2.1 효과적인 UPDATE 기법 - SELECT 와 ENDSELECT 사이에서 순환을 하면서 UPDATE 하는 형태는 아래와 같이 WHERE 절을 이용하여 개선할 수 있다. *-- 개선 전. PARAMETES : pa_vkbur LIKE zvbak-vkbur. SELECT-OPTIONS : so_vbeln FOR zvbak-vbeln. SELECT * FROM zvbak WHERE vbeln IN so_vbeln. zvbak-vkbur = pa_vkbur. UPDATE zvbak. EDNSELECT. *----------------------------------------------------------------------* *

업무별 사용 테이블

   1. 자재마스타 관리 Table       - MARA       Material Master: General Data       - MARC       Material Master: 자재에 대한 플랜트데이타       - MARD       Material Master: Storage Location/Batch Segment       - MAKT       Material Descriptions       - MBEW       Material Valuation       - MVKE       Material Master: Sales Data       - MARC_WERK        - T132       Status definition       - MBEWH      기초재고관리 TABLE       - MARM       자재별 단위 conversion rule    2. BOM 관리 Table       - MAST : Material to BOM Link       - STKO : BOM Header       - STPO : BOM Item       - STPU : BOM Sub-Item       - STAS : BOMs - Item Selection    3. INFO Record 관리 Table       - A018       Material Info Record       - EINA       Purchasing Info Record - General Data       - EINE       Purchasing Info Record - Purchasing Organization Data       - KONH       Conditions (Header)       - KONP       Conditions (Item)    4. Quota Arrangement 관리 Table

ABAP 시스템 필드

이미지
시스템필드.txt SY-INDEX Loop Index - 루프문(do, while, ...등의 현재 인덱스) SY-PAGNO Current List Page - 리스트의 현재 페이지 번호 SY-TABIX Index of Internal Tables - 내부테이블의 현재 인덱스 SY-TFILL Row Number of Internal Tables - 내부 테이블의 총 레코드 수 ( DESCRIBE TABLE itab LINES l_lines 의 l_lines 와 동일한 결과임 ) SY-TLOPC Internal ABAP System Field - 내부 사용 SY-TMAXL Obsolete ABAP System Field - 폐기된 시스템 필드 SY-TOCCU Obsolete ABAP System Field - 폐기된 시스템 필드 SY-TTABC Obsolete ABAP System Field - 폐기된 시스템 필드 SY-TSTIS Internal ABAP System Field - 내부 사용 SY-TTABI Obsolete ABAP System Field - 폐기된 시스템 필드 SY-DBCNT Processed Database Table Rows - 데이터베이스에서 처리(선택, 삭제, 삽임)된 데이터 수(select, insert, delete) SY-FDPOS Found Location in Byte or Character String - 탐색(seacch 등)의 찾은 문자 위치 ex) data text(10) type 'ABCDEFGHI'. SEARCH text FOR 'C'. result sy-fdpos = 2. SY-COLNO Current List Column - 리스트에서 현재 컬럼 ( write 로 리스트 출력 후 더블클릭등 이벤트에서 활용 ) SY-LINCT Page Length of List - 리스트의 한 페이지의 라인수 ( report에서 lin

숫자인지 체크하는 함수

    DATA  : LV_VALUE( 4 )     TYPE   C ,         LV_VALTYPE( 4 )   TYPE   C.          CALL   FUNCTION   'NUMERIC_CHECK'           EXPORTING           STRING_IN       = LV_VALUE         IMPORTING *         STRING_OUT       =           HTYPE            = LV_VALTYPE. LV_VALUE 에 값을 넣으면 LV_VALTYPE 에 숫자면 NUMC 이 나온다 . 이때 LV_VALUE 에 ',' 나 '.' 들어가도 문자로 인식하므로 , REPLACE   ALL   OCCURRENCES   OF   ','   IN  LS_MOD_CELLS-VALUE WITH   '' . 요거 해주는센스 ~  

Blog를 시작하다!!!

Blog를 시작할려고 생각만 한지 벌서 3년은 된거 같다.. 여러 가지 이유가 있었겠지만.. 딱히 맘에 드는 Blog를 찾지 못했다는게 가장 큰 이유 일 것이다. 그리고.. 2009년 8월 10일 드디어 시작해본다.!! 경축!!!!!!!