일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 원주 캠핑장
- 포천 레이크문
- 일몰맛집
- 장박
- HANA SQL
- 캠핑 장박
- 가족캠핑
- view 조건
- m/v 호출
- 해루질
- 블로우쉘터
- view cluster
- fuzzy search
- FIELDCATALOG
- 키즈 캠핑장
- 클러스터 뷰 이벤트
- include name
- WD4A
- reduce
- 오크돔
- New Syntax
- 값 제한
- 우중캠핑
- ABAP
- 영월 장박
- Hana
- SAP
- alv with ida
- 남강캠프
- 키즈캠핑장
Archives
- Today
- Total
Do.
[FI] 원전표 및 파샬전표 잔액 구하기 본문
728x90
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_BUDAT) TYPE RANGE_T_DATS OPTIONAL
*" VALUE(I_CPUDT) TYPE RANGE_T_DATS OPTIONAL
*" VALUE(I_RACCT) TYPE BKK_R_HKONT OPTIONAL
*" VALUE(I_LIFNR) TYPE T_RANGE_LIFNR OPTIONAL
*" VALUE(I_KUNNR) TYPE TRTY_KUNNR_RANGE OPTIONAL
*" VALUE(I_BELNR) TYPE BKK_R_BELNR OPTIONAL
*" TABLES
*" T_HLIST STRUCTURE ZFIS0280 OPTIONAL
*" T_PITEM STRUCTURE ZFIS0281 OPTIONAL
*"----------------------------------------------------------------------
DATA:
lv_wslpar TYPE fins_vwcur12.
"__ 전표 대상 추출
WITH
+base AS (
SELECT a~rbukrs, a~gjahr, a~belnr, a~buzei
FROM acdoca AS a
INNER JOIN bkpf AS b ON b~belnr EQ a~belnr
AND b~bukrs EQ a~rbukrs
AND b~gjahr EQ a~gjahr
WHERE a~rldnr EQ '0L'
AND a~awref_rev EQ @space
AND a~budat IN @i_budat[]
AND b~cpudt IN @i_cpudt[]
AND a~racct IN @i_racct[]
AND a~lifnr IN @i_lifnr[]
AND a~kunnr IN @i_kunnr[]
AND a~belnr IN @i_belnr[] ),
+list AS (
"__ 원전표 List
SELECT '1' AS gubun, a~rbukrs, a~gjahr, a~belnr, a~buzei, a~koart, a~drcrk, a~rwcur, a~rhcur,
a~wsl, a~tsl, a~rebzg, a~rebzj, a~rebzz, lifnr, kunnr, racct, sgtxt, a~budat, a~bldat
FROM acdoca AS a
INNER JOIN +base AS b ON b~rbukrs EQ a~rbukrs
AND b~gjahr EQ a~gjahr
AND b~belnr EQ a~belnr
AND b~buzei EQ a~buzei
WHERE a~rldnr EQ '0L'
AND a~glaccount_type EQ 'X'
AND a~awref_rev EQ @space
AND a~koart IN ( 'D', 'K', 'S' )
AND a~rebzg EQ @space
AND a~augbl EQ @space
UNION
"__ 파살전표 List
SELECT '2' AS gubun, a~rbukrs, a~gjahr, a~belnr, a~buzei, a~koart, a~drcrk, a~rwcur, a~rhcur,
a~wsl, a~tsl, a~rebzg, a~rebzj, a~rebzz, lifnr, kunnr, racct, sgtxt, a~budat, a~bldat
FROM acdoca AS a
INNER JOIN +base AS b ON b~rbukrs EQ a~rbukrs
AND b~belnr EQ a~rebzg
AND b~gjahr EQ a~rebzj
AND b~buzei EQ a~rebzz
WHERE a~awref_rev EQ @space
AND a~rldnr EQ '0L'
)
"__ Set Return Table
SELECT a~*,
l1~name1 AS lifnr_t,
l2~name1 AS kunnr_t,
l3~txt50 AS racct_t
FROM +list AS a
LEFT JOIN lfa1 AS l1 ON l1~lifnr = a~lifnr
LEFT JOIN kna1 AS l2 ON l2~kunnr = a~kunnr
LEFT JOIN skat AS l3 ON l3~saknr = a~racct
AND l3~spras = @sy-langu
AND l3~ktopl = a~rbukrs
ORDER BY a~belnr, a~buzei
INTO TABLE @DATA(lt_list).
LOOP AT lt_list INTO DATA(ls_list).
CLEAR lv_wslpar.
CASE ls_list-a-gubun.
WHEN '1'.
"__ 원전표
MOVE-CORRESPONDING ls_list-a TO t_hlist.
t_hlist-bukrs = ls_list-a-rbukrs.
MOVE: ls_list-kunnr_t TO t_hlist-kunnr_t,
ls_list-lifnr_t TO t_hlist-lifnr_t,
ls_list-racct_t TO t_hlist-racct_t.
IF t_hlist-koart = 'S'.
SELECT COUNT(*)
FROM skb1
WHERE bukrs = t_hlist-bukrs
AND saknr = t_hlist-racct
AND xopvw = abap_true.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
ENDIF.
"__ 원전표 잔액
lv_wslpar = REDUCE i( INIT x = 0 FOR ls_2 IN lt_list WHERE ( a-gubun = '2'
AND a-rebzg = t_hlist-belnr
AND a-rebzj = t_hlist-gjahr
AND a-rebzz = t_hlist-buzei )
NEXT x = x + ls_2-a-wsl ).
"__ 잔액 = 원전표 금액 + 파샬금액 합계
t_hlist-wsl_par = t_hlist-wsl + lv_wslpar.
APPEND t_hlist.
WHEN '2'.
"__ 파샬전표
MOVE-CORRESPONDING ls_list-a TO t_pitem.
t_pitem-bukrs = ls_list-a-rbukrs. "-- 회사코드
t_pitem-belnr_w = ls_list-a-rebzg. "-- 원전표번호
t_pitem-gjahr_w = ls_list-a-rebzj. "-- 원전표년도
t_pitem-buzei_w = ls_list-a-rebzz. "-- 원전표항번
APPEND t_pitem.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
"__ T_HLIST 구조
필드이름 타입 컴포넌트 타입 필드유형 자리수 소수점 내역
BUKRS Types BUKRS CHAR 4 0 회사 코드
GJAHR Types GJAHR NUMC 4 0 회계연도
BELNR Types BELNR_D CHAR 10 0 회계 전표의 전표 번호
BUZEI Types BUZEI NUMC 3 0 회계 전표 내 개별 항목 번호
KOART Types KOART CHAR 1 0 계정 유형
DRCRK Types SHKZG CHAR 1 0 차변/대변 지시자
RWCUR Types WAERS CUKY 5 0 통화 키
WSL Types FINS_VWCUR12 CURR 23 2 금액(거래 통화)
WSL_PAR Types CURR 23 2 부분반제 합계
TSL Types FINS_VTCUR12 CURR 23 2 금액(잔액 거래 통화)
RHCUR Types WAERS CUKY 5 0 통화 키
LIFNR Types LIFNR CHAR 10 0 공급업체 계정 번호
LIFNR_T Types NAME1_GP CHAR 35 0 이름 1
KUNNR Types KUNNR CHAR 10 0 고객 번호
KUNNR_T Types NAME1_GP CHAR 35 0 이름 1
RACCT Types RACCT CHAR 10 0 계정 번호
RACCT_T Types TXT50_SKAT CHAR 50 0 G/L 계정 설명
SGTXT Types SGTXT CHAR 50 0 항목 텍스트
BUDAT Types BUDAT DATS 8 0 문서 내 전기일
BLDAT Types BLDAT DATS 8 0 문서 내 증빙일
"__ T_PITM 구조
BUKRS Types BUKRS CHAR 4 0 0 회사 코드
GJAHR Types GJAHR NUMC 4 0 0 회계연도
BELNR Types BELNR_D CHAR 10 0 0 회계 전표의 전표 번호
BUZEI Types BUZEI NUMC 3 0 0 회계 전표 내 개별 항목 번호
RWCUR Types WAERS CUKY 5 0 0 통화 키
WSL Types FINS_VWCUR12 CURR 23 2 0 금액(거래 통화)
TSL Types FINS_VTCUR12 CURR 23 2 0 금액(잔액 거래 통화)
RHCUR Types WAERS CUKY 5 0 0 통화 키
GJAHR_W Types GJAHR NUMC 4 0 0 회계연도
BELNR_W Types BELNR_D CHAR 10 0 0 회계 전표의 전표 번호
BUZEI_W Types BUZEI NUMC 3 0 0 회계 전표 내 개별 항목 번호
728x90
'SAP > Module' 카테고리의 다른 글
[N] BP 생성 API (0) | 2024.04.24 |
---|---|
[N] Internal Order 변경 (0) | 2023.04.27 |
[N] 전표 Display (0) | 2023.02.20 |
[CO] K9R* 로 시작하는 테이블 찾기 (0) | 2023.02.20 |
[MM] 자재마스터 View 조회 Function (0) | 2022.11.29 |