SYNC WEEK4 ABAP 기초문법4

Jubami·2023년 1월 16일
0

SAP 

목록 보기
1/13
post-thumbnail

2023.01.16(월)

Simple Screen Elements

  • Output, 스크린 icon

Status Icon

  • 스크린 페인터 layout editor에서 생성.

abap에서 구현
-> top에 data: iconfield1 TYPE icons-text.

pbo : icon_create 모듈을 이용해서 스크린에 구현

실습 프로그램 : SAPMZSCREEN_E12

1) Screen 100 > layout > status icon 클릭 > 필드 네임 설정
2) top include 이동 > PBO (MODULE set_icon) 선언 >
3) set_iocn 에서 icon_create module 호출

Status + Group box

Input/Output Fields 생성

  • top에 data 선언 후 layout에서 설정해도 되고, 역순도 가능.
	DATA:
     inp_fields1 TYPE char10,
     inp_fields2 TYPE char10.
  • drop down box 사용 시 해당 필드는 search help 필수
    - 보여지는 데이터가 많지 않을 때 의미 O

    • Element list에서 설정 가능
      또는 layout 에디터에서 설정 가능.
    img1 asdimg2 asd

Checkboxes and Radio Button Groups

  • Top에 data 선언
  • 이벤트 발생 -> Fctcode 부여.
    - 하나의 그룹으로 묶인 라디오 버튼은 같은 fct code 부여
    - 생성된 라디오 버튼을 전부 묶어서 우클릭으로 그룹 생성
    - 하나만 지정해도 그룹으로 묶인 라디오 버튼은 전부 알아서 코드 부여

연동하기

  • PAI -> user command 수정

2023.01.17(화)

  • 퀴즈12 풀이

Screen Error Handling

  • dialog로 error handling -> pai에서 field 키워드 사용
FIELD <field name>
	MODULE check_input.
    
---
MODULE check_input INPUT.

	MESSAGE E..
ENDMODULE.
  • 여러 개의 필드를 하나로 묶어 CHECK할 때
    - CHAIN ~ ENDCHAIN.

불필요한 Input Check 예방

ON INPUT

  • ON INPUT
    - 초기 값이 아닐 때, 실행 됨.
  • Chain으로 묶였을 때 -> ON CHAIN-INPUT
FIELD <field name>
	MODULE check_input ON INPUT

ON REQUEST

  • `ON REQUEST
    - 새로운 값이 입력되었을 때.

  • Chain으로 묶였을 때 -> ON CHAIN-REQUEST

AT EXIT-COMMAND

  • AT EXIT-COMMAND
    - Input check 없이. + function type : E
    • *자동 체크 없이 화면 벗어날 떄
    • gui status에서 아이콘 설정 ~

실습

  • MZSCREEN12
  • GUI s100 -> exit, cancel 추가
    - function type E로 수정

  • 100번 스크린 이동 > PAI module 추가
모듈
  • Mandatory field에 값을 입력하지 않으면 back은 실행 x
  • 하지만 function type이 E인 exit와 cancel은 실행 가능

chain 적용

  CHAIN.
    FIELD: sdyn_conn-carrid,
           sdyn_conn-connid.
    MODULE get_data ON CHAIN-REQUEST.
  ENDCHAIN.

  • 어플리케이션 툴바에 위치한 cancel과 exit 눌렀을 때 popup 띄우는 법!
    - top include에 call function을 위한 변수 하나 선언.
    • gv_ans type char 1.
      -POPUP_TO_CONFIRM function 사용
CASE ok_code.
    WHEN 'CANCEL'.
*      cancel 시 dialog 띄우기 patten > popup~
      CALL FUNCTION 'POPUP_TO_CONFIRM'
        EXPORTING
          text_question  = 'Unsaved data will lost. Cancel?'
          text_button_1  = 'Yes'(001)
          text_button_2  = 'No'(002)
        IMPORTING
          answer         = gv_answer
        EXCEPTIONS
          text_not_found = 1
          OTHERS         = 2.
      IF sy-subrc <> 0.
* Implement suitable error handling here
      ENDIF.

      IF gv_answer = '1'. " 1 : yes
        LEAVE TO SCREEN 0.
      ENDIF.

Subscreen

  • 필드를 동적으로 처리하고자 할 때.
  • 실습 : mzscreen_E12
  • subscreen 생성 (110,120,130)
    - 100번 스크린에 대한 서브 스크린 번호 -> 110 (번호는 10번 단위)
    • dynpro type : subscreen
  • 라디오 버튼에 따라 클릭 시 해당 서브스크린이 열리도록
    - top에 변수 선언 : gv_dynnr TYPE sy-dynnr.
    - 100번 스크린 layout에 서브스크린 생성
    • 100번 PBO
set_subcreen으로 라디오버튼 시 이동 설정 모듈 호출

-> set_subscreen : 서브 스크린 할당하기 전에 MODULE로 서브 스크린 미리 할당.


2023.01.18(수)

Tapstrip Controls.

  • TOP에 CONTROLS 키워드 선언, TYPE은 TABSTRIP.

방법1. Local Scrolling

  • tabppage 개수만큼 서브 스크린 area 생성

  • fct type : P

  • 탭 페이지 이동은 하지만, 사용자 액션시 PAI 실행되지 않음.

  • 실습 : SCREEN_E12_01
    각자 탭 페이지에 서브 스크린 생성

image.jpg3image.jpg4 pbo MODULEimage.jpg5 pai

방법2. PAI Scrolling

  • tabpage 클릭 할 때마다 PAI 실행

  • fct type : Normal

  • PAI : 유저 클릭에 따른 tabpage에 맞는 active tab page 설정

  • PBO : Subscreen area가 1개이기 때문에, active tab page에 맞는 display subscreen 지정

  • 실습 screen_e12_02
    - Carrier subsreen sub를 3개의 탭 페이지에서 사용

image.jpg3image.jpg4 pbo MODULE set_subscreen 설정image.jpg5 active tab에 클릭한 탭 페이지가 할당
  • PBO set_subscreen 모듈에서 when_others로 초기 화면 설정해줌.
    - 이후 페이지 클릭 -> pai 실행 -> active tab에 해당 스크린 할당 -> pbo에서 스크린 active subscreen display
  • pai는 call subscreen sub로 호출.

func

  • zbc400_e12 > func group
    - 스크린 생성 (100)
    - import module : zimport_carrid_E12
    • program > sapmzscreen_e12 >100 스크린 > PBO > MODULE export_data. 생성
    • export_data > pattern > call function : ZIMPORT_CARRID_E12
    • 설명
      • export data에서 module 호출, 항공사 코드를 넘김.(export)
      • modlue은 값을 import 해서 funcgroup top에 선언된 변수에 넘김
        - 본 프로그램에 값이 넘어와서 sub area에 표시.


2022.01.19(목)
ABAP1 TEST


2022.01.20(금)
ABAP2 (BC405)시작

modify selection at runtime

push button

  • 실습 : 033
  • push button 사용위해서 tables : sscrfields 선언
  • SELECTION-SCREEN PUSHBUTTON /pos_low(2o) gv_btn USER-COMMAND btn.
  • INITIALIZATION에서 버튼에 이름 부여
  • AT SELECTION-SCREEN OUTPUT. -> pbo에 해당
    - 숨김 등 기본 처리 설정
  • AT SELECTION-SCREEN
    - case문 이용
profile
LV.1 아밥퍼

0개의 댓글