SAP/GUI

[SAP] ABAP ํŒ์—… ์ฐฝ๊ณผ ์ปค์„œ ์„ค์ • - CALL SCREEN๊ณผ SET CURSOR ํ™œ์šฉํ•˜๊ธฐ

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

SAP GUI์—์„œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํŒ์—… ์ฐฝ์„ ๋„์šฐ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ปค์„œ ์œ„์น˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒ์—… ์ฐฝ์„ ํ™œ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ์ž…๋ ฅ์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ปค์„œ ์„ค์ •์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ ํŽธ์˜์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” CALL SCREEN์„ ํ™œ์šฉํ•œ ํŒ์—… ์ฐฝ ๊ตฌํ˜„๊ณผ SET CURSOR์„ ์ด์šฉํ•œ ์ปค์„œ ์„ค์ • ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

 

๐Ÿ“Œํ•„๋…

 

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

1๏ธโƒฃ ABAP ํ™”๋ฉด ๋™์  ์ œ์–ด - MODIFY SCREEN ํ™œ์šฉํ•˜๊ธฐ

2๏ธโƒฃ ABAP ํ™”๋ฉด ์ „ํ™˜ - Next Screen๊ณผ SET SCREEN ๋ฐฉ์‹์˜ ์ฐจ์ด

 


 

1. ์ปค์„œ ์„ค์ • - SET CURSOR

์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์— ์ง„์ž…ํ–ˆ์„ ๋•Œ, ํŠน์ • ์ž…๋ ฅ ํ•„๋“œ์— ์ž๋™์œผ๋กœ ์ปค์„œ๋ฅผ ์œ„์น˜์‹œํ‚ค๋ ค๋ฉด SET CURSOR๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ”๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•  ํ•„๋“œ๋ฅผ ๊ฐ•์กฐํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

SET CURSOR
  FIELD '์ŠคํŠธ๋Ÿญ์ฒ˜-ํ•„๋“œ'.

 

โœ… ํ•ญ๊ณต์‚ฌ ์ƒ์„ธ์ •๋ณด ์กฐํšŒ ์˜ˆ์ œ๋ฅผ ํ™•์žฅํ•œ ์ปค์„œ ์„ค์ • ์˜ˆ์ œ

ํ™”๋ฉด์ด ์ผœ์ง€๋ฉด ํ•ญ๊ณต์‚ฌ ์ฝ”๋“œ(CARRID)๊ฐ€ LH(Lufthansa)๋กœ ์ž๋™ ์ž…๋ ฅ๋˜๊ณ , ์ปค์„œ๋Š” Flight Number(CONNID) ํ•„๋“œ์— ์œ„์น˜ํ•˜๋„๋ก ์„ค์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1๏ธโƒฃ ๋กœ์ง ์„ค์ •

SCREEN

PROCESS BEFORE OUTPUT.
  MODULE SET_CURSOR. "์ปค์„œ ์„ค์ •์„ ์œ„ํ•œ ๋ชจ๋“ˆ

PROCESS AFTER INPUT.
 MODULE USER_COMMAND_0100.

 

XXXXXO01 (PBO)

MODULE set_cursor OUTPUT.
  SET CURSOR
    FIELD 'SDYN_CONN-CONNID'.
ENDMODULE.

 

 2๏ธโƒฃ T์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ™•์ธ

โœ”๏ธ ๊ฒฐ๊ณผ: ํ™”๋ฉด์ด ๋กœ๋“œ๋˜์ž๋งˆ์ž LH๊ฐ€ ์ž๋™ ์ž…๋ ฅ๋˜๊ณ , ์ปค์„œ๋Š” Flight Number ์ž…๋ ฅ ํ•„๋“œ์—์„œ ๊นœ๋นก๊ฑฐ๋ฆฝ๋‹ˆ๋‹ค.

 

 

 

2. ํŒ์—… ์ฐฝ ๊ตฌํ˜„ - CALL SCREEN ํ™œ์šฉ

SAP ABAP์—์„œ๋Š” CALL SCREEN์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒ์—… ์ฐฝ์„ ๋™์ ์œผ๋กœ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ์—… ์ฐฝ์€ ๊ธฐ์กด ํ™”๋ฉด์„ ์œ ์ง€ํ•œ ์ฑ„, ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ํŠน์ • ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ํŒ์—… ์ฐฝ์˜ Screen Type

SAP ํ™”๋ฉด(Screen)์—๋Š” ๋‹ค์–‘ํ•œ ํƒ€์ž…์ด ์กด์žฌํ•˜๋ฉฐ, ํŒ์—… ์ฐฝ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” Modal Dialog Box๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Screen Type ์„ค๋ช…
Normal ์ผ๋ฐ˜ ํ™”๋ฉด (์ฃผ ํ™”๋ฉด)
Subscreen ์„œ๋ธŒ์Šคํฌ๋ฆฐ (๋ฉ”์ธ ํ™”๋ฉด ๋‚ด ํฌํ•จ๋จ)
Modal Dialog Box ํŒ์—… ์ฐฝ

 

 

โœ…ํ•ญ๊ณต์‚ฌ ์ƒ์„ธ์ •๋ณด ์กฐํšŒ ์˜ˆ์ œ๋ฅผ ํ™•์žฅํ•œ ํŒ์—… ์ฐฝ ๋„์šฐ๊ธฐ ์˜ˆ์ œ

์ด๋ฒˆ ์˜ˆ์ œ์—์„œ๋Š” ๋ฉ”์ธ ํ™”๋ฉด(100)์—์„œ 'T' ์ž…๋ ฅ ์‹œ ํ˜„์žฌ ์‹œ๊ฐ„์„ ํŒ์—… ์ฐฝ(110)์œผ๋กœ ๋„์šฐ๊ณ , ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํŒ์—…์ด ๋‹ซํžˆ๋„๋ก ๊ตฌํ˜„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1๏ธโƒฃ ๋ถ€๋ชจ ํ™”๋ฉด(100)์— ํŒ์—… ์ฐฝ(110) ์ƒ์„ฑ - Screen

โœ”๏ธ ํŒ์—… ํ™”๋ฉด(110)
Screen Number: 110
Screen Type: Modal dialog box ์„ ํƒ (ํŒ์—…์ฐฝ)
Next Dynpro: 0 (์ด์ „ ํ™”๋ฉด์ธ ๋ถ€๋ชจ ํ™”๋ฉด 100์œผ๋กœ ํšŒ๊ท€)

 

2๏ธโƒฃ ํŒ์—…์ฐฝ(110) ๋ ˆ์ด์•„์›ƒ์—์„œ ํ˜„์žฌ ์‹œ๊ฐ„ ํ‘œ์‹œ

โœ”๏ธ ํ‚ค์›Œ๋“œ SYST ์‚ฌ์šฉ
ํ˜„์žฌ ์‹œ๊ฐ„: sy-uzeit

 

3๏ธโƒฃ 100๋ฒˆ ํ™”๋ฉด์—์„œ 'T' ์ž…๋ ฅ ์‹œ ํŒ์—… ํ˜ธ์ถœ ๋กœ์ง ์„ค์ •

SCREEN 100

PROCESS AFTER INPUT.
 MODULE USER_COMMAND_0100.

 

XXXXXI01(PAI)

MODULE user_command_0100 INPUT.
  " ์ž…๋ ฅ๊ฐ’ 2๊ฐœ (ํ•ญ๊ณต์‚ฌ ์ฝ”๋“œ, ํ•ญ๊ณตํŽธ)์œผ๋กœ ํ…Œ์ด๋ธ” ๊ฒ€์ƒ‰ํ•ด์„œ ๊ฐ’ ๋„ฃ์–ด์ฃผ๊ธฐ
  SELECT SINGLE *
    FROM SPFLI
    INTO CORRESPONDING FIELDS OF SDYN_CONN
    WHERE CARRID = SDYN_CONN-CARRID
    AND CONNID = SDYN_CONN-CONNID.

    CASE GV_MODE.
      WHEN 'U' OR 'D'.
        LEAVE TO SCREEN 200.
      WHEN 'X'.
       LEAVE PROGRAM.
      WHEN 'T'. "ํ˜„์žฌ ์‹œ๊ฐ„์„ ํŒ์—…์ฐฝ์— ํ‘œ์‹œ"
        CALL SCREEN 110 STARTING AT 6 2.
    ENDCASE.
ENDMODULE.

 

๐Ÿ“Œ ํŒ์—… ์œ„์น˜ ์„ค์ • ๋ฌธ๋ฒ•

CALL SCREEN 110 STARTING AT LC UR.
  • LC 6 UR 2 โ†’ ์™ผ์ชฝ์—์„œ 6์ž, ์œ„์—์„œ 2์ž ์œ„์น˜์— ํŒ์—… ํ‘œ์‹œ
  • ๋‹จ์œ„๋Š” CHAR ๊ธฐ์ค€

 

4๏ธโƒฃ T์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ™•์ธ

 

 

3. ํ•„๋“œ ๊ฐ’์„ ํ•„์ˆ˜ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ

โœ”๏ธ Screen Layout - Attributes์˜ Input Field - Required ์„ ํƒ