๊ด€๋ฆฌ ๋ฉ”๋‰ด

CS Student’s SAP&Tech Journey๐Ÿ’ซ

[SAP] ABAP Subscreen (3) Subscreen ์žฌ์‚ฌ์šฉ (Function Group ๋ฐฉ์‹) ๋ณธ๋ฌธ

SAP/์„œ๋ธŒ์Šคํฌ๋ฆฐ Subscreen

[SAP] ABAP Subscreen (3) Subscreen ์žฌ์‚ฌ์šฉ (Function Group ๋ฐฉ์‹)

์ธํฌ๋งˆํ‹ฑ 2025. 3. 21. 18:13

์•ž์„  ํฌ์ŠคํŒ…์—์„œ๋Š” Subscreen์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ๊ณ ์ •๋œ ํ™”๋ฉด์„ ํ˜ธ์ถœํ•˜๋Š” ์ •์  ๋ฐฉ์‹, ๊ทธ๋ฆฌ๊ณ  ์กฐ๊ฑด์— ๋”ฐ๋ผ ํ™”๋ฉด์„ ๋™์ ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ์กฐ๊ฑด ๋ถ„๊ธฐ ๋ฐฉ์‹์„ ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Subscreen ์žฌ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ Subscreen ํ™”๋ฉด์„ ์—ฌ๋Ÿฌ ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์žฌ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ(Function Group)์„ ํ†ตํ•ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

Subscreen์€ ๊ตฌ์กฐ์ƒ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋งค์šฐ ๋†’์€ UI ์ปดํฌ๋„ŒํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ž˜๋งŒ ์„ค๊ณ„ํ•˜๋ฉด ์œ ์ง€๋ณด์ˆ˜์™€ ํ™•์žฅ์„ฑ ๋ชจ๋‘์— ๊ฐ•๋ ฅํ•œ ์ด์ ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ SAP์—์„œ๋Š” ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ™์€ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ์ž…๋ ฅํ•  ์ผ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—, Subscreen์„ Function Group์œผ๋กœ ๋ชจ๋“ˆํ™”ํ•ด๋‘๋Š” ๊ฒƒ์ด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

๐Ÿ“Œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์˜ ์˜ˆ์ œ๋Š” ์•„๋ž˜ ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค. โฌ‡๏ธ

1๏ธโƒฃ Subscreen (1) ๊ตฌ์กฐ์™€ ๊ธฐ๋ณธ ๊ฐœ๋… / ์ •์  Subscreen ํ˜ธ์ถœ ๋ฐฉ์‹ (๊ณ ์ •๋œ ์„œ๋ธŒ์Šคํฌ๋ฆฐ) ๊ตฌํ˜„ํ•˜๊ธฐ

2๏ธโƒฃ Subscreen (2) ๋™์  Subscreen ํ˜ธ์ถœ ๋ฐฉ์‹ – ์กฐ๊ฑด์— ๋”ฐ๋ผ ์„œ๋ธŒ์Šคํฌ๋ฆฐ ์ „ํ™˜ํ•˜๊ธฐ

 

 

 


 

๐ŸŽฏ Subscreen ์žฌ์‚ฌ์šฉ

 

 

1. ๐Ÿ” Subscreen ๋‚ด๋ถ€์—์„œ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹

ํ™”๋ฉด 100, 200 ์–‘์ชฝ ๋ชจ๋‘์—์„œ Subscreen 202๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

โ–ถ ๋ฐ์ดํ„ฐ ์กฐํšŒ ๋ชจ๋“ˆ (Screen 100)

โœ… Subscreen Area ๋ช…์นญ์€ ๋ฐ˜๋“œ์‹œ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ! ์†Œ๋ฌธ์ž ์‚ฌ์šฉ ์‹œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ENTER ๋ˆŒ๋Ÿฌ์ฃผ๋Š” ์Šต๊ด€๋„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

 

XXXXXO01 (PBO)

PROCESS BEFORE OUTPUT.
  MODULE status_0100.
  MODULE set_cursor.
    
    CALL SUBSCREEN SUB1 INCLUDING SY-CPROG '202'. " 202 ํ™”๋ฉด ์„ค์ •

โœ… ํ™”๋ฉด 100๋ฒˆ์—์„œ 202๋ฒˆ Subscreen์„ ์žฌํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

2. ๐ŸŒ Subscreen ์™ธ๋ถ€ ์žฌ์‚ฌ์šฉ - Function Group ๋ฐฉ์‹

 

โœ… ์‚ฌ์šฉ ์ด์œ 

  • ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ™์€ Subscreen์„ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ
  • ๋…๋ฆฝ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ
  • ๋ชจ๋“ˆํ™” ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด์„ฑ ํ™•๋ณด

 

1๏ธโƒฃ Function Group ๊ตฌ์„ฑ

โ–ถ Function Group ์ƒ์„ฑ

โœ”๏ธ Function Group - Master Program - SAPLSUB_07 (SAPL์€ Function Group์„ ์˜๋ฏธ)

 

โ–ถ GLOBAL ๋ณ€์ˆ˜ ์„ ์–ธ

LSXXXXTOP

FUNCTION-POOL ZSUB1_07.                     "MESSAGE-ID ..

" ์„œ๋ธŒ์Šคํฌ๋ฆฐ์—์„œ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜
TABLES SCARR.

 

โ–ถ Function Group์— Subscreen ์ƒ์„ฑํ•˜๊ธฐ

โœ”๏ธ Screen 101 ํ™”๋ฉด ์ƒ์„ฑ

 

 

โ–ถ ํ™”๋ฉด 101 Layout ์„ค์ •ํ•˜๊ธฐ

 

 

2๏ธโƒฃ Function Group Subscreen ํ˜ธ์ถœ

๐Ÿ“Œ  ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์—์„œ FG์˜ ์„œ๋ธŒ์Šคํฌ๋ฆฐ์„ ํ˜ธ์ถœํ•  ๋• ํ”„๋กœ๊ทธ๋žจ๋ช… ๋ฐ˜๋“œ์‹œ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ์ดํ„ฐ ํ‘œ์‹œ ๋ชจ๋“ˆ (Screen 200)

" ๋ช…ํ™•ํ•˜๊ฒŒ Program Name ์„ค์ •
   CALL SUBSCREEN SUB INCLUDING 'SAPMZCARRIER1_07' '0201'.

 

 

3๏ธโƒฃFunction Module ๋งŒ๋“ค๊ธฐ – Subscreen์— ๋ฐ์ดํ„ฐ ์ „๋‹ฌํ•˜๊ธฐ

Subscreen์ด Function Group ์•ˆ์— ์œ„์น˜ํ•œ ๊ฒฝ์šฐ, ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•˜๋Š” SCARR ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.์ด๋Ÿด ๋•Œ๋Š” Function Module์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ฆ‰, ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์—์„œ Function Group์˜ ๋ฐ์ดํ„ฐ ์˜์—ญ์œผ๋กœ ๊ฐ’์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด Function Module์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • Function Group์—๋Š” ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ์˜ SCARR ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Œ
  • ์กฐ๊ฑด๊ฐ’(CARRID)์„ ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ Function Module๋กœ ์ „๋‹ฌ
  • Function Module ๋‚ด๋ถ€์—์„œ SCARR ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  Function Group ๋‚ด๋ถ€ ๋ณ€์ˆ˜์— ์ €์žฅ
  • Subscreen์—์„œ๋Š” ์ €์žฅ๋œ ๊ฐ’์„ ํ‘œ์‹œ

 

 

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ํ๋ฆ„

  1. ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ: CARRID ๊ฐ’์„ Funtion Module์— ๋„˜๊น€ (EXPORTING)
  2. Function Module ๋‚ด๋ถ€: SCARR ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ Function Group์˜ TABLES SCARR์— ์ €์žฅ
  3. ์„œ๋ธŒ์Šคํฌ๋ฆฐ: Function Group์— ์ €์žฅ๋œ SCARR ๊ฐ’์„ ํ™”๋ฉด์— ํ‘œ์‹œ

 

โ–ถ Function Module ์ƒ์„ฑํ•˜๊ธฐ

 

โ–ถ CARRID ๊ฐ’์„ Funtion Module์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •ํ•˜๊ธฐ

 

FUNCTION ZSET_SCARR_07.
  SELECT SINGLE *
    FROM SCARR
    INTO SCARR
    WHERE CARRID = IV_SCARRID.
ENDFUNCTION.

 

โ–ถ ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ Function Moule ํ˜ธ์ถœํ•˜๊ธฐ

 

๋ฐ์ดํ„ฐ ํ‘œ์‹œ ๋ชจ๋“ˆ (Screen 200)

PROCESS BEFORE OUTPUT.
  MODULE FG_EXPORTING. " Function Group์— ๋ฐ์ดํ„ฐ ๋„ฃ์–ด์ฃผ๋Š” ์—ญํ• 

 

XXXXXO01 (PBO)

 

MODULE fg_exporting OUTPUT.
  CALL FUNCTION 'ZSET_SCARR1_07'
    EXPORTING
      iv_scarrid       = SDYN_CONN-CARRID
            .

ENDMODULE.

 

4๏ธโƒฃ ์ตœ์ข… ํ™•์ธ – Subscreen์— ๋ฐ์ดํ„ฐ ํ‘œ์‹œ

 

 

4๏ธโƒฃ โš ๏ธ ์ž…๋ ฅ๊ฐ’ ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

ํ™”๋ฉด์— ๊ฐ’์€ ํ‘œ์‹œ๋˜์ง€๋งŒ, ์ž…๋ ฅํ•œ ๊ฐ’์„ ๋ฐ”๊ฟ”๋„ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” ๋ณดํ†ต PAI ์„ค์ • ๋ˆ„๋ฝ์ด ์›์ธ์ž…๋‹ˆ๋‹ค.

 

โ–ถ ์„œ๋ธŒ์Šคํฌ๋ฆฐ 0101์˜ PBO / PAI ์„ค์ •

Function Grop - 0101 ํ™”๋ฉด

PROCESS BEFORE OUTPUT.

PROCESS AFTER INPUT.
 MODULE USER_COMMAND_0101.

PBO์—์„œ๋Š” STATUS ๋ชจ๋“ˆ์ด ์—†์–ด๋„ ๋˜์ง€๋งŒ, PAI์—๋Š” ๋ฐ˜๋“œ์‹œ INPUT ๋ชจ๋“ˆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

โ–ถ์ž…๋ ฅ ๋ฐ˜์˜์„ ์œ„ํ•œ MODULE ์ฝ”๋“œ

MODULE user_command_0101 INPUT.
  MESSAGE i004(ZTRAIN_07) WITH SCARR-CURRCODE.
ENDMODULE.

์ด ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด PAI๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.