SAP Reports / Programs | Financial Accounting | General Ledger Accounting | Information System(FI-GL-IS) SAP FI

SAPF121 SAP ABAP Report - Create Recurring Documents from Recurring Documents







SAPF121 is a standard Executable ABAP Report available within your SAP system (depending on your version and release level). It is used for You can use the present program SAPF121 as part of a currency changeover...see full standard documentation available for this report. Also check out the submitted Comments related to this SAP report and the details below to see which OBJECTS it interacts with such as TABLES, FUNCTION MODULES, INCLUDES ETC.

If you would like to execute this report or see the full code listing simply enter SAPF121 into the relevant SAP transactions such as SE38 or SE80


ABAP code to call this SAP report using the submit statement

This report can be called from another progam/report simply by using the ABAP SUBMIT statement, see below for example ABAP code snipts of how to do this.






SUBMIT SAPF121. "Basic submit
SUBMIT SAPF121 AND RETURN. "Return to original report after report execution complete
SUBMIT SAPF121 VIA SELECTION-SCREEN. "Display selection screen of submitted report to user
    See more syntax options for the ABAP SUBMIT statement


Text pool values


Selection Text: BDC_KEEP = Hold Processed Session
Selection Text: BDC_USER = User Name
Selection Text: BENUTZER = User
Selection Text: HOLDDATE = Blocking Date for BI Session
Selection Text: MAPNAME = Batch Input Session Name
Selection Text: RXDELT = Set Rec.Ent.Docs to Completed
Title: Create Recurring Documents from Recurring Documents
Text Symbol: 001 = Session & was created
Text Symbol: 002 = Check exchange rates when posting rec. entry docs for following
Text Symbol: 003 = orig. rec. ent. docs
Text Symbol: 004 = CoCd Doc.No. FYear Item
Text Symbol: 005 = Session & was not created
Text Symbol: 006 = Check following original recurring entry docs because following
Text Symbol: 007 = currency is not uniquely specified; change manually if required
Text Symbol: 008 = Number of New Documents & (FBD1)
Text Symbol: 009 = Number of Changed Documents & (FBD2)


INCLUDES used within this REPORT SAPF121

No INCLUDES are used within this REPORT code!


TABLES used within REPORT and the associated SELECT statement:





No SAP DATABASE tables are accessed within this REPORT code!


Function Modules used within report and the associated call statement:

FI_PROC_CURR_CHANGE_ACTIVE CALL FUNCTION 'FI_PROC_CURR_CHANGE_ACTIVE' IMPORTING E_ACTIVE = pcccheck EXCEPTIONS NOT_ACTIVE = 1 ERROR_OCCURRED = 2 OTHERS = 3.

CURRENCY_GET_SUBSEQUENT CALL FUNCTION 'CURRENCY_GET_SUBSEQUENT' EXPORTING CURRENCY = bkpf-waers PROCESS = 'SAPF121' DATE = BKDF-DBATR BUKRS = bkpf-bukrs IMPORTING CURRENCY_NEW = new_waers.

OPEN_FI_PERFORM_00000119_P CALL FUNCTION 'OPEN_FI_PERFORM_00000119_P' EXPORTING IV_PROCESS = process IV_DATE = BKDF-DBATR IV_TABNAME = 'BSEG' IV_FLDNAME = 'WRBTR' IS_LINE = bseg * IS_KNA1 = * IS_LFA1 = * IS_BSEC = IS_BKPF = bkpf * IS_T001 = * IV_NOCHECK = CHANGING CV_AMOUNT = *bseg-wrbtr CV_CURRENCY = *bkpf-waers.

OPEN_FI_PERFORM_00000119_P CALL FUNCTION 'OPEN_FI_PERFORM_00000119_P' EXPORTING IV_PROCESS = process IV_DATE = BKDF-DBATR IV_TABNAME = 'BSEG' IV_FLDNAME = 'PYAMT' IS_LINE = bseg * IS_KNA1 = * IS_LFA1 = * IS_BSEC = IS_BKPF = bkpf * IS_T001 = * IV_NOCHECK = CHANGING CV_AMOUNT = *bseg-pyamt CV_CURRENCY = *bseg-pycur.

FI_CURRENCY_INFORMATION CALL FUNCTION 'FI_CURRENCY_INFORMATION' EXPORTING I_BUKRS = BKPF-BUKRS IMPORTING E_X001 = X001 EXCEPTIONS CURRENCY_2_NOT_DEFINED = 01 CURRENCY_3_NOT_DEFINED = 02.

FI_CURRENCY_INFORMATION CALL FUNCTION 'FI_CURRENCY_INFORMATION' EXPORTING I_BUKRS = BSEG-BUKRS IMPORTING E_X001 = X001 EXCEPTIONS CURRENCY_2_NOT_DEFINED = 01 CURRENCY_3_NOT_DEFINED = 02.

CURRENCY_GET_SUBSEQUENT CALL FUNCTION 'CURRENCY_GET_SUBSEQUENT' EXPORTING CURRENCY = bseg-pycur PROCESS = 'SAPF121' DATE = BKDF-DBATR BUKRS = bkpf-bukrs IMPORTING CURRENCY_NEW = new_waer2.

FI_ITEMS_PROC_CURR_CHANGE CALL FUNCTION 'FI_ITEMS_PROC_CURR_CHANGE' EXPORTING IV_PROCESS = process IV_DATE = BKDF-DBATR IV_TABNAME = 'BSEG' * IS_KNA1 = * IS_LFA1 = * IS_BSEC = IS_BKPF = *bkpf * IS_T001 = IV_NOCHECK = abap_true * TABLES * IT_FIELDLIST = CHANGING CS_LINE = bseg CV_CURRENCY = chg_waers EXCEPTIONS * FIELD_NOT_AMOUNT = 1 * CURRENCY_MISSING = 2 * ERROR_IN_CONVERSION = 3 OTHERS = 4.

OPEN_FI_PERFORM_00000119_P CALL FUNCTION 'OPEN_FI_PERFORM_00000119_P' EXPORTING IV_PROCESS = process IV_DATE = BKDF-DBATR IV_TABNAME = 'BSEG' IV_FLDNAME = 'PYAMT' IS_LINE = ybseg * IS_KNA1 = * IS_LFA1 = * IS_BSEC = IS_BKPF = *bkpf * IS_T001 = * IV_NOCHECK = CHANGING CV_AMOUNT = bseg-pyamt CV_CURRENCY = bseg-pycur.

FI_ITEMS_PROC_CURR_CHANGE CALL FUNCTION 'FI_ITEMS_PROC_CURR_CHANGE' EXPORTING IV_PROCESS = process IV_DATE = BKDF-DBATR IV_TABNAME = 'BSET' * IS_KNA1 = * IS_LFA1 = * IS_BSEC = IS_BKPF = *bkpf * IS_T001 = IV_NOCHECK = abap_true * TABLES * IT_FIELDLIST = CHANGING CS_LINE = bset CV_CURRENCY = chg_waers EXCEPTIONS * FIELD_NOT_AMOUNT = 1 * CURRENCY_MISSING = 2 * ERROR_IN_CONVERSION = 3 OTHERS = 4.

BDC_OPEN_GROUP CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING CLIENT = MANDT GROUP = GROUP USER = BI_USER KEEP = BDC_KEEP HOLDDATE = HOLDDATE DATFM = SY_DATFM DCPFM = SY_DCPFM.

BDC_CLOSE_GROUP CALL FUNCTION 'BDC_CLOSE_GROUP'.

NEXT_DYNPRO_SEARCH CALL FUNCTION 'NEXT_DYNPRO_SEARCH' EXPORTING I_BSCHL = *BSEG-BSCHL I_BUKRS = *BSEG-BUKRS I_TCODE = TCODE I_UMSKZ = *BSEG-UMSKZ I_WINFK = HWINFK * I_MWART = SPACE * I_MWSKZB = SPACE I_MWSKZS = MWSKZS * I_BSTAT = SPACE IMPORTING E_DYNNRA = HDYNNR1 E_MPOOL = HPROGN E_WINNRZ = HDYNNR2.

FI_TECH_ACCNO_CHECK CALL FUNCTION 'FI_TECH_ACCNO_CHECK' EXPORTING I_BANKN = *BSEC-BANKN IMPORTING E_XTECH = GX_TECH_BANKN.

FI_TECH_ACCNO_CHECK CALL FUNCTION 'FI_TECH_ACCNO_CHECK' EXPORTING I_BANKN = *BSEC-BANKN IMPORTING E_XTECH = GX_TECH_BANKN.

FI_CHECK_EXTENDED_WT CALL FUNCTION 'FI_CHECK_EXTENDED_WT' EXPORTING I_BUKRS = BKPF-BUKRS EXCEPTIONS COMPONENT_NOT_ACTIVE = 1 NOT_FOUND = 2 OTHERS = 3.

FI_POSTING_KEY_DATA CALL FUNCTION 'FI_POSTING_KEY_DATA' EXPORTING I_BSCHL = *bseg-bschl X_BSCHL_ONLY = 'X' IMPORTING E_xzahl = hxzahl.

RKE_CONVERT_PAOBJNR_BDCDATA CALL FUNCTION 'RKE_CONVERT_PAOBJNR_BDCDATA' EXPORTING BUKRS = *BSEG-BUKRS * KOKRS = I_COBL = HCOBL PAOBJNR = *BSEG-PAOBJNR TABLES I_BDCDATA = FTE EXCEPTIONS NO_ERKRS_FOUND = 1 PAOBJNR_WRONG = 2 OTHERS = 3.

BDC_INSERT





CALL FUNCTION 'BDC_INSERT' EXPORTING TCODE = TCODE TABLES DYNPROTAB = DYNPROTAB.

DDIF_FIELDINFO_GET call function 'DDIF_FIELDINFO_GET' EXPORTING tabname = 'BSEG' TABLES dfies_tab = xdfies EXCEPTIONS not_found = 1 internal_error = 2 others = 3.

CURRENCY_DOCUMENT_CONVERT CALL FUNCTION 'CURRENCY_DOCUMENT_CONVERT' EXPORTING * RATE_TYPE = 'M' FROM_CURRENCY = iwaers TO_CURRENCY = ewaers LOCAL_CURRENCY = ihwaer DATE = idate * RATE = CONVERSION_MODE = 'O' TABLES FIELDLIST = FIELDLIST_BSEG * T_LINES = CHANGING LINE = cbseg EXCEPTIONS * FIELD_UNKNOWN = 1 * FIELD_NOT_AMOUNT = 2 * ERROR_IN_CONVERSION = 3 * ILLEGAL_PARAMETERS = 4 OTHERS = 5 .

CONVERT_FOREIGN_TO_FOREIGN_CUR CALL FUNCTION 'CONVERT_FOREIGN_TO_FOREIGN_CUR' EXPORTING * CLIENT = SY-MANDT DATE = idate * TYPE_OF_RATE = 'M' FROM_AMOUNT = camnt FROM_CURRENCY = iwaers TO_CURRENCY = ewaers LOCAL_CURRENCY = ihwaer CONVERSION_MODE = 'X' IMPORTING TO_AMOUNT = camnt * EXCEPTIONS * NO_RATE_FOUND = 1 * OVERFLOW = 2 * NO_FACTORS_FOUND = 3 * NO_SPREAD_FOUND = 4 * DERIVED_2_TIMES = 5 * OTHERS = 6 .

DDIF_FIELDINFO_GET call function 'DDIF_FIELDINFO_GET' EXPORTING tabname = 'BSET' TABLES dfies_tab = xdfies EXCEPTIONS not_found = 1 internal_error = 2 others = 3.

CURRENCY_DOCUMENT_CONVERT CALL FUNCTION 'CURRENCY_DOCUMENT_CONVERT' EXPORTING * RATE_TYPE = 'M' FROM_CURRENCY = iwaers TO_CURRENCY = ewaers LOCAL_CURRENCY = ihwaer DATE = idate * RATE = CONVERSION_MODE = 'O' TABLES FIELDLIST = FIELDLIST_BSET * T_LINES = CHANGING LINE = cbseT EXCEPTIONS * FIELD_UNKNOWN = 1 * FIELD_NOT_AMOUNT = 2 * ERROR_IN_CONVERSION = 3 * ILLEGAL_PARAMETERS = 4 OTHERS = 5 .

CURRENCY_CHECK_FOR_PROCESS CALL FUNCTION 'CURRENCY_CHECK_FOR_PROCESS' EXPORTING PROCESS = 'SAPF121' IMPORTING ALL_BUKRS = xalw_bukrs TABLES T_BUKRS = alw_bukrs EXCEPTIONS PROCESS_NOT_MAINTAINED = 1 OTHERS = 2.

NEXT_DYNPRO_SEARCH call function 'NEXT_DYNPRO_SEARCH' exporting i_bschl = items-bschl i_bukrs = items-bukrs i_mwart = items-mwart i_bstat = items-bstat i_mwskzs = items-mwskz i_tcode = 'FBD2' i_umskz = items-umskz i_buzid = items-buzid i_winfk = space i_ktosl = items-ktosl importing e_dynnra = HDYNNR1.

CONVERSION_EXIT_CUNIT_OUTPUT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING INPUT = *BSEG-MEINS IMPORTING OUTPUT = *BSEG-MEINS.

FI_FIND_PAYMENT_CONDITIONS CALL FUNCTION 'FI_FIND_PAYMENT_CONDITIONS' EXPORTING I_ZTERM = *BSEG-ZTERM I_BLDAT = BKPF-BLDAT I_BUDAT = BKPF-BUDAT I_CPUDT = SYST-DATUM IMPORTING E_ZFBDT = *BSEG-ZFBDT EXCEPTIONS OTHERS = 01.

FI_FIND_PAYMENT_CONDITIONS CALL FUNCTION 'FI_FIND_PAYMENT_CONDITIONS' EXPORTING I_ZTERM = *BSEG-ZTERM I_BLDAT = BKPF-BLDAT I_BUDAT = BKPF-BUDAT I_CPUDT = SYST-DATUM IMPORTING E_ZFBDT = *BSEG-ZFBDT EXCEPTIONS OTHERS = 01.

CO_SF_AFVG_CHECK_WITH_KEY CALL FUNCTION 'CO_SF_AFVG_CHECK_WITH_KEY' EXPORTING APLZL = *BSEG-APLZL AUFPL = *BSEG-AUFPL IMPORTING AFVC_EXP = AFVC VORNR = RF05A-VORNR EXCEPTIONS NOT_EXIST = 01.

CONVERSION_EXIT_KONPR_OUTPUT CALL FUNCTION 'CONVERSION_EXIT_KONPR_OUTPUT' EXPORTING INPUT = *BSEG-PROJK IMPORTING OUTPUT = HPOSID.

FI_FIND_PAYMENT_CONDITIONS CALL FUNCTION 'FI_FIND_PAYMENT_CONDITIONS' EXPORTING I_ZTERM = *BSEG-ZTERM I_BLDAT = BKPF-BLDAT I_BUDAT = BKPF-BUDAT I_CPUDT = SYST-DATUM IMPORTING E_ZFBDT = *BSEG-ZFBDT EXCEPTIONS OTHERS = 01.

READ_IBAN_EXT CALL FUNCTION 'READ_IBAN_EXT' EXPORTING I_BANKS = GV_BANKS I_BANKL = GV_BANKL I_BANKN = GV_BANKN I_BKONT = GV_BKONT I_BKREF = GV_BKREF IMPORTING E_IBAN = LV_IBAN.

CO_SF_AFVG_CHECK_WITH_KEY CALL FUNCTION 'CO_SF_AFVG_CHECK_WITH_KEY' EXPORTING APLZL = *BSEG-APLZL AUFPL = *BSEG-AUFPL IMPORTING AFVC_EXP = AFVC VORNR = COBL-VORNR EXCEPTIONS NOT_EXIST = 01.

CONVERSION_EXIT_MATN1_OUTPUT CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING INPUT = *BSEG-MATNR IMPORTING OUTPUT = *BSEG-MATNR.

CONVERSION_EXIT_KONPR_OUTPUT CALL FUNCTION 'CONVERSION_EXIT_KONPR_OUTPUT' EXPORTING INPUT = *BSEG-PROJK IMPORTING OUTPUT = HPOSID.

REEX_CALLBACK_FI_MEMO_POSTING CALL FUNCTION 'REEX_CALLBACK_FI_MEMO_POSTING' EXPORTING id_bukrs = *bseg-bukrs id_hkont = *bseg-hkont id_imkey = *bseg-imkey IMPORTING ef_fill_dabrz = lf_fill_dabrbez.

REAL_ESTATE_BDCI_FILL CALL FUNCTION 'REAL_ESTATE_BDCI_FILL' EXPORTING IMKEY = IMKEY TABLES FIELD_OUT = T_BDCFT EXCEPTIONS NOT_FOUND = 1.




FI_DECODE_KONTL CALL FUNCTION 'FI_DECODE_KONTL' "#EC EXISTS EXPORTING I_KONTT = KONTT I_KONTL = KONTL IMPORTING I_LEAVE_CODE = OK_CODE TABLES T_BDCFT = T_BDCFT.

FI_WT_RECURRING_FILL_POPUP CALL FUNCTION 'FI_WT_RECURRING_FILL_POPUP' EXPORTING I_BUKRS = *BSEG-BUKRS I_GJAHR = *BSEG-GJAHR I_BELNR = *BSEG-BELNR I_BUZEI = *BSEG-BUZEI I_WAERS = BKPF-WAERS I_KOART = *BSEG-KOART I_BUDAT = BKPF-BUDAT I_BSCHL = *BSEG-BSCHL I_UMSKZ = *BSEG-UMSKZ I_WT_ACCO = H_KONTO TABLES T_FTW = FTW EXCEPTIONS OTHERS = 1.



Contribute (Add Comments)

Although this basic information may have limited use it does provide an easy to find location to store any knowledge about this program/report.

The contribute/comments section below therefore offer's an opportunity for anyone to add additional information. This can be anything from useful hints, tips and screen shots to relevant SAP notes or anything else you feel is relevant to this report.

This will then be available for everyone to easily find by simply searching on the report name SAPF121 or its description.