본문 바로가기
728x90
반응형

ERP-SAP183

<ABAP> 쉽고 간단하게 배우는 기초 ABAP 02편 (기초선언) (반말로 진행하는 점 양해부탁합니다. 논산훈련소 조교가 가르치는 느낌으로 읽으세요. ㅎㅎ) 좌~~오늘은 아밥의 기초이면서도 가장 중요한 선언문에 대해 배워보기로 하자! 먼저 아래 미리 교관(?) 이 작성해둔 선언문 1.2.3을 보도록 한다. 해설은 이 사진 밑에 쓰겠다. 어떤가... 처음 보면 뭔말이야? 왜 저리하는거고 의미는 뭐지? 하겠지..... 맞다... 본 교관도 처음 아밥 배울때 저걸 왜저리 하는지 몰랐다.. 왜 저걸해야하는지 목표가 없었으니까.. 그러므로 목표부터 적어보겠다. "우리는 sflight 이름의 DB 에서 데이터를 가져다가 가공해서 출력할 것이다!" 그게 뭐냐고? 이 db는 sap에서 교육할때 자주 등장하는 교육예시DB이다.. 항공관련 DB 이므로 뭐 중요한건 아니고 연습하라고 만든.. 2024. 7. 18.
<ABAP> ITAB 대량건 처리시 MEMORY 덤프 방지 및 처리속도 튜닝 방법.. (bkpf besg) 최근 hana 도입한 것들은 이런 고민을 안하겠지만.. 구abap을 쓰고 있다면 수십만건 다운로드나 로직 처리시 메모리 덤프를 경험하거나 그걸 회피하기위해 로직을 짜면 느려지게 짜는 경우가 있다.. 바로 아래와 같은 경우다..우선 선언부터 occurs 0 를 쓴게 마음에 안드는데.. ㅎㅎㅎ 저상태면 느려지는 이유가 loop 안에서 bseg를 하나하나 읽는다...... 물론 우리가 다 아는 빠르게 하려면 bkpf를 읽고 for all entries로 bseg를 수십만건불러와서 loop를 돌며 read table bseg ....... 하는 방식으로 처리하면 된다 하지만 너무 건수가 많고 인터널 테이블 메모리 적은 회사는 메모리 덤프를 뱉는다 ....... 그럼 이걸 어찌 처리해야 조금 더 빠르고.... 메.. 2024. 6. 19.
<ABAP> 유지보수뷰에 묶인 티코드 찾기(Finding a transaction code tied to maintenance view) DB : tstcp input "param" field => *(dbname)* *example param : *ycondb* 데이터를 확인할 수 있다.. 왜 이렇냐..하면 tcode에 셋팅할때 트렌잭션에다 sm30 넣고 화면필드이름에 VIEWNAME : YCONDB 이런식으로 넣었기 때문에..... 2024. 4. 23.
<ABAP> 파일전송(OPEN DATASET) 시에 고정자릿수로 전송하는법(라인 일정길이 고정 유지 파일 전송) 1번째 라인 파일크기와 2번째 라인 파일크기를 비교해보자 1번은 142115 , 2번은 141741이다. 데이터는 동일한 상태인데 전송시에 파일길이 유지를 안해줘서 스트럭쳐의 마지막 필드값이 비어있었기에 빈값들이 안들어가서 파일이 만들어진 것이다. 즉, 라인길이를 200자 고정으로 하고싶었는데 맨 마지막 필드길이가 100자리이고 그게이 비어있어 100자만 만들어진 것이다... 그러면 스트럭쳐 필드의 길이를 모두 합산하여 라인길이를 유지하는 방법은 무엇일까? 빈칸만큼 뭐 스페이스를 넣어주거나 그래야 하나? 아니다.. 코드는 매우 심플하다. 아래처럼 각 라인들을 transfer 하면서 length 를 지정해 주면 된다... open dataset file_path. 해서 파일만들어열고 transfer to .. 2024. 4. 4.
728x90
반응형