일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Standard Function
- UTF-8
- Smart Forms
- function
- selection screen
- Java
- EUC-kr
- 가계부
- EXIT
- 방화벽
- FI 용어정리
- List box
- 이명박
- 엑소버드
- KOSA
- Enhancement
- sapa
- 유닉스
- 머니플랜
- 오라클 함수
- alv 정형화
- badi
- 스마트폼
- ole
- ABAP
- 동적 쿼리
- gimp
- ALV
- SAP
- fi
- Today
- Total
Drunken Lion
value request for 본문
*&---------------------------------------------------------------------*
*& Form HELP_VAL_SKAT
*&---------------------------------------------------------------------*
FORM help_val_skat.
DATA: lv_s_hbkid_low LIKE t012-hbkid, "거래처은행(From)
lv_s_hbkid_high LIKE t012-hbkid. "거래처은행(To)
"** POPUP HELP TABLE에서 사용되는 변수 선언
DATA: BEGIN OF lt_skat_f4 OCCURS 0,
saknr LIKE skat-saknr,
txt20 LIKE skat-txt20,
txt50 LIKE skat-txt50,
END OF lt_skat_f4.
DATA: lt_retval LIKE ddshretval OCCURS 0 WITH HEADER LINE.
DATA: lt_dynpfields LIKE dynpread OCCURS 0 WITH HEADER LINE.
"** 작업변수 초기화
FREE: lt_dynpfields.
lt_dynpfields-fieldname = 'S_HBKID-LOW'.
lt_dynpfields-stepl = 0.
APPEND lt_dynpfields.
lt_dynpfields-fieldname = 'S_HBKID-HIGH'.
lt_dynpfields-stepl = 0.
APPEND lt_dynpfields.
"** 현재 화면에 입력된 값을 Read
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = lt_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
"** 현재 화면에 입력된 된 거래처은행(From)을 Read
READ TABLE lt_dynpfields WITH KEY fieldname = 'S_HBKID-LOW'.
lv_s_hbkid_low = lt_dynpfields-fieldvalue.
"** 현재 화면에 입력된 된 거래처은행(To)을 Read
READ TABLE lt_dynpfields WITH KEY fieldname = 'S_HBKID-HIGH'.
lv_s_hbkid_high = lt_dynpfields-fieldvalue.
"** 거래처은행을 입력 값이 존재하면 해당하는 계정번호 Select
IF ( NOT lv_s_hbkid_low IS INITIAL ) AND
( ( lv_s_hbkid_low = lv_s_hbkid_high ) OR
( lv_s_hbkid_high IS INITIAL ) ).
"** 거래처은행에 해당하는 거래은행 및 명칭 Select
SELECT b~saknr b~txt20 b~txt50
INTO CORRESPONDING FIELDS OF TABLE lt_skat_f4
FROM t012k AS a
INNER JOIN skat AS b
ON a~mandt = b~mandt
AND b~spras = '3' "언어키
AND b~ktopl = c_bukrs "계정과목표
AND a~hkont = b~saknr "G/L 계정번호
WHERE a~bukrs = c_bukrs "회사코드
AND a~hbkid = lv_s_hbkid_low. "거래은행에 대한 단축키
ELSE.
"** 회사코드에 해당하는 거래은행 및 명칭 Select
SELECT saknr txt20 txt50
INTO CORRESPONDING FIELDS OF TABLE lt_skat_f4
FROM skat
WHERE spras = '3' "언어키
AND ktopl = c_bukrs "계정과목표
AND saknr BETWEEN '0001110201' and '0001110399'.
ENDIF.
IF sy-subrc <> 0 AND sy-subrc <> 4.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
"** 화면에 HELP창을 띄워주고 선택된 값을 가지고 오는 함수
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'SAKNR'
dynpprog = 'ZFIR004'
dynpnr = '1000'
dynprofield = 'S_SAKNR'
window_title = '계정과목'
value_org = 'S'
TABLES
value_tab = lt_skat_f4
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " HELP_VAL_SKAT
'SAP > ABAP' 카테고리의 다른 글
날짜 유효성 체크 (0) | 2009.03.20 |
---|---|
도메인의 VALUE RANGE 를 가져오는 방법 (0) | 2009.03.19 |
동적 where 절 만들기 (0) | 2009.01.14 |
Implicit enhancement points (0) | 2009.01.05 |
UNICODE CONVERSION (0) | 2008.12.30 |