๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง‘‍๐Ÿ’ผ SAP/ABAP

[SAP ABAP] ๋ ˆํฌํŠธ ์ด๋ฒคํŠธ ์ˆœ์„œ

by Jay Din 2025. 8. 6.
728x90
๋ฐ˜์‘ํ˜•

๊ธฐ๋ณธ์ ์ธ ABAP ํ”„๋กœ๊ทธ๋žจ ์ด๋ฒคํŠธ ์ˆœ์„œ

์ˆœ์„œ ์ด๋ฒคํŠธ ์„ค๋ช…
1 `INITIALIZATION` ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์ „ ํ•œ ๋ฒˆ ํ˜ธ์ถœ.
SELECT-OPTION / PARAMETERS ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •์— ์‚ฌ์šฉ
2 `AT SELECTION-SCREEN` ์‚ฌ์šฉ์ž๊ฐ€ Selection-Screen์—์„œ [์‹คํ–‰] ๋ˆ„๋ฅด๊ธฐ ์ง์ „.
์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ๊ฐ’ ๊ฒ€์ฆ ๋“ฑ์— ์‚ฌ์šฉ
3 `START-OF-SELECTION` ์‚ฌ์šฉ์ž ์‹คํ–‰ ํ›„, ๋ฉ”์ธ ๋กœ์ง ์ˆ˜ํ–‰ ์‹œ์ž‘ ์ง€์ 
4 `GET ...` Logical Database ์‚ฌ์šฉ ์‹œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ฌ ๋•Œ ๋ฐœ์ƒ
5 `END-OF-SELECTION` ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ดํ›„ ๊ฒฐ๊ณผ ์ถœ๋ ฅ ์ค€๋น„ ๋‹จ๊ณ„
6 `TOP-OF-PAGE`, `END-OF-PAGE` ์ถœ๋ ฅ ์‹œ ํŽ˜์ด์ง€ ์ƒ๋‹จ/ํ•˜๋‹จ ๋ ˆ์ด์•„์›ƒ ์„ค์ •
7 `AT LINE-SELECTION`,
`AT USER-COMMAND`
ALV๋‚˜ ๋ฆฌ์ŠคํŠธ์— ์‚ฌ์šฉ์ž ๋”๋ธ”ํด๋ฆญ ๋“ฑ ์ธํ„ฐ๋ž™์…˜ ์ฒ˜๋ฆฌ

 

์˜ˆ์‹œ: ๋ฆฌํฌํŠธ ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„

INITIALIZATION.
  s_date = sy-datum.  " ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •

AT SELECTION-SCREEN.
  IF s_date > sy-datum.
    MESSAGE '๋ฏธ๋ž˜ ๋‚ ์งœ๋Š” ์ž…๋ ฅ ๋ถˆ๊ฐ€' TYPE 'E'.
  ENDIF.

START-OF-SELECTION.
  PERFORM get_data.

END-OF-SELECTION.
  PERFORM display_data.

 

๋‹ค์ด์–ผ๋กœ๊ทธ ํ”„๋กœ๊ทธ๋žจ(MODULE POOL) ์ด๋ฒคํŠธ ํ๋ฆ„

์ˆœ์„œ ์ด๋ฒคํŠธ ์„ค๋ช…
1 `LOAD-OF-PROGRAM` ํ”„๋กœ๊ทธ๋žจ ๋กœ๋”ฉ ์‹œ ์‹คํ–‰ (์ดˆ๊ธฐ ์„ ์–ธ, 1ํšŒ๋งŒ ์‹คํ–‰)
2 `PBO` (Process Before Output) ํ™”๋ฉด ํ‘œ์‹œ ์ง์ „ ํ˜ธ์ถœ, ํ™”๋ฉด ๊ตฌ์„ฑ ์š”์†Œ ์„ค์ • ๋“ฑ
3 `PAI` (Process After Input) ์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์—์„œ ์ž…๋ ฅ ํ›„ ์—”ํ„ฐ/๋ฒ„ํŠผ ํด๋ฆญ ์‹œ
4 `POH`, `POV` ํ—ฌํ”„ ์š”์ฒญ, F4, F1 ๋“ฑ ์‹œ ํ˜ธ์ถœ๋˜๋Š” ์ด๋ฒคํŠธ
5 `MODULE USER_OMMAND_XXXX ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๋ฅธ ๋ช…๋ น์„ ์‹๋ณ„ (OK_CODE ๊ธฐ๋ฐ˜)

 

์˜ˆ์‹œ: ๋ชจ๋“ˆํ’€ (์Šคํฌ๋ฆฐ ํ”„๋กœ๊ทธ๋žจ)

MODULE status_0100 OUTPUT.  " PBO
  SET PF-STATUS 'STATUS'.
ENDMODULE.

MODULE user_command_0100 INPUT.  " PAI
  CASE ok_code.
    WHEN 'SAVE'.
      PERFORM save_data.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE.

 

TIP: ์ž์ฃผ ์“ฐ๋Š” ์ด๋ฒคํŠธ๋ณ„ ์šฉ๋„ ์ •๋ฆฌ

์ด๋ฒคํŠธ ์ฃผ ์šฉ๋„
`INITIALIZATION` ์ดˆ๊ธฐ๊ฐ’ ์„ธํŒ…
`AT SELECTION-SCREEN` ์ž…๋ ฅ๊ฐ’ ๊ฒ€์ฆ
`START-OF-SELECTION` ๋ฉ”์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ์ž‘
`END-OF-SELECTION` ๊ฒฐ๊ณผ ์ถœ๋ ฅ/ํ™”๋ฉด ํ˜ธ์ถœ
`PBO` ํ™”๋ฉด ๋ฐ์ดํ„ฐ ์„ค์ • (์ถœ๋ ฅ ์ „)
`PAI` ์‚ฌ์šฉ์ž ๋™์ž‘ ์ฒ˜๋ฆฌ (์ž…๋ ฅ ํ›„)
 

 

 

728x90
๋ฐ˜์‘ํ˜•