abap 8

ABAP 프로그램 샘플 소스 Code Block 테스트

지난번 포스팅에서 코드블럭으로 ABAP 소스 환경을 구성하는데 성공했다. 2024.11.12 - [SAP/ABAP] - Tistory 에서 코드블럭에 ABAP 테마 추가하기 그래서 연습삼아코드블럭을 사용해 간단한 소스코드를 작성해보고포스팅 하면 어떻게 보이는지확인해보려고 한다.   ↓ ↓ ↓ ↓ ↓  ABAP 환경으로 구성한 코드블럭 결과*--------------------------------------------* 1. 데이터 선언*--------------------------------------------"Old SyntaxDATA lv_text TYPE string.lv_text = 'Hello World!'."New SyntaxDATA(lv_text) = 'Hello World'. HTML..

SAP/ABAP 2024.11.13

Tistory 에서 코드블럭에 ABAP 테마 추가하기

SAP ABAP 관련 타 블로그들을 검색하다가 아래와 같이소스 에디터 같은 객체가 문서에 포함되어 있는 걸 본 적이 있었다.그때는 원하는 내용만 보고 대수롭지 않게 넘겼었는데,내가 본격적으로 블로그 포스팅을 하려다 보니그 글이 ABAP 코드블럭으로 되었었다는 게 기억이 났다. 그렇다. 티스토리의 코드블럭 기능을 사용해서 소스코드를 삽입할 수는 있지만,대중적인 프로그래밍언어만 기본제공되더라. (예를 들면, JAVA, C#, C++, Python, 등등)정작 중요한(내 밥벌이인) ABAP 코드블럭이 없다는 것이다.    기업용 프로그램의 언어니까. 폐쇄적이니까.불가능? No 가능하다. Step 1. 아래 URL 에서 ABAP JS/CSS 파일 다운로드한다.https://prismjs.com/ PrismSup..

SAP/ABAP 2024.11.12

MIGO 에서 구현한 Badi Enhancement 가 입고 BAPI 처리 시 실행되지 않는 경우 강제로 타게 하는 방법

Case)MIGO 에서 구매오더 번호를 여러 개 입력해서 아이템이 여러 라인이 있다.아이템 기준 체크로직을 추가했다.그리고 체크에 걸리면 메시지 처리 후 자재문서를 만들지 말아야 한다.  MIGO 는 S/4 로 오게 되면서 생긴 MM 에서 자주 사용하는 Tcode 이다.GR/GI, 이전전기 등등의 트랜잭션을 다 처리할 수 있다. MIGO 에서 입고를 하는 것과 동일한 동작을대체하여 CBO 프로그램 상에서 BAPI_GOODSMVT_CREATE 함수를 써서 할 수 있다. 문제는, 스탠다드 MIGO 에 체크로직을 추가해야 하는데, Badi 를 구현하여'MB_MIGO_BADI' 체크하는데까지는 가능하지만,저 CBO 의 BAPI 함수를 수행할 때는 이 Badi 가 Trigger 되지 않는다는 것이다.그 이유는 B..

SAP/ABAP 2024.11.11

Working Day 여부 체크 (계산)하는 함수 → DATE_CONVERT_TO_FACTORYDATE

입력받은 날짜가 Working Day 인지 Holiday 인지 체크하거나,입력받은 날짜 + 00 days 계산시 Working Day 기준으로 계산하고자 할때사용하는 함수다. 함수명 : DATE_CONVERT_TO_FACTORYDATE  *필수입력 파라미터    - DATE  TYPE  SYDATS    - FACTORY_CALENDAR_ID  TYPE  CHAR(2)      : '01' 입력하면 되는 듯.    입력받은 날짜인 2024.11.08 은 '금요일'이었으므로, 소스상에서 Working Day 기준 +1 day 를 한 결과를 출력해보니'월요일'인 2024.11.11 이 나오게 된다.(Src.)REPORT YTSR00300.DATA: LV_DATE_FROM  TYPE SYDATS,       ..

SAP/ABAP 2024.11.08

Select Records between Begin Date/Time and End Date/Time

Report Program 의 조회조건 혹은 Function 의 Input Parameter 로 - 일자From - 시간From - 일자To - 시간To 이렇게 4개가 존재하는 경우가 있다. 얘네들을 SELECT 구문의 WHERE 절에서 어떻게 사용해야 제대로 데이터가 조회되나.. 하는 고민에 빠질 때, 아래 구문으로 해결할 수 있다. WHERE ( ( TSDAT = STARTDATE AND TSTIM >= STARTTIME ) OR TSDAT > STARTDATE ) AND ( ( TSDAT = ENDDATE AND TSTIM

SAP/ABAP 2022.12.22

SALV (Simple ABAP List Viewer) 의 Simple 사용법

레포트 프로그램을 개발할 때 화면에 ALV 형태로 출력하는 경우가 대부분이다. Class ALV 도 많이 쓰지만 Cell 제어나 ALV 의 이벤트를 태우는 게 아니라면, 즉 단순 조회성이라면 (레포트니까 당연히 조회성이어야지 ㅎㅎㅎ) Function ALV 만으로도 충분하다. Function ALV 의 최대 장점인 별도 Screen 생성 없이 출력이 가능하다는 것이다. Function ALV 만큼이나 간단하게 사용할 수 있지만 사실 더 간단한 ALV 가 있다. 그거슨 SALV (Simple ALV) 인데, 이름처럼 간단하게 ALV 를 구성하여 제공한다는 뜻이다. (Source) 선언부 인스턴스 생성 및 출력 Itab 에 담는 조회 쿼리 이외에 단 6줄의 코드로 아래와 같이 간단한 ALV 를 보여줄 수 있..

SAP/ABAP 2019.11.08

맨날 헷갈리는 관계연산자 종류

* 관계 연산자 1. CO - Contains Only 'abc' - a,b,c (1글자 단위) 만 포함이면 true 입니다 2. CN - Contains Not Only - 1번과 반대입니다 3. CA - Contains Any 'abc' - a,b,c 중 하나라도 포함이면 true 입니다 4. NA - Contains Not Any - 3번과 반대입니다 5. CS - Contains String 'abc' - 'abc' (문자열 전체) 를 포함하면 true 입니다 6. NS - Contains No String - 5번과 반대입니다 7. CP - Covers Pattern - 패턴을 찾을때, "*" (문자열) 이나 "+" (1글자) 가능합니다 8. NP - No Pattern - 7번과 반대입니다..

SAP/ABAP 2019.10.17