SAP/ABAP 문법 | Open SQL

[SAP] μ‹œμŠ€ν…œ λ³€μˆ˜ SY-XXXX ν•œλˆˆμ— μ •λ¦¬ν•˜κΈ°

μΈν¬λ§ˆν‹± 2025. 1. 30. 22:10

SAP μ‹œμŠ€ν…œ λ³€μˆ˜(SY-XXXX)λŠ” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑에 μ‹œμŠ€ν…œμ—μ„œ μ œκ³΅ν•˜λŠ” 정보듀을 μ €μž₯ν•˜λŠ” λ‚΄μž₯ λ³€μˆ˜μž…λ‹ˆλ‹€. 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” μ£Όμš” μ‹œμŠ€ν…œ λ³€μˆ˜μ™€ κ·Έ ν™œμš©λ²•μ„ μ •λ¦¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

 


 

πŸ“Œ  μ£Όμš” SAP μ‹œμŠ€ν…œ λ³€μˆ˜ 및 ν™œμš©λ²•

1. SY-MANDT (ν΄λΌμ΄μ–ΈνŠΈ 번호)

ν΄λΌμ΄μ–ΈνŠΈ(client) 번호λ₯Ό λ‚˜νƒ€λ‚΄λ©°, λ©€ν‹° ν΄λΌμ΄μ–ΈνŠΈ ν™˜κ²½μ—μ„œ 데이터λ₯Ό κ΅¬λΆ„ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

2. SY-UNAME (ν˜„μž¬ μ‚¬μš©μž ID)

ν˜„μž¬ λ‘œκ·ΈμΈν•œ μ‚¬μš©μž IDλ₯Ό κ°€μ Έμ˜¬ λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

3. SY-LANGU (μ‚¬μš©μž μ–Έμ–΄ μ½”λ“œ)

λ‘œκ·ΈμΈν•œ μ‚¬μš©μžμ˜ μ–Έμ–΄ 섀정을 λ‚˜νƒ€λ‚΄λ©°, λ‹€κ΅­μ–΄ μ²˜λ¦¬μ— μœ μš©ν•©λ‹ˆλ‹€.

4. SY-DATUM (ν˜„μž¬ λ‚ μ§œ)

ν˜„μž¬ SAP μ‹œμŠ€ν…œμ˜ λ‚ μ§œλ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.

5. SY-UZEIT (ν˜„μž¬ μ‹œκ°„)

ν˜„μž¬ μ‹œκ°„μ„ μ‹œ:λΆ„:초 ν˜•μ‹μœΌλ‘œ κ°€μ Έμ˜΅λ‹ˆλ‹€.

 

πŸ“Œ SY-SUBRC (Return Code) μ˜λ―Έμ™€ μ‚¬μš©λ²•

1. SY-SUBRCλž€?

SY-SUBRCλŠ” ABAP 연산이 μ„±κ³΅ν–ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 리턴 μ½”λ“œ(Return Code)μž…λ‹ˆλ‹€. 일반적으둜 SELECT, FUNCTION CALL, FIND λ“±μ˜ κ²°κ³Όλ₯Ό ν™•μΈν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

2. SELECT λ¬Έμ—μ„œμ˜ SY-SUBRC ν™œμš©

DATA: lt_scarr TYPE TABLE OF scarr,
      ls_scarr TYPE scarr.

SELECT * FROM scarr INTO TABLE lt_scarr WHERE carrid = 'LH'.

IF SY-SUBRC = 0.
    WRITE: '데이터 쑰회 성곡'.
ELSE.
    WRITE: '데이터가 μ—†μŠ΅λ‹ˆλ‹€.'.
ENDIF.

μœ„ μ½”λ“œμ—μ„œ SY-SUBRC = 0이면 쑰회 성곡, κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄ 데이터가 μ‘΄μž¬ν•˜μ§€ μ•ŠμŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

SELECT SINGLE * FROM XXXX.
IF sy-subrc = 0. " 데이터λ₯Ό μ·¨λ“ν–ˆλŠ”μ§€?

CALL Function 'XYZ'.
IF sy-subrc = 0. "ν•¨μˆ˜λ₯Ό 잘 ν˜ΈμΆœν–ˆλŠ”μ§€?

FIND 'HEL' IN gv_string.
IF sy-subrc = 0. "HEL단어λ₯Ό μ°Ύμ•˜λŠ”μ§€?

SELECT SINGLE * FROM XXXX.
WRITE: 'Result'. 
IF sy-subrc = 0. "WRITE문을 잘 좜λ ₯ν–ˆλŠ”μ§€?

⭐ sy-subrc의 리턴은 λ°”λ‘œ μ•ž λ¬Έμž₯을 λ¦¬ν„΄ν•˜λ―€λ‘œ μ•ž λ¬Έμž₯에 μ’…μ†λ©λ‹ˆλ‹€.