SAPF121R 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 master program SAPF121R 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 SAPF121R into the relevant SAP transactions such as SE38 or SE80
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.
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: Report for SAPF121
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)
No INCLUDES are used within this REPORT code!
No SAP DATABASE tables are accessed within this REPORT code!
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.
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.
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 SAPF121R or its description.