728x90

'전체 글'에 해당되는 글 58건

  1. 2025.07.22 (ABAP-FI) SUBMIT FAGLB03 on S4HANA 2
728x90

 

> (ABAP-FI) SUBMIT FAGLB03 on S4HANA <

 

S4HANA에서 FAGLB03을 SUBMIT하는 로직

DATA: LT_TRANGE TYPE RSDS_TRANGE,
      LS_RANGE  TYPE RSDS_RANGE,
      LS_FRANGE TYPE RSDS_FRANGE,
      LS_SELOPT TYPE RSDSSELOPT,
      LT_TEXPR  TYPE RSDS_TEXPR,
      LS_DYNS   TYPE RSDS_TYPE.

RANGES: LR_RACCT FOR FAGLFLEXT-RACCT,
        LR_RBUKRS FOR BKPF-BUKRS.

*-- G/L계정.
LR_RACCT-SIGN   = 'I'.
LR_RACCT-OPTION = 'EQ'.
LR_RACCT-LOW    = PV_HKONT.
APPEND LR_RACCT.

*-- 회사코드.
LR_RBUKRS-SIGN   = 'I'.
LR_RBUKRS-OPTION = 'EQ'.
LR_RBUKRS-LOW    = PV_BUKRS.
APPEND LR_RBUKRS.

*-- 동적선택(임의선택).
IF PV_RFAREA IS NOT INITIAL.
  
*-- 대상테이블.
  LS_RANGE-TABLENAME  = 'ACDOCA'.

*-- 대상필드.
  LS_FRANGE-FIELDNAME = 'RFAREA'.

*-- 필드조건.
  LS_SELOPT-SIGN   = 'I'.
  LS_SELOPT-OPTION = 'EQ'.
  LS_SELOPT-LOW    = PV_RFAREA.
  APPEND LS_SELOPT TO LS_FRANGE-SELOPT_T.
  CLEAR LS_SELOPT.

*-- 1번째 필드를 조건에 적용.
  APPEND LS_FRANGE TO LS_RANGE-FRANGE_T.

*-- 2번째 필드.
  CLEAR LS_FRANGE.
  LS_FRANGE-FIELDNAME = '...'.
  LS_SELOPT-SIGN   = '...'.
  ....
  APPEND LS_SELOPT TO LS_FRANGE-SELOPT_T.


*-- 2번째 필드를 조건에 적용.
  APPEND LS_FRANGE TO LS_RANGE-FRANGE_T.

*-- 1번째 테이블을 조건에 적용.

  APPEND LS_RANGE TO LT_TRANGE.
  
*-- 2번째 테이블.
  CLEAR LS_RANGE.
  LS_RANGE-TABLENAME  = '...'.

  ....

*-- 2번째 테이블을 조건에 적용.

  APPEND LS_RANGE TO LT_TRANGE.

*-- 변환.
  CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'
    EXPORTING
      FIELD_RANGES = LT_TRANGE
    IMPORTING
      EXPRESSIONS  = LT_TEXPR.

*-- FAGLB03에 넘기기 위한 변수에 담기.
  LS_DYNS-TEXPR  = LT_TEXPR.
  LS_DYNS-TRANGE = LT_TRANGE.
ENDIF.

SUBMIT FAGL_ACCOUNT_BALANCE
       WITH RACCT   IN LR_RACCT   "-- G/L계정.
       WITH RBUKRS  IN LR_RBUKRS  "-- 회사코드.
       WITH RYEAR   EQ PV_GJAHR   "-- 회계연도.
       WITH FS_DYNS EQ LS_DYNS    "-- 동적선택.
       AND RETURN.

끝.

 

 

반응형
Posted by Gomtui
,