FI_ITEMS_MASS_CHANGE
회계전표 품목 변경(FB09)
# 사용예시
REPORT YTEMP_SANDBOX.
TABLES BSEG.
PARAMETERS: P_BUKRS TYPE BKPF-BUKRS OBLIGATORY,
P_BELNR TYPE BKPF-BELNR OBLIGATORY,
P_GJAHR TYPE BKPF-GJAHR OBLIGATORY.
SELECT-OPTIONS: S_BUZEI FOR BSEG-BUZEI.
SELECTION-SCREEN SKIP.
PARAMETERS: P_SGTXT TYPE BSEG-SGTXT.
DATA: LS_BSEG TYPE BSEG,
LT_BUZTAB TYPE TPIT_T_BUZTAB,
LT_FLDTAB TYPE TPIT_T_FNAME,
LT_ERRTAB TYPE TPIT_T_ERRDOC.
CLEAR: LT_BUZTAB[], LT_FLDTAB[], LT_ERRTAB[],
LS_BSEG.
"#1. 값을 변경할 전표 품목 정보
SELECT
BUKRS, BELNR, GJAHR, BUZEI,
KOART, UMSKZ, BSCHL, MWART, MWSKZ
FROM BSEG
WHERE BUKRS EQ @P_BUKRS
AND BELNR EQ @P_BELNR
AND GJAHR EQ @P_GJAHR
AND BUZEI IN @S_BUZEI
INTO CORRESPONDING FIELDS OF TABLE @LT_BUZTAB.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
"#2. 값을 변경할 필드명
LT_FLDTAB = VALUE #( ( FNAME = 'SGTXT' ) ).
"#3. 변경할 값
LS_BSEG-SGTXT = P_SGTXT.
CALL FUNCTION 'FI_ITEMS_MASS_CHANGE'
EXPORTING
S_BSEG = LS_BSEG
IMPORTING
ERRTAB = LT_ERRTAB[]
TABLES
IT_BUZTAB = LT_BUZTAB
IT_FLDTAB = LT_FLDTAB
EXCEPTIONS
BDC_ERRORS = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF LT_ERRTAB[] IS NOT INITIAL.
ZCL_SALV_TEST=>DISPLAY( LT_ERRTAB ).
ELSE.
WRITE:/ 'OK'.
ENDIF.
'ABAP > Function|Class' 카테고리의 다른 글
[Function] HOLIDAY_GET - 공휴일/공장 달력의 휴일 정보 (0) | 2023.07.24 |
---|---|
[Function] MIGO_DIALOG - MIGO 실행(자재문서 조회) (0) | 2023.07.24 |
[Class] CL_GUI_FRONTEND_SERVICES=>GET_SCREENSHOT (0) | 2023.07.03 |
[Class] /UI2/CL_JSON=>SERIALIZE, DESERIALIZE (0) | 2023.06.28 |
[Function] BP_JOBLOG_READ - 백그라운드 작업 로그 조회 (0) | 2023.06.26 |
댓글