Bank statement delete
Hi,
if we delete bank statements usinf program RFEBKA96, which table does it gets deleted from..?
when i check FEBEP, I can see that documents are posted against this statement no.
so deleting bank statement, does it have any impacts on documents posted ..?
Also if we run RFEBKA00 (FF.5) , which tables gets loaded and what exactly gets processed..?
thanks
Neha
Hi Neha,
It delete the bank statement and don't do any thing with the posting that where created with that bank statement!
Only when you are know for 100% that there are no posting you can use this program. Other wise you have to complete them manual.
Normal you use the deletion program only in the development system when you are doing tests
Similar Messages
-
Bank statement - Deleted automatically
Hi All,
When we executed FF67,& selected overview button, selected co.code which the bank statment was deleted.
we double click the co.code, status shows Elec:deletion ID set.
we executed FEBA the date which statment was delted, getting blank.
Please let us know how we can come out this problem?
Thanks
RamHi Sridhar M,
By right, after you run the program there should be no more deleted bank statement being displayed. Make sure you get the right ID from FEBA and be careful that you only delete one statement and not all.
Hope this help.
Thank you.
Regards,
Nazrul -
Deleted Bank statement - reset the Bank statement.
Dear Friends,
The user claims Bank statements were deleted.
How to find out who deleted them.
How to reset them?
Please suggest.
Regards
Sridhar ReddyDear Friends,
Thanks for the time and effort.
As suggested, I used the T.code FBL3N for the Main Bank account, outgoing and incoming accounts. The FI data was intact.
It seems that only Bank statements from FF67 were deleted.
We have promised the user that we will upload the manual bank statement for one year.
But there are more than 10 banks and data has to be uploaded.
Is there any simple process or program which bank data can be uploaded with short span of time.
Please suggest.
Regards
Sridhar -
FF67: How to delete Manual Bank Statement
Hi Experts,
Can somebody tell me, how to delete Manual Bank Statement which has not been posted.
Thanks in advance,
KrsnveniHi,
You can follow these steps in order to correct delete the bank statement using RFEBKA96.
1st step. Indentify the statement ID by FF_6
Fill the field application with 0001 (it is the code for EBS)
Then you can fulfill also the following fields:
- Company code
- House Bank ID
- Bank Account Id
Run the program and in the headers of the output you can check the statement number (AZNUM) and the ID (KUKEY).
Then you run RFEBKA96 for the ID.
I believe this information will help you to solve your issue.
Kind Regards,
Fernando Evangelista -
Problem deleting bank statements
hi friends,
i have 2 idocs processed which were same with different statement numbers. one was posted while the other was not posted. so i tried to delete the duplicate statement which was not posted through the program RFEBKA96 but after that i can still see the deleted statement number in the FEBA and FEBKO..but when i deleted the statement using RFEBKA96 it gave me messge what it was deleted in the following tables...
dont know if am doing wrong....let me know its urgent
thanks
charlieHi Charlie,
SAP R/3 does not provide a standard transaction to delete bank statements from the Banks module in FI. This can lead to time-consuming problems when erroneous statements make their way into your system. While there is no transaction code, there is a report that allows you to delete bank statements. It has the added benefit of being able to work as timesaving testing tool that can be reused again and again. However, there is a risk when you use the report. If a user accidentally clicks the delete button without deselecting the found bank statements, the report deletes all bank statements for all company codes.
Also check out this link
http://help.sap.com/bp_bblibrary/500/Documentation/J03_BankStmt_EN_US.doc
Assign points if useful
Regards
Genie -
Hi ,
how to reset the deleted bank statement data in sap .
Regards,
laxmiHi,
Goto SE38 and execute the following report: RFEBKA96.
On application select 0001. Here you will find all the statements. Mark the ones you want to delete..
press Delete Statements. This will permanently delete the load from your system.
Please note:: caution in Production server..
With Best Regards,
satish -
I can no longer read my bank statements. I believe they are using a PDF to display this information. If I go to chrome it will open the bank statements but Firefox no longer open these flies. Why??????
It's very unusual to get no results for PDF in the Application preferences list. It's possible that the file which stores those preferences might have become corrupted. Perhaps it would be best to rename or delete the file and let Firefox re-create it.
Here's how:
Open your current Firefox settings (AKA Firefox profile) folder using
Help > Troubleshooting Information > "Show Folder" button
Switch back to Firefox and Exit
Pause while Firefox finishes its cleanup, then rename '''mimeTypes.rdf''' to something like mimeTypes.old
Restart Firefox. After things setting down, check the Application preferences again to see whether PDF is listed and then set the drop-down on the right side to the desired action.
orange Firefox button or classic Tools menu > Options > Applications
Does that work any better? -
when i run my program for electronic bank statement i am getting an error when posting. the error requires me to populate the business area field and i have no idea on were i can populate the business area field. please help.
below is the source code of bank statement program
Report zum Einlesen und Verarbeiten des Elektronischen *
Kontoauszugs *
Erzeugung von Testdateien mit RFEBKAt0 und RFEBKAt1 *
051198ak reorganized export of print / archive parameters to *
insure correct setup for all modes (online/batch/print&exec)*
changed variable names in EXPORT statement to insure correct*
functioning of IMPORT statement *
mo271101 included changes for Web GUI compatibility (section 508) *
mo260105 included MT942 handling (setting dunning blocks *
REPORT RFEBKA00 MESSAGE-ID FB
LINE-SIZE 132
NO STANDARD PAGE HEADING.
Include Common Data *
INCLUDE ZFEBKA03.
*INCLUDE RFEBKA03.
INCLUDE ZFEBFR03.
*INCLUDE RFEBFR03. " Data France
TABLES: RFSDO,
SSCRFIELDS.
data: lt_statements type standard table of fieb_kukey,
l_statement type fieb_kukey.
*Daten fu00FCr die Mahnsperre "mo260105
TYPES: BEGIN OF S_KUKEY_MANSP,
SIGN(1),
OPTION(2),
LOW TYPE KUKEY_EB,
HIGH TYPE KUKEY_EB,
MANSP TYPE MANSP,
ANZTG TYPE ANZTG,
BUKRS TYPE BUKRS,
END OF S_KUKEY_MANSP.
DATA: LT_KUKEY TYPE STANDARD TABLE OF S_KUKEY_MANSP,
L_KUKEY LIKE LINE OF LT_KUKEY,
L_GJAHR TYPE GJAHR,
L_MANSP TYPE MANSP,
L_KUNNR TYPE KUNNR,
L_LIFNR TYPE LIFNR.
FIELD-SYMBOLS: <MANSP> LIKE LINE OF GT_MANSP.
*Ende der Daten fu00FCr die Mahnsperre "mo260105
C5053392 Code Begins
Parameters *
*------- Dateiangaben -
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-165.
PARAMETERS: EINLESEN LIKE RFPDO1-FEBEINLES,
FORMAT LIKE RFPDO1-FEBFORMAT DEFAULT 'M',
FILE LIKE RFPDO1-FEBAUSZF default
'c:\TESTEBS2.txt',
STMTNO(5),
AUSZFILE LIKE RFPDO1-FEBAUSZF default
'c:\bank\auszug.txt',
UMSFILE LIKE RFPDO1-FEBUMSF default
'c:\bank\umsatz.txt',
UMSFILE LIKE RFPDO1-FEBUMSF,
PCUPLOAD LIKE RFPDO1-FEBPCUPLD DEFAULT 'X'.
data : file1 type string.
*PARAMETERS: INTRADAY TYPE C DEFAULT SPACE NO-DISPLAY.
*PARAMETERS: INTRADAY TYPE C AS CHECKBOX DEFAULT SPACE.
SELECTION-SCREEN END OF BLOCK 1.
*------- Buchungsparameter -
SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-160.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: PA_XCALL LIKE FEBPDO-XCALL RADIOBUTTON GROUP 1.
SELECTION-SCREEN
COMMENT 03(29) TEXT-161 FOR FIELD PA_XCALL.
PARAMETERS: PA_XBKBU LIKE FEBPDO-XBKBU.
SELECTION-SCREEN
COMMENT 35(16) TEXT-171 FOR FIELD PA_XBKBU.
PARAMETERS: PA_MODE LIKE RFPDO-ALLGAZMD NO-DISPLAY.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: PA_XBDC LIKE FEBPDO-XBINPT RADIOBUTTON GROUP 1.
SELECTION-SCREEN
COMMENT 03(29) TEXT-163 FOR FIELD PA_XBDC.
SELECTION-SCREEN
COMMENT 35(15) TEXT-164 FOR FIELD MREGEL.
PARAMETERS: MREGEL LIKE RFPDO1-FEBMREGEL DEFAULT '1'.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS: PA_TEST LIKE RFPDO1-FEBTESTL RADIOBUTTON GROUP 1.
SELECTION-SCREEN
COMMENT 03(29) TEXT-168 FOR FIELD PA_TEST.
SELECTION-SCREEN: END OF LINE.
PARAMETERS: VALUT_ON LIKE RFPDO2-FEBVALUT DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK 2.
*------- Finanzdisposition -
SELECTION-SCREEN BEGIN OF BLOCK 5 WITH FRAME TITLE TEXT-172.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS: PA_XDISP LIKE FEBPDO-XDISP.
SELECTION-SCREEN
COMMENT 03(29) TEXT-170 FOR FIELD PA_XDISP.
PARAMETERS: PA_VERD LIKE RFFFPDO1-FFDISXVERD.
SELECTION-SCREEN
COMMENT 34(15) TEXT-174 FOR FIELD PA_VERD.
SELECTION-SCREEN
COMMENT 55(15) TEXT-173 FOR FIELD PA_DSART.
PARAMETERS: PA_DSART LIKE FDES-DSART.
SELECTION-SCREEN: END OF LINE.
PARAMETERS: INTRADAY LIKE RFPDO1_EN-AKINTRADAY AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK 5.
*------- Interpretationsparameter -
SELECTION-SCREEN BEGIN OF BLOCK 3 WITH FRAME TITLE TEXT-166.
DATA: NUM10(10) TYPE N.
DATA: CHR16(16) TYPE C.
SELECT-OPTIONS: S_FILTER FOR FEBPDO-FEBFILTER1.
SELECT-OPTIONS: T_FILTER FOR FEBPDO-FEBFILTER2.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN
COMMENT 01(31) TEXT-176 FOR FIELD PA_BDART.
PARAMETERS: PA_BDART LIKE FEBPDO-BDART.
SELECTION-SCREEN
COMMENT 36(21) TEXT-177 FOR FIELD PA_BDANZ.
PARAMETERS: PA_BDANZ LIKE FEBPDO-BDANZ.
data : bankfile1 type string,
umsfile1 type string,
ausfile1 type string.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN END OF BLOCK 3.
*------- Ausgabeparameter -
SELECTION-SCREEN BEGIN OF BLOCK 4 WITH FRAME TITLE TEXT-167.
PARAMETERS: BATCH LIKE RFPDO2-FEBBATCH,
P_KOAUSZ LIKE RFPDO1-FEBPAUSZ, " Kontoauszug drucken
P_BUPRO LIKE RFPDO2-FEBBUPRO,
P_STATIK LIKE RFPDO2-FEBSTAT,
PA_LSEPA LIKE FEBPDO-LSEPA.
SELECTION-SCREEN END OF BLOCK 4.
*eject
AT SELECTION-SCREEN *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
MASK = ',Multicash,*.txt'
STATIC = 'X'
CHANGING
FILE_NAME = FILE.
DATA: L_FILES TYPE FILETABLE, "mo271101
H_FILES TYPE FILE_TABLE, "mo271101
L_RC LIKE SY-SUBRC. "mo271101
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG "mo271101
CHANGING "mo271101
FILE_TABLE = L_FILES "mo271101
RC = L_RC "mo271101
EXCEPTIONS "mo271101
FILE_OPEN_DIALOG_FAILED = 1 "mo271101
CNTL_ERROR = 2 "mo271101
ERROR_NO_GUI = 3 "mo271101
NOT_SUPPORTED_BY_GUI = 4 "mo271101
OTHERS = 5. "mo271101
IF SY-SUBRC <> 0 OR L_RC < 0. "mo271101
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO "mo271101
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. "mo271101
ENDIF. "mo271101
READ TABLE L_FILES INDEX 1 INTO H_FILES. "mo271101
UMSFILE = H_FILES-FILENAME. "mo271101
AT SELECTION-SCREEN ON VALUE-REQUEST FOR UMSFILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
MASK = ',Multicash,*.txt'
STATIC = 'X'
CHANGING
FILE_NAME = UMSFILE.
**AT SELECTION-SCREEN ON VALUE-REQUEST FOR AUSZFILE. "mo271101
DATA: L_FILES TYPE FILETABLE, "mo271101
H_FILES TYPE FILE_TABLE, "mo271101
L_RC LIKE SY-SUBRC. "mo271101
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG "mo271101
CHANGING "mo271101
FILE_TABLE = L_FILES "mo271101
RC = L_RC "mo271101
EXCEPTIONS "mo271101
FILE_OPEN_DIALOG_FAILED = 1 "mo271101
CNTL_ERROR = 2 "mo271101
ERROR_NO_GUI = 3 "mo271101
NOT_SUPPORTED_BY_GUI = 4 "mo271101
OTHERS = 5. "mo271101
IF SY-SUBRC <> 0 OR L_RC < 0. "mo271101
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO "mo271101
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. "mo271101
ELSE. "mo271101
READ TABLE L_FILES INDEX 1 INTO H_FILES. "mo271101
AUSZFILE = H_FILES-FILENAME. "mo271101
ENDIF. "mo271101
AT SELECTION-SCREEN ON VALUE-REQUEST FOR AUSZFILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
MASK = ',Multicash,*.txt'
STATIC = 'X'
CHANGING
FILE_NAME = AUSZFILE.
*------- Dateiangaben -
AT SELECTION-SCREEN ON BLOCK 1.
IF SSCRFIELDS-UCOMM = 'ONLI' OR
SSCRFIELDS-UCOMM = 'PRIN' OR
SSCRFIELDS-UCOMM = 'SJOB'.
IF EINLESEN IS INITIAL.
MESSAGE I660(FV).
SUBMIT RFEBKA30 VIA SELECTION-SCREEN.
ENDIF.
MOVE AUSZFILE TO AUSZUG-FILE.
MOVE UMSFILE TO UMSATZ-FILE.
IF NOT UMSFILE IS INITIAL AND FORMAT NE 'M'.
SET CURSOR FIELD 'UMSFILE'.
MESSAGE E621(FV).
ENDIF.
IF UMSFILE IS INITIAL AND FORMAT EQ 'M'.
SET CURSOR FIELD 'UMSFILE'.
MESSAGE E659(FV).
ENDIF.
ENDIF.
*------- Buchungsparameter -
AT SELECTION-SCREEN ON BLOCK 2.
IF NOT PA_XBDC IS INITIAL.
Batch Input erzeugen
IF MREGEL IS INITIAL.
SET CURSOR FIELD 'MREGEL'.
MESSAGE E619(FV).
ENDIF.
IF NOT PA_XBKBU IS INITIAL.
SET CURSOR FIELD 'PA_XBKBU'.
MESSAGE E611(FV).
ENDIF.
ENDIF.
*------- Algorithmen -
AT SELECTION-SCREEN ON BLOCK 3.
CLEAR T_FILTER.
LOOP AT T_FILTER.
SHIFT T_FILTER-LOW RIGHT DELETING TRAILING ' '.
SHIFT T_FILTER-HIGH RIGHT DELETING TRAILING ' '.
MODIFY T_FILTER.
ENDLOOP.
CASE PA_BDART.
WHEN 1.
IF NOT PA_BDANZ IS INITIAL.
SET CURSOR FIELD 'PA_BDANZ'.
MESSAGE E618(FV).
ENDIF.
WHEN 2.
IF PA_BDANZ IS INITIAL.
SET CURSOR FIELD 'PA_BDANZ'.
MESSAGE E615(FV).
ENDIF.
ENDCASE.
EXPORT PA_BDART PA_BDANZ TO MEMORY ID 'RFEBKA00_SEL'. "note 410904
*---- Ausgabesteuerung
AT SELECTION-SCREEN ON BLOCK 4.
IF SY-BATCH = 'X'.
IF BATCH NE 'X'.
BATCH = 'X'.
ENDIF.
ENDIF.
*---- Program started with EXEC+PRINT online
IF BATCH NE 'X'.
IF P_BUPRO = 'X' OR P_STATIK = 'X'.
IF SSCRFIELDS-UCOMM = 'PRIN'.
EXECPRI = 'X'.
ENDIF.
ENDIF.
ENDIF.
*------- Finanzdisposition -
AT SELECTION-SCREEN ON BLOCK 5.
IF NOT PA_XDISP IS INITIAL.
Call Transaktion
IF NOT PA_XCALL IS INITIAL.
SET CURSOR FIELD 'PA_XDISP'.
MESSAGE E610(FV).
ENDIF.
IF PA_DSART IS INITIAL.
SET CURSOR FIELD 'PA_DSART'.
MESSAGE E612(FV).
ENDIF.
ENDIF.
IF NOT INTRADAY IS INITIAL.
IF NOT format CA 'AS'. "mo260105
SET CURSOR FIELD 'INTRADAY'.
CLEAR ADVICE_X.
MESSAGE E003(FTCM).
ELSE.
ADVICE_X = '4'.
ENDIF.
ENDIF.
*eject
START-OF-SELECTION *
START-OF-SELECTION.
read print parameters (user defaults) for list-output *
required for list-output to spool (i.e. batch or exec&print) *
IF ( BATCH = 'X' ) OR ( EXECPRI = 'X' ).
PERFORM GET_PRINT_PARAMETERS USING PRI_PARAM ARC_PARAM.
ENDIF.
PERFORM INITIALIZATION.
VGEXT_OK = TRUE.
Einlesen im richtigen Format *
IF EINLESEN = 'X'.
CASE FORMAT.
WHEN 'M'.
Format: MultiCash (AUSZUG.TXT und UMSAT.TXT)
perform gmbimport.
PERFORM MULTICASH(RFEKA200).
WHEN 'S'.
Format: SWIFT MT940 (mit Strukturiertem Feld 86)
PERFORM SWIFT_MT940(RFEKA400).
WHEN 'I'.
Format: SWIFT MT940 (unstrukturiertes Feld 86)
PERFORM SWIFT_MT940(RFEKA400).
WHEN 'D'.
Format: DTAUS im Diskettenformat
PERFORM DTAUS_DISK(RFEKA100).
WHEN 'E'.
Format: ETEBAC-Format Frankreich
PERFORM FORMAT_FRANKREICH(RFEBFR20).
WHEN 'F'.
Format: TITO-Format Finnland.
PERFORM FORMAT_TITO(RFEBFI20).
WHEN 'C'.
Format: CSB43-Format Spanien
PERFORM FORMAT_CSB43(RFEBES20).
WHEN 'R'.
Format: CSB43-Format Spanien: Referenzfelder zusammen
PERFORM FORMAT_CSB43_R(RFEBES20).
WHEN 'B'.
Format: Brazil, Banco Itau
PERFORM FORMAT_ITAU(J_1BBR20).
WHEN '1'.
Format: Brazil, Banco Bradesco
PERFORM FORMAT_BRADESCO(J_1BBR30).
WHEN 'A'.
Format: Americas/Austrailia BAI
PERFORM BAI_STMT_HANDLING(RFEKA700).
WHEN OTHERS.
ENDCASE.
begin process returns:
loop at s_kukey.
l_statement-kukey = s_kukey-low.
append l_statement to lt_statements.
endloop.
call function 'FIEB_RETURNS'
TABLES
t_statements = lt_statements
t_return_charges = g_return_charges.
end returns
ENDIF.
Kontoauszug drucken *
o printout works for statements only that were newly read in *
IF P_KOAUSZ = 'X' AND EINLESEN = 'X'.
die zu druckenden Kontoauszuege sind in Range S_KUKEY (Global Data)
DESCRIBE TABLE S_KUKEY LINES TFILL_S_KUKEY.
IF TFILL_S_KUKEY > 0 AND VGEXT_OK = TRUE.
IF BATCH = 'X'. " set up print to spool
NEW-PAGE PRINT ON PARAMETERS PRI_PARAM
ARCHIVE PARAMETERS ARC_PARAM NO DIALOG.
ENDIF.
PERFORM DRUCK_KONTOAUSZUG.
IF BATCH = 'X'.
NEW-PAGE PRINT OFF.
MESSAGE S640(FV) WITH SY-SPONO.
ENDIF.
ENDIF.
ENDIF.
Finanzdispo Avise erzeugen *
IF PA_XDISP = 'X'.
PERFORM FINANZDISPO_AVISE_ERZEUGEN.
ENDIF.
Export Print Parameters to Memory *
o at least ONE of the variables EXECPRI / BATCH is ALWAYS *
initial here (or both) *
o import takes place in RFEBBU00 if EXECPRI = 'X' *
o import takes place in RFEBBU01 if BATCH (<->JOBNAME) = 'X'*
o WATCH OUT HERE: variablenames for EXPORT / IMPORT must be *
identical otherwise IMPORT will not return the *
contents of the variables while SY-SUBRC EQ 0 (!!) *
IF ( EXECPRI = 'X' ) OR ( BATCH = 'X' ).
PERFORM EXPORT_PRI_PARAMS.
ENDIF.
Verbuchung aufrufen *
IF PA_XDISP = 'X'
AND PA_TEST = 'X'.
falls FINANZDISPOAVISE und NICHT BUCHEN Verbuchung nicht aufrufen
ELSE.
IF ANWND = '0004'. "Intraday
create dunning blocks if customized in T028B*************"mo260105
REFRESH R_KUKEY.
LOOP AT S_KUKEY.
READ TABLE GT_MANSP ASSIGNING <MANSP>
WITH KEY KUKEY = S_KUKEY-LOW.
*gt_mansp is filled by the format specific programs (RFEKA400)
IF SY-SUBRC = 0.
IF NOT <MANSP>-MANSP IS INITIAL
AND NOT <MANSP>-BUKRS IS INITIAL.
MOVE-CORRESPONDING S_KUKEY TO L_KUKEY.
MOVE <MANSP>-MANSP TO L_KUKEY-MANSP.
MOVE <MANSP>-BUKRS TO L_KUKEY-BUKRS.
MOVE <MANSP>-ANZTG TO L_KUKEY-ANZTG.
APPEND L_KUKEY TO LT_KUKEY.
ENDIF.
ENDIF.
ENDLOOP.
IF LINES( LT_KUKEY ) > 0.
PERFORM SET_GLOBAL_RKUKEY(RFEBBU10) USING LT_KUKEY.
PERFORM SET_GLOBAL_FILTER(RFEBBU10) USING S_FILTER[] T_FILTER[].
PERFORM EINZELPOSTEN_AUSWERTEN(RFEBBU10) USING 'X'.
LOOP AT LT_KUKEY INTO L_KUKEY.
SELECT * FROM FEBCL
WHERE KUKEY = L_KUKEY-LOW
AND ( KOART = 'K' OR KOART = 'D' )
AND AGKON <> SPACE
AND SELFD = 'BELNR'
AND SELVON <> SPACE.
IF FEBCL-SELVON+10(4) <> SPACE.
L_GJAHR = FEBCL-SELVON+10(4).
ELSE.
L_GJAHR = FEBKO-AZDAT(4).
ENDIF.
IF FEBCL-KOART = 'D'.
L_KUNNR = FEBCL-AGKON.
L_LIFNR = SPACE.
ELSE.
L_KUNNR = SPACE.
L_LIFNR = FEBCL-AGKON.
ENDIF.
CALL FUNCTION 'FIEB_SET_DUNNING_BLOCK'
EXPORTING
I_KUKEY = FEBCL-KUKEY
I_ESNUM = FEBCL-ESNUM
I_BUKRS = L_KUKEY-BUKRS
I_BELNR = FEBCL-SELVON(10)
I_GJAHR = L_GJAHR
I_KUNNR = L_KUNNR
I_LIFNR = L_LIFNR
I_MANSP = L_KUKEY-MANSP
I_ANZTG = L_KUKEY-ANZTG
IMPORTING
E_MANSP = L_MANSP
EXCEPTIONS
ALREADY_EXISTING = 1
NOT_POSSIBLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0 OR L_MANSP <> L_KUKEY-MANSP.
*should be entered in the protocol
ELSE.
*should also be entered in the protocol
ENDIF.
ENDSELECT.
UPDATE FEBEP SET VB1OK = 'X' VB2OK = 'X'
BELNR = '' NBBLN = ''
WHERE KUKEY = L_KUKEY-LOW.
UPDATE FEBKO SET VB1OK = 'X' VB2OK = 'X'
ASTAT = '8'
WHERE KUKEY = L_KUKEY-LOW.
ENDLOOP.
ENDIF.
end of dunning block enhancement*************************"mo260105
PERFORM CREATE_MEMO_RECORDS.
ELSE.
Verbuchung aufrufen, falls externe Vorgu00E4nge in T028G
IF VGEXT_OK = TRUE.
PERFORM VERBUCHUNG_AUFRUFEN.
DESCRIBE TABLE NOTT028G LINES TFILL_S_KUKEY. "Unallocated
IF TFILL_S_KUKEY > 0. "is OK
perform set_print_parameters using batch pri_param.
perform write_wrong_t028g. "no data yet
perform druck_kontoauszug. "put in nott
perform close_print_parameters using batch. "yet
perform delete_statement.
PERFORM WRITE_WRONG_T028G. "hw397778
ENDIF.
ELSE.
DESCRIBE TABLE S_KUKEY LINES TFILL_S_KUKEY.
IF TFILL_S_KUKEY > 0.
IF BATCH = 'X'. " set up print to spool
NEW-PAGE PRINT ON PARAMETERS PRI_PARAM
ARCHIVE PARAMETERS ARC_PARAM NO DIALOG.
ENDIF.
PERFORM WRITE_WRONG_T028G.
PERFORM DRUCK_KONTOAUSZUG.
IF BATCH = 'X'.
NEW-PAGE PRINT OFF.
MESSAGE S640(FV) WITH SY-SPONO.
ENDIF.
PERFORM DELETE_STATEMENT.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*eject
Seitenanfangsverarbeitung *
TOP-OF-PAGE.
--Batch-Heading-Routine aufrufen--
PERFORM BATCH-HEADING(RSBTCHH0).
WRITE: /01 SY-VLINE, 02 SY-ULINE(130), 132 SY-VLINE.
IF PRINTFLAG = 'A'.
PERFORM DRUCK_BANKUEBERSCHRIFT.
ENDIF.
*eject
Form-Routinen *
FORM VERBUCHUNG_AUFRUFEN. *
FORM VERBUCHUNG_AUFRUFEN.
Wenn Range leer und Einlesen angeXt, dann gab es keine zu verbuchenden
Kontoauszu00FCge. Z.B. wenn alle Ktoauszu00FCge schon eingelesen wurden.
DESCRIBE TABLE S_KUKEY LINES TFILL_S_KUKEY.
IF TFILL_S_KUKEY = 0 AND EINLESEN = 'X'.
EXIT.
ENDIF.
Felder fu00FCr Reportaufruf fu00FCllen.
IF BATCH = 'X'.
JOBNAME(8) = SY-REPID.
JOBNAME+8(1) = '-'.
JOBNAME+9(14) = TEXT-002.
EXPORTID(8) = SY-REPID.
EXPORTID+8(8) = SY-DATUM.
EXPORTID+16(6) = SY-UZEIT.
LOOP AT S_KUKEY.
EXPORTID+23(8) = S_KUKEY-LOW.
EXIT.
ENDLOOP.
ENDIF.
IF SPOOL = 'X'. " QHA GB
CLEAR PRI_PARAM. " QHA GB
PRI_PARAM = %_PRINT. " QHA GB
EXPORT PRI_PARAM TO MEMORY. " QHA GB
IF SY-SUBRC NE 0. " QHA GB
SPOOL = ' '. " QHA GB
ENDIF. " QHA GB
ENDIF. " QHA GB
Verbuchungsreport aufrufen falls Buchungen erzeugt werden sollen.
IF BUBER NE SPACE.
SUBMIT RFEBBU01 AND RETURN
WITH ANWND = ANWND
WITH S_KUKEY IN S_KUKEY
WITH JOBNAME = JOBNAME
WITH EXPORTID = EXPORTID
WITH BUBER = BUBER
WITH USEREXIT = USEREXIT "30D
WITH SELFD = SELFD
WITH SELFDLEN = SELFDLEN
WITH S_FILTER IN S_FILTER
WITH T_FILTER IN T_FILTER
WITH PA_BDART = PA_BDART
WITH PA_BDANZ = PA_BDANZ
WITH FUNCTION = FUNCTION
WITH MODE = MODE
WITH MREGEL = MREGEL
WITH PA_EFART = EFART
WITH P_BUPRO = P_BUPRO
WITH SPOOL = SPOOL
WITH P_STATIK = P_STATIK
WITH VALUT_ON = VALUT_ON
WITH TESTL = PA_TEST
WITH EXECPRI = EXECPRI.
Jobcount importieren
IMPORT JOBCOUNT FROM MEMORY ID EXPORTID.
WRITE: / 'Jobcount = ', JOBCOUNT.
ENDIF.
ENDFORM. "VERBUCHUNG_AUFRUFEN
*eject
*& Form FINANZDISPO_AVISE_ERZEUGEN
text *
FORM FINANZDISPO_AVISE_ERZEUGEN.
LOOP AT S_KUKEY.
SELECT * FROM FEBKO WHERE KUKEY = S_KUKEY-LOW.
ENDSELECT.
IF SY-SUBRC = 0.
SUBMIT RFEBFD00 AND RETURN
WITH P_BUKRS = FEBKO-BUKRS
WITH P_HBKID = FEBKO-HBKID
WITH P_HKTID = FEBKO-HKTID
WITH P_ANWND = FEBKO-ANWND "40a
WITH R_AZNUM = FEBKO-AZNUM
WITH R_AZDAT = FEBKO-AZDAT
WITH BI-NAME = SY-REPID
WITH BI-PROC = ADVICE_X "46b
WITH BI-DSART = PA_DSART
WITH P_VERD = PA_VERD.
ENDIF.
ENDLOOP.
ENDFORM. " FINANZDISPO_AVISE_ERZEUGEN
*eject
*& Form INITIALIZATION
Felder initialisieren *
FORM INITIALIZATION.
DATA: l_job LIKE tbtcjob-jobcount, "mo260105
ls_param LIKE btcselect, "mo260105
lt_joblist TYPE STANDARD TABLE OF tbtcjob. "mo260105
UPLOAD = PCUPLOAD.
EB_FORMAT = FORMAT.
IF NOT PA_XCALL IS INITIAL.
FUNCTION = 'C'.
ENDIF.
IF NOT PA_XBDC IS INITIAL.
FUNCTION = 'B'.
ENDIF.
MODE = PA_MODE.
IF PA_XCALL = 'X'
AND PA_XBKBU = 'X'.
BUBER = '1'.
ELSE.
BUBER = 'A'.
ENDIF.
IF INTRADAY = 'X'.
ANWND = '0004'. "Intraday Stmt
*begin of MT942 intraday enhancement "mo260105
SELECT SINGLE * FROM t028b WHERE mansp <> space.
IF sy-subrc = 0.
ls_param-jobname = 'RFEBKA20'.
ls_param-username = '*'.
CALL FUNCTION 'BP_JOB_SELECT'
EXPORTING
jobselect_dialog = 'N'
jobsel_param_in = ls_param
enddate = sy-datum
TABLES
jobselect_joblist = lt_joblist
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0 OR LINES( lt_joblist ) = 0.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = 'RFEBKA20'
IMPORTING
jobcount = l_job
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
SUBMIT rfebka20 VIA JOB 'RFEBKA20' NUMBER l_job AND RETURN.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_job
jobname = 'RFEBKA20'
strtimmed = 'X'
EXCEPTIONS
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*end of MT942 intraday enhancement "mo260105
ELSE.
ANWND = '0001'. "Anwendung Zwischenspeicher
ENDIF.
EFART = 'E'. "Electronischer Kontoauszug
IF SY-PDEST NE SPACE. " QHA
SPOOL = 'X'. " QHA
ENDIF. " QHA
*-- Avoid initial BUKRS - field: Defaults to page-header for company
*-- 0000. Fill instead with non-existing value - leads to printout of
*-- header-text for client.
BHDGD-BUKRS = '----'. "ak101199
ENDFORM. " INITIALIZATION
*eject
*& Form WRITE_WRONG_T028G
Ausgabe der fehlenden Eintru00E4ge in T028G *
FORM WRITE_WRONG_T028G.
DATA: FIRST(1) TYPE C. "HP
DATA: x_noposting(1) TYPE c.
PRINTFLAG = SPACE.
clear x_noposting.
LOOP AT NOTT028G WHERE VGDEF = SPACE.
x_noposting = 'X'.
exit.
ENDLOOP.
NEW-PAGE.
Druck der ext. Vorgu00E4nge, die nicht in T028G enhalten sind.
WRITE: /01 SY-VLINE, TEXT-010, 132 SY-VLINE.
WRITE: /01 SY-VLINE, TEXT-011, 132 SY-VLINE.
WRITE: /01 SY-VLINE, TEXT-012, 132 SY-VLINE.
WRITE: /01 SY-VLINE, TEXT-013, 132 SY-VLINE.
WRITE: /01 SY-VLINE, TEXT-014, 132 SY-VLINE.
WRITE: /01 SY-VLINE, TEXT-015, 132 SY-VLINE.
IF X_NOPOSTING EQ 'X'.
WRITE: /01 sy-vline, text-017, 132 sy-vline.
ENDIF.
WRITE: /01 SY-VLINE, TEXT-018, 132 SY-VLINE. "MP
WRITE: /01 SY-VLINE, TEXT-019, 132 SY-VLINE. "MP
WRITE: /01 SY-VLINE, TEXT-020, 132 SY-VLINE. "MP
FIRST = 'X'. "HP
LOOP AT NOTT028G WHERE VOZPM = '*'. "HP
IF FIRST = 'X'. "HP
WRITE: /01 SY-VLINE, TEXT-010, 132 SY-VLINE. "HP
WRITE: /01 SY-VLINE, TEXT-040, 132 SY-VLINE. "HP
WRITE: /01 SY-VLINE, TEXT-041, 132 SY-VLINE. "HP
WRITE: /01 SY-VLINE, TEXT-042, 132 SY-VLINE. "HP
WRITE: /01 SY-VLINE, TEXT-031, 132 SY-VLINE. "HP
"HP
WRITE: /01 SY-VLINE, 02 SY-ULINE(130), 132 SY-VLINE. "HP
CLEAR FIRST. "HP
ENDIF. "HP
WRITE: /01 SY-VLINE, "HP
03(08) NOTT028G-VGTYP, "HP
12(27) NOTT028G-VGEXT, "HP
40(03) '+/-', "HP
44(20) TEXT-032, "HP
65(15) NOTT028G-BANKL, "HP
81(18) NOTT028G-KTONR, "HP
100(05) NOTT028G-AZNUM, "HP
106(08) NOTT028G-KUKEY, "HP
115(05) NOTT028G-ESNUM, "HP
132 SY-VLINE. "HP
DELETE NOTT028G. "HP
ENDLOOP. "HP
SORT NOTT028G. "HP
LOOP AT NOTT028G. "HP
AT FIRST. "HP
WRITE: /01 SY-VLINE, TEXT-010, 132 SY-VLINE.
WRITE: /01 SY-VLINE, TEXT-030, 132 SY-VLINE.
WRITE: /01 SY-VLINE, TEXT-031, 132 SY-VLINE.
WRITE: /01 SY-VLINE, 02 SY-ULINE(130), 132 SY-VLINE.
ENDAT. "HP
LOOP AT nott028g. "HP
WRITE: /01 SY-VLINE,
03(08) NOTT028G-VGTYP,
12(27) NOTT028G-VGEXT,
40(01) NOTT028G-VOZPM,
44(20) TEXT-032,
65(15) NOTT028G-BANKL,
81(18) NOTT028G-KTONR,
100(05) NOTT028G-AZNUM,
106(08) NOTT028G-KUKEY,
115(05) nott028g-esnum.
if nott028g-vgdef = 'X'.
write 121(07) G_VGEXT.
endif.
write 132 sy-vline.
ENDLOOP.
WRITE: /01 SY-VLINE, 02 SY-ULINE(130), 132 SY-VLINE.
if x_noposting = 'X'.
MESSAGE s773.
endif.
ENDFORM. " WRITE_WRONG_T028G
*eject
Include der Form-Routinen fu00FCr Ausdruck des Kontoauszuges *
INCLUDE ZFEKAP00.
Form DELETE_STATEMENT
FORM DELETE_STATEMENT.
SELECT * FROM FEBKO WHERE KUKEY IN S_KUKEY AND ANWND = '0001'.
DELETE FROM FEBRE WHERE KUKEY = FEBKO-KUKEY.
DELETE FROM FEBEP WHERE KUKEY = FEBKO-KUKEY.
MOVE-CORRESPONDING FEBKO TO FEBVW.
DELETE FEBVW.
DELETE FEBKO.
ENDSELECT.
ENDFORM. " DELETE_STATEMENT
Form GET_PRINT_PARAMETERS *
FORM GET_PRINT_PARAMETERS USING P_PRI_PARAM LIKE PRI_PARAMS
P_ARC_PARAM LIKE ARC_PARAMS.
DATA: LIST_NAME LIKE PRI_PARAMS-PLIST.
LIST_NAME = SY-REPID.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
NO_DIALOG = 'X'
LIST_NAME = LIST_NAME
MODE = 'CURRENT'
LAYOUT = 'X_65_132'
IMPORTING
OUT_ARCHIVE_PARAMETERS = P_ARC_PARAM
OUT_PARAMETERS = P_PRI_PARAM.
P_PRI_PARAM-LINSZ = '132'. "workaround
ENDFORM. "GET_PRINT_PARAMETERS
Form EXPORT_PRI_PARAMS *
Export print and archive parameters for later import in reports *
RFEBBU00 or RFEBBU01 (depending on parameters EXECPRI and JOBNAME)*
Variablenames for IMPORT / EXPORT must be the same, so we better *
don't use local variables here. *
FORM EXPORT_PRI_PARAMS.
CLEAR PRI_KEY.
PRI_KEY-REPID = 'RFEBBU00'.
LOOP AT S_KUKEY.
PRI_KEY-KUKEY = S_KUKEY-LOW.
EXIT.
ENDLOOP.
EXPORT PRI_PARAM ARC_PARAM TO MEMORY ID PRI_KEY.
ENDFORM. " EXPORT_PRI_PARAMS
---- T H E E N D -
*& Form CREATE_MEMO_RECORDS
text
--> p1 text
<-- p2 text
FORM CREATE_MEMO_RECORDS.
DATA: XFEBKO LIKE FEBKO OCCURS 2 WITH HEADER LINE.
DATA: XFEBPI LIKE FEBPI OCCURS 2 WITH HEADER LINE.
DATA: HEADER_LINE(130) TYPE C.
DATA: POMSG LIKE BALMT.
DATA: BEGIN OF ITAB_FDES OCCURS 10.
INCLUDE STRUCTURE FDES.
DATA: END OF ITAB_FDES.
PRINTFLAG = SPACE.
LOOP AT S_KUKEY.
AT FIRST.
IF P_BUPRO = 'X'.
NEW-PAGE.
WRITE: /01 SY-VLINE,
TEXT-170,
132 SY-VLINE.
WRITE: /01 SY-VLINE, 02 SY-ULINE(130), 132 SY-VLINE.
HEADER_LINE = TEXT-031.
SHIFT HEADER_LINE BY 62 PLACES.
WRITE: /01 SY-VLINE,
HEADER_LINE(35),
132 SY-VLINE.
WRITE: /01 SY-VLINE, 02 SY-ULINE(130), 132 SY-VLINE.
ENDIF.
ENDAT.
SELECT * FROM FEBKO WHERE KUKEY = S_KUKEY-LOW.
ENDSELECT.
IF SY-SUBRC = 0.
REFRESH XFEBKO.
CLEAR XFEBKO.
XFEBKO = FEBKO.
APPEND XFEBKO.
REFRESH XFEBPI.
CLEAR XFEBPI.
SELECT SINGLE * FROM FEBPI INTO XFEBPI
WHERE KUKEY = XFEBKO-KUKEY
AND ESNUM = 0.
IF SY-SUBRC = 0.
APPEND XFEBPI.
CALL FUNCTION 'POST_MEMO_ENTRIES_POLLING_DIR'
TABLES
T_FEBKO = XFEBKO
T_FEBEP =
T_FEBPI = XFEBPI
EXCEPTIONS
STATEMENT_NOT_PROCESSED = 1
DISTINCT_FDES_NOT_FOUND = 1
OTHER_CUSTOMIZATION = 1
NOTHING_TO_POST = 2
OTHERS = 1.
IF SY-SUBRC = 0.
CLEAR POMSG.
*-- update bdb --
LOOP AT XFEBKO.
UPDATE FEBKO
SET ASTAT = XFEBKO-ASTAT
VB1OK = XFEBKO-VB1OK
VB2OK = XFEBKO-VB2OK
XFDIS = XFEBKO-XFDIS
WHERE ANWND = XFEBKO-ANWND
AND ABSND = XFEBKO-ABSND
AND AZIDT = XFEBKO-AZIDT
AND EMKEY = XFEBKO-EMKEY.
ENDLOOP.
LOOP AT XFEBPI.
UPDATE FEBPI
SET IDENR = XFEBPI-IDENR
DATM1 = XFEBPI-DATM1
TIME1 = XFEBPI-TIME1
WHERE KUKEY = XFEBPI-KUKEY
More than 90% of this time it's due to a misunderstanding (in-apps, subscription renewals, etc.), or accidental due to family members (other accunts)...
At least you can check what's purchased on your own account:
Tunes Store & Mac App Store: Seeing your purchase history and order numbers
http://support.apple.com/kb/HT2727
If the purchases do not show up there, then it's coming from another iTS account. You may wish to contact iTS...
iTunes Store Support
http://www.apple.com/emea/support/itunes/contact.html
They could disable the other account if it turns out not to be accidental, etc. -
I am having a peculiar error in bank statement processing (Manual).
I had to block a Cheq clearing GL account for some reasons and I created a new clearing GL account. I assigned this GL number in the FI12 (bank account directory) by deleting the old GL number and also the house bank updated in the new GL account number. I posted the open item in this clearing account also. However, while processing the Bank Statement, system is picking the same old clearing GL account number and says there is no open item available. It is not picking the new clearing GL account.
Why this is happening ? All the bank statement processing settings were reviewed and changes made. I am using the masking setting for GL account search. That is also done fine.Hi,
Please check this also
Electronic Bank Reconciliation
The primary configuration steps necessary to set up Electronic Bank Statements (EBS) Processing in SAP.
1. Create House Bank and Account ID (FI12)
2. Setup EDI Partner Profile for FINSTA Message Type (WE20)
3. Configure Global Settings for EBS (IMG)
Create Account Symbols
Assign Accounts to Account Symbols
Create Keys for Posting Rules
Define Posting Rules
Create Transaction Types
Assign External Transaction Types to Posting Rules
Assign Bank Accounts to Transaction Types
Also check out this very useful link which shows how to configure in detail
[http://www.sap-topjobs.com/sapFI/bankreco4/index.htm]
Thanks -
Almost 10 years with Mozilla FF. Why should I now make more changes to PDF readers? It works with explorer. I reloaded Adobe (already installed) should I uninstall Adobe? but it works with other browser.
Delete the history was painful (I could back at least 5 years). After uninstalled FF 3 times, finally I use REVO
The problem on ly exist with the BANK STATEMENT (first time opened OK then ...blank. Should I blame the bank? It opens with EXPLORER. Until yesterday evrything was ok.
Waiting for your help
Thanks for your time
gerardHi Gerard, have you switched from using the built-in PDF viewer to the Adobe Acrobat viewer? This article has the steps for that if you haven't tried it, and also shows where you can confirm which ones is being used: [[How to disable the built-in PDF viewer and use another viewer]].
When saving a PDF using the ''built-in viewer'', use the Download button on the toolbar above the PDF (looks like a downward pointing arrow). This may be more reliable than the Save Page As command.
When saving a PDF using the ''Adobe Acrobat viewer'', as you move the mouse pointer down the document, a floating toolbar should appear with a disk icon. (Or if you press the Esc key, a toolbar should appear above the document.) Use the disk icon on the Adobe Acrobat toolbar to save the document. -
we download from FF_6 for statement 0032, then using FF-5 to upload as statement file in another test client, but it says:
Termination in statement no. 00000 of acct ; closing record 62F
missing
Message no. FV151
we already choose "post immediatekly", how to correct error?
also how can I find the FF_5 posting log?
also in FEBA, every line button is red, if we choose post items, it says can't find open item, we have around 200 buttons, how to correct the error?
thanksHello, Jolin!
Concerning: "Termination in statement no. 00000 of acct ; closing record 62F missing".
I had the same error displayed when uploading bank statement. The error was caused by incorrect entries in the bank statement. My entries were as follows:
":62F:C140410UAH180760,00"
":64:C140410UAH180760,00"
As you can see, there were unnecessary symbols " in the statement. When I deleted them, the error disapeared. So, you have to make sure that there no unnecessary symbols and everything is in order with the rules of MT940. These two lines should be the last lines in the statement and should look like this:
:62F:C140410UAH180760,00
:64:C140410UAH180760,00, where
- :62F: and :64: field tags that show current account balance and available balance on the account respectively;
- C or D indicates the credit or debit balance;
- 140410 - indicates date of the statement in format YYMMDD;
- UAH - indicates the currency of the statement;
- 180760,00 - the closing balance of the statement.
Hope, it will help you!
Best regards,
The Wirtschaftsmann -
Unable to Load Bank Statement in ECC 6.0
Hi Guru's,
When using FF_5, Unable to load bank statement for 2007/09/13. Error message Statement 00324 already exists; entry ignored (Message no FB771) (Ticket 855)
2 previous statements were loaded out of sequence, so number 00324 is used up already (system assigned) Accounting says they have posted out of sequence before without a problem. when check on FEBA, and the last time posted out of sequence was statements for Aug 9,7,8,10th. So potentially upgrade related, not certain yet.
We are using BAI format.
Recently we have upgraded from 4.7 to 6.0.
Thanks to all guru'sDear Kumar,
Please, you delete the statement by program RFEBKA96, however before run this program look the documentation.
Regards,
Paulo -
Electronic Bank Statement (EBS)
Hi All,
My Client is implemented Electronic Bank Statement using BAI format.
GL Accounts set up is wrong (all bank accounts should be clearing type accounts (Open Item managed, except Operating Account (Main bank account))),but these accounts are not set up as open item management.
How can I handle this issue and is it possible to create new accounts or any other alternative solution? Any help is appreciated.
I will assign points.
Thanks,
RauHI
Before executing the programe RFSEPA02 ask your ABAP person to convert the programe to Zprograme as below so that this problem will solve you
*ZFI_OPEN_ITEM_MANAGE-TO APPLY OPEN ITEM MANAGE TICK
*& Report ZFI_OPEN_ITEM_MANAGE
REPORT ZFI_OPEN_ITEM_MANAGE MESSAGE-ID FH LINE-SIZE 80.
THIS IS NOT A STANDARD PROGRAM.
IT IS ONLY INCLUDED FOR CONVENIENCE IN CASE IT WILL BE NEEDED.
ONLY USE IT AFTER CONSULTING WITH SAP. S6DK909852
*REPORT RFSEPA02 MESSAGE-ID FH LINE-SIZE 80.
INCLUDE FSACHCDF.
INCLUDE FSACHCDV.
TABLES: BSIS,
BSAS,
BSEG,
BKPF,
GLT0,
T001.
DATA: BEGIN OF T_BSXX OCCURS 100.
INCLUDE STRUCTURE BSIS.
DATA: END OF T_BSXX.
DATA: BEGIN OF T_LISTE OCCURS 300,
GJAHR LIKE BKPF-GJAHR,
BELNR LIKE BKPF-BELNR,
SORT TYPE I,
TABLE(4) TYPE C,
TYPE TYPE C,
OK TYPE C,
END OF T_LISTE.
DATA: D_MAX LIKE SY-TFILL VALUE '100',
D_BELNR LIKE BSEG-BELNR,
D_TFILL LIKE SY-TFILL. "<<<< DELETE - NOTE 70203
D_TFILL LIKE SY-TFILL, "<<<< INSERT - NOTE 70203
D_STORNO TYPE C. "<<<< INSERT - NOTE 70203
DATA: BALANCE_ITEMS LIKE GLT0-HSL01,
BALANCE_ACCOUNT LIKE GLT0-HSL01.
*>>>> BEGIN OF INSERTION - NOTE 66156 <<<<
DATA: XGLEDTAB LIKE GLEDTAB OCCURS 1 WITH HEADER LINE.
DATA: BEGIN OF BK_METHODE,
HWAE1 LIKE T001-WAERS,
HWAE2 LIKE T001-WAERS,
HWAE3 LIKE T001-WAERS,
CURT1 LIKE X001-CURT2,
CURT2 LIKE X001-CURT2,
CURT3 LIKE X001-CURT2,
END OF BK_METHODE.
DATA: BEGIN OF T_BALANCE_ITEMS_HW OCCURS 1,
WAERS1 LIKE T001-WAERS,
VALUE1 LIKE GLT0-HSLVT,
WAERS2 LIKE T001-WAERS,
VALUE2 LIKE GLT0-HSLVT,
WAERS3 LIKE T001-WAERS,
VALUE3 LIKE GLT0-HSLVT,
END OF T_BALANCE_ITEMS_HW.
DATA: BEGIN OF T_BALANCE_ACCOUNT_HW OCCURS 1,
WAERS1 LIKE T001-WAERS,
VALUE1 LIKE GLT0-HSLVT,
WAERS2 LIKE T001-WAERS,
VALUE2 LIKE GLT0-HSLVT,
WAERS3 LIKE T001-WAERS,
VALUE3 LIKE GLT0-HSLVT,
END OF T_BALANCE_ACCOUNT_HW.
DATA: BEGIN OF T_BALANCE_ITEMS_TW OCCURS 1,
WAERS LIKE GLT0-RTCUR,
VALUE LIKE GLT0-TSLVT,
END OF T_BALANCE_ITEMS_TW.
DATA: BEGIN OF T_BALANCE_ACCOUNT_TW OCCURS 10,
WAERS LIKE GLT0-RTCUR,
VALUE LIKE GLT0-TSLVT,
END OF T_BALANCE_ACCOUNT_TW.
*>>>> END OF INSERTION - NOTE 66156 <<<<
DATA: NUM_BSEG_SELECT LIKE SY-TFILL,
NUM_BSEG_UPDATE LIKE SY-TFILL,
NUM_BSIS_INSERT LIKE SY-TFILL,
NUM_BSIS_SELECT LIKE SY-TFILL,
NUM_BSIS_UPDATE LIKE SY-TFILL,
NUM_BSAS_INSERT LIKE SY-TFILL,
NUM_BSAS_SELECT LIKE SY-TFILL,
NUM_BSAS_UPDATE LIKE SY-TFILL.
CONSTANTS: CHAR_I TYPE C VALUE 'I',
CHAR_S TYPE C VALUE 'S',
CHAR_U TYPE C VALUE 'U'.
*PARAMETER: P_BUKRS LIKE BSEG-BUKRS OBLIGATORY.
"<<<< DELETE NOTE - 62751
*PARAMETER: P_SAKNR LIKE BSEG-HKONT OBLIGATORY.
"<<<< DELETE NOTE - 62751
*>>>> BEGIN OF INSERTION - NOTE 62751 <<<<
PARAMETERS: P_BUKRS LIKE BKPF-BUKRS OBLIGATORY.
PARAMETERS: P_SAKNR LIKE SKA1-SAKNR OBLIGATORY
MATCHCODE OBJECT SAKO.
*>>>> END OF INSERTION - NOTE 62751 <<<<
SELECT-OPTIONS P_BELNR FOR BSEG-BELNR.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-B01.
PARAMETERS: P_LISTE AS CHECKBOX DEFAULT 'X'. " list protocol on
SELECTION-SCREEN END OF BLOCK B01.
INITIALIZATION.
CALL FUNCTION 'POPUP_DISPLAY_TEXT'
EXPORTING
POPUP_TITLE = ' '
TEXT_OBJECT = 'RFSEPA02'
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
*{ DELETE DMUK903910 1
LEAVE PROGRAM.
*} DELETE
AT SELECTION-SCREEN ON P_SAKNR.
PERFORM CHECK_ACCOUNT. " locked for posting?
PERFORM CHECK_ACCOUNT2. "<<<< INSERT - NOTE 66156
PERFORM ENQUEUE_ACCOUNT. "<<<< DELETE - NOTE 65191
START-OF-SELECTION.
PERFORM ENQUEUE_ACCOUNT. "<<<< INSERT - NOTE 65191
PERFORM CHECK_AUTHORITY_SKA1_BUK.
PERFORM CHECK_AUTHORITY_SKA1_BES.
PERFORM CHECK_ACCOUNT_BALANCE. "<<<< DELETE - NOTE 66156
PERFORM CHECK_ACCOUNT_BALANCE_2. "<<<< INSERT - NOTE 66156
*--- BSIS -
CLEAR D_BELNR.
CLEAR T_LISTE. REFRESH T_LISTE.
CLEAR T_BSXX. REFRESH T_BSXX.
DO.
PERFORM SELECT_ITEMS USING 'BSIS' D_TFILL.
IF D_TFILL EQ 0.
EXIT.
ENDIF.
LOOP AT T_BSXX.
PERFORM BKPF_UPDATE. "<<<< INSERT - NOTE 70203
PERFORM BSEG_UPDATE.
PERFORM BSXX_UPDATE USING 'BSIS'.
ENDLOOP.
PERFORM WRITE_LIST_PROTOCOL.
COMMIT WORK.
ENDDO.
*--- BSAS -
CLEAR D_BELNR.
CLEAR T_LISTE. REFRESH T_LISTE.
CLEAR T_BSXX. REFRESH T_BSXX.
DO.
PERFORM SELECT_ITEMS USING 'BSAS' SY-TFILL.
IF SY-TFILL EQ 0.
EXIT.
ENDIF.
LOOP AT T_BSXX.
PERFORM BSEG_UPDATE.
PERFORM BSXX_UPDATE USING 'BSAS'.
ENDLOOP.
PERFORM WRITE_LIST_PROTOCOL.
COMMIT WORK.
ENDDO.
PERFORM WRITE_PROTOCOL.
END-OF-SELECTION.
PERFORM CHANGE_ACCOUNT.
PERFORM DEQUEUE_ACCOUNT.
TOP-OF-PAGE.
ULINE.
WRITE:/ SY-VLINE,
2 TEXT-001,
25 P_SAKNR INTENSIFIED OFF,
80 SY-VLINE.
WRITE:/ SY-VLINE,
2 TEXT-002,
25 P_BUKRS INTENSIFIED OFF,
80 SY-VLINE.
ULINE.
IF P_LISTE = 'X'.
WRITE:/ SY-VLINE,
2(10) TEXT-S01 COLOR COL_HEADING,
12 SY-VLINE,
13(4) TEXT-S02 COLOR COL_HEADING,
17 SY-VLINE,
18(62) TEXT-S03 COLOR COL_HEADING,
80 SY-VLINE.
ENDIF.
*& Form SELECT_ITEMS
FORM SELECT_ITEMS USING TABLE TYPE C
FILL LIKE SY-TFILL.
SELECT * FROM (TABLE) INTO TABLE T_BSXX
UP TO D_MAX ROWS
WHERE BUKRS EQ P_BUKRS
AND HKONT EQ P_SAKNR
AND BELNR IN P_BELNR
AND XOPVW EQ SPACE.
FILL = SY-DBCNT.
*--- PROTOCOL -
LOOP AT T_BSXX.
PERFORM SAVE_PROTOCOL USING T_BSXX-BELNR T_BSXX-GJAHR
1 TABLE CHAR_S 1.
ENDLOOP.
SORT T_BSXX BY MANDT BUKRS BELNR GJAHR.
ENDFORM. " SELECT_ITEMS
*& Form BSEG_UPDATE
FORM BSEG_UPDATE.
SELECT SINGLE * FROM BSEG WHERE BUKRS = T_BSXX-BUKRS
AND GJAHR = T_BSXX-GJAHR
AND BELNR = T_BSXX-BELNR
AND BUZEI = T_BSXX-BUZEI.
IF BSEG-KTOSL = 'MVA' OR BSEG-KTOSL = 'VVA'.
MESSAGE A145(FH) WITH BSEG-HKONT.
ENDIF.
IF BSEG-KOART = 'M'.
MESSAGE A144(FH) WITH P_SAKNR BSEG-BSCHL.
ENDIF.
UPDATE BSEG SET XOPVW = 'X'
WHERE BUKRS EQ T_BSXX-BUKRS
AND GJAHR EQ T_BSXX-GJAHR
AND BELNR EQ T_BSXX-BELNR
AND BUZEI EQ T_BSXX-BUZEI.
*--- PROTOCOL -
PERFORM SAVE_PROTOCOL USING T_BSXX-BELNR T_BSXX-GJAHR
2 'BSEG' CHAR_U SY-DBCNT.
ENDFORM. " BSEG_UPDATE
*& Form BSIS_UPDATE
FORM BSXX_UPDATE USING TABLE TYPE C.
T_BSXX-XOPVW = 'X'.
IF D_STORNO = 'X' AND TABLE = 'BSIS'."<<<< INSERT - NOTE 70203
T_BSXX-XSTOV = SPACE. "<<<< INSERT - NOTE 70203
ENDIF. "<<<< INSERT - NOTE 70203
UPDATE (TABLE) FROM T_BSXX.
*--- PROTOCOL -
PERFORM SAVE_PROTOCOL USING T_BSXX-BELNR T_BSXX-GJAHR
1 TABLE CHAR_U SY-DBCNT.
ENDFORM. " BSIS_UPDATE
*& Form CHECK_ACCOUNT_BALANCE
FORM CHECK_ACCOUNT_BALANCE.
DATA: D_GJAHR LIKE BSEG-GJAHR.
Account balance
PERFORM READ_T001 USING P_BUKRS.
PERFORM READ_CURRENT_YEAR CHANGING D_GJAHR.
PERFORM READ_GLDB USING P_BUKRS P_SAKNR D_GJAHR.
PERFORM READ_BSIS USING P_BUKRS P_SAKNR.
IF BALANCE_ITEMS NE BALANCE_ACCOUNT.
MESSAGE E099.
Summe der Einzelposten stimmt nicht mit Kontensaldo überein. ->
ENDIF.
ENDFORM. " CHECK_ACCOUNT_BALANCE
*& Form READ_T001
FORM READ_T001 USING BUKRS LIKE T001-BUKRS.
SELECT SINGLE * FROM T001 WHERE BUKRS = BUKRS.
IF SY-SUBRC <> 0.
MESSAGE E001 WITH BUKRS.
ENDIF.
ENDFORM. " READ_T001
*& Form READ_CURRENT_YEAR
FORM READ_CURRENT_YEAR CHANGING GJAHR LIKE T009B-BDATJ.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
I_DATE = SY-DATUM
I_PERIV = T001-PERIV
IMPORTING
E_GJAHR = GJAHR
EXCEPTIONS
T009_NOTFOUND = 1
INPUT_FALSE = 1
T009B_NOTFOUND = 1.
ENDFORM. " READ_CURRENT_YEAR
*& Form READ_GLDB
FORM READ_GLDB USING XBUKRS LIKE GLT0-BUKRS
XSAKNR LIKE GLT0-RACCT
XGJAHR LIKE GLT0-RYEAR.
SELECT * FROM GLT0
WHERE RLDNR = '00'
AND RRCTY = '0'
AND RVERS = '001'
AND BUKRS = XBUKRS
AND RYEAR = XGJAHR
AND RACCT = XSAKNR.
PERFORM CALCULATE_BALANCE.
ENDSELECT.
ENDFORM. " READ_GLDB
FORM CALCULATE_BALANCE *
FORM CALCULATE_BALANCE.
DATA: BALANCE LIKE GLT0-TSL01.
BALANCE_ACCOUNT = BALANCE_ACCOUNT + GLT0-HSLVT.
DO GLT0-RPMAX TIMES
VARYING BALANCE FROM GLT0-HSL01 NEXT GLT0-HSL02.
BALANCE_ACCOUNT = BALANCE_ACCOUNT + BALANCE.
ENDDO.
ENDFORM. " CALCULATE_BALANCE
*& Form READ_BSIS
FORM READ_BSIS USING BUKRS LIKE BSIS-BUKRS
SAKNR LIKE BSIS-HKONT.
SELECT * FROM BSIS
WHERE BUKRS = BUKRS
AND HKONT = SAKNR.
IF BSIS-SHKZG = 'S'.
BALANCE_ITEMS = BALANCE_ITEMS + BSIS-DMBTR.
ELSE.
BALANCE_ITEMS = BALANCE_ITEMS - BSIS-DMBTR.
ENDIF.
ENDSELECT.
ENDFORM. " READ_BSIS
*& Form CHANGE_ACCOUNT
FORM CHANGE_ACCOUNT.
SKB1 = *SKB1.
SKB1-XOPVW = 'X'.
OBJECTID = T001-KTOPL.
OBJECTID+4 = SKB1-SAKNR.
OBJECTID+14 = SKB1-BUKRS.
UPD_SKB1 = 'U'.
UTIME = SY-UZEIT.
UDATE = SY-DATUM.
USERNAME = SY-UNAME.
PERFORM CD_CALL_SACH.
CALL FUNCTION 'GL_ACCOUNT_IN_COMPANY_UPDATE'
EXPORTING
I_SKB1 = SKB1.
COMMIT WORK.
ENDFORM. " CHANGE_ACCOUNT
*& Form ENQUEUE_ACCOUNT
FORM ENQUEUE_ACCOUNT.
CALL FUNCTION 'ENQUEUE_EFSKB1'
EXPORTING
BUKRS = P_BUKRS
SAKNR = P_SAKNR
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2.
CASE SY-SUBRC.
WHEN 1.
MESSAGE E042 WITH P_SAKNR P_BUKRS.
WHEN 2.
MESSAGE E038 WITH P_SAKNR P_BUKRS.
ENDCASE.
ENDFORM. " ENQUEUE_ACCOUNT
*& Form DEQUEUE_ACCOUNT
FORM DEQUEUE_ACCOUNT.
CALL FUNCTION 'DEQUEUE_EFSKB1'
EXPORTING
BUKRS = P_BUKRS
SAKNR = P_SAKNR
EXCEPTIONS
SYSTEM_FAILURE = 1.
ENDFORM. " DEQUEUE_ACCOUNT
FORM WRITE_LIST_PROTOCOL *
writes list protocol *
FORM WRITE_LIST_PROTOCOL.
DATA: TEXT(62) TYPE C,
SAVE_BELNR LIKE BKPF-BELNR.
DESCRIBE TABLE T_LISTE LINES SY-TFILL.
CHECK P_LISTE = 'X'.
CHECK SY-TFILL > 0.
SORT T_LISTE BY GJAHR BELNR SORT TYPE.
LOOP AT T_LISTE.
CHECK T_LISTE-OK = 1.
CASE T_LISTE-TABLE.
WHEN 'BSEG'.
CASE T_LISTE-TYPE.
WHEN CHAR_S.
TEXT = TEXT-BE1.
WHEN CHAR_U.
TEXT = TEXT-BE2.
ENDCASE.
WHEN 'BSIS'.
CASE T_LISTE-TYPE.
WHEN CHAR_S.
TEXT = TEXT-XX1.
REPLACE '&TAB' WITH T_LISTE-TABLE INTO TEXT.
WHEN CHAR_U.
TEXT = TEXT-XX2.
REPLACE '&TAB' WITH T_LISTE-TABLE INTO TEXT.
WHEN CHAR_I.
TEXT = TEXT-XX3.
REPLACE '&TAB' WITH T_LISTE-TABLE INTO TEXT.
ENDCASE.
WHEN 'BSAS'.
CASE T_LISTE-TYPE.
WHEN CHAR_S.
TEXT = TEXT-XX1.
REPLACE '&TAB' WITH T_LISTE-TABLE INTO TEXT.
WHEN CHAR_U.
TEXT = TEXT-XX2.
REPLACE '&TAB' WITH T_LISTE-TABLE INTO TEXT.
WHEN CHAR_I.
TEXT = TEXT-XX3.
REPLACE '&TAB' WITH T_LISTE-TABLE INTO TEXT.
ENDCASE.
ENDCASE.
AT NEW BELNR.
ULINE.
WRITE:/ SY-VLINE,
2 T_LISTE-BELNR COLOR COL_KEY,
12 SY-VLINE,
13 T_LISTE-GJAHR COLOR COL_KEY,
17 SY-VLINE.
ENDAT.
IF SAVE_BELNR <> T_LISTE-BELNR.
WRITE: 18(62) TEXT COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
SAVE_BELNR = T_LISTE-BELNR.
ELSE.
WRITE:/ SY-VLINE,
12 SY-VLINE,
17 SY-VLINE,
18(62) TEXT COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
ENDIF.
ENDLOOP.
ULINE.
ENDFORM. " WRITE_LIST_PROTOCOL
FORM WRITE_PROTOCOL *
writes normal protocol *
FORM WRITE_PROTOCOL.
DATA: TEXT(62) TYPE C.
*- selected items-----
IF NOT ( NUM_BSIS_SELECT = 0 ).
TEXT = TEXT-NX1.
REPLACE '&TAB' WITH 'BSIS' INTO TEXT.
WRITE:/ SY-VLINE,
2(58) TEXT COLOR COL_KEY INTENSIFIED ON,
60(1) SY-VLINE,
61(19) NUM_BSIS_SELECT COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
ENDIF.
IF NOT ( NUM_BSAS_SELECT = 0 ).
TEXT = TEXT-NX1.
REPLACE '&TAB' WITH 'BSAS' INTO TEXT.
WRITE:/ SY-VLINE,
2(58) TEXT COLOR COL_KEY INTENSIFIED ON,
60(1) SY-VLINE,
61(19) NUM_BSAS_SELECT COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
ENDIF.
IF NOT ( NUM_BSEG_SELECT = 0 ).
WRITE:/ SY-VLINE,
2(58) TEXT-NB1 COLOR COL_KEY INTENSIFIED ON,
60(1) SY-VLINE,
61(19) NUM_BSEG_SELECT COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
ENDIF.
*- changed items-----
IF NUM_BSIS_UPDATE > 0.
TEXT = TEXT-NX2.
REPLACE '&TAB' WITH 'BSIS' INTO TEXT.
WRITE:/ SY-VLINE,
2(58) TEXT COLOR COL_KEY INTENSIFIED ON,
60(1) SY-VLINE,
61(19) NUM_BSIS_UPDATE COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
ENDIF.
IF NUM_BSAS_UPDATE > 0.
TEXT = TEXT-NX2.
REPLACE '&TAB' WITH 'BSAS' INTO TEXT.
WRITE:/ SY-VLINE,
2(58) TEXT COLOR COL_KEY INTENSIFIED ON,
60(1) SY-VLINE,
61(19) NUM_BSAS_UPDATE COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
ENDIF.
IF NUM_BSEG_UPDATE > 0.
WRITE:/ SY-VLINE,
2(58) TEXT-NB2 COLOR COL_KEY INTENSIFIED ON,
60(1) SY-VLINE,
61(19) NUM_BSEG_UPDATE COLOR COL_NORMAL INTENSIFIED OFF,
80 SY-VLINE.
ENDIF.
ULINE.
ADD NUM_BSIS_SELECT TO NUM_BSAS_SELECT.
IF NUM_BSAS_SELECT = 0.
ULINE.
WRITE:/ SY-VLINE,
2(78) TEXT-NSB COLOR COL_NEGATIVE,
80 SY-VLINE.
ULINE.
ENDIF.
ENDFORM.
*>>>> BEGIN OF INSERTION - NOTE 66156
*& Form CHECK_ACCOUNT_BALANCE_2
FORM CHECK_ACCOUNT_BALANCE_2.
DATA: D_GJAHR LIKE BSEG-GJAHR.
Account balance
PERFORM READ_T001 USING P_BUKRS.
PERFORM READ_CURRENT_YEAR CHANGING D_GJAHR.
PERFORM READ_CURRENCY_T001A USING P_BUKRS.
Transaktionswährung & Hauswährung
PERFORM READ_GLDB_2 USING P_BUKRS P_SAKNR D_GJAHR.
PERFORM READ_BSIS_2 USING P_BUKRS P_SAKNR.
BEGIN OF INSERTION
LOOP AT T_BALANCE_ITEMS_TW WHERE VALUE = 0.
DELETE T_BALANCE_ITEMS_TW.
ENDLOOP.
LOOP AT T_BALANCE_ACCOUNT_TW WHERE VALUE = 0.
DELETE T_BALANCE_ACCOUNT_TW.
ENDLOOP.
LOOP AT T_BALANCE_ITEMS_HW WHERE VALUE1 = 0
AND VALUE2 = 0
AND VALUE3 = 0.
DELETE T_BALANCE_ITEMS_HW.
ENDLOOP.
LOOP AT T_BALANCE_ACCOUNT_HW WHERE VALUE1 = 0
AND VALUE2 = 0
AND VALUE3 = 0.
DELETE T_BALANCE_ACCOUNT_HW.
ENDLOOP.
END OF INSERTION
IF T_BALANCE_ITEMS_HW[] <> T_BALANCE_ACCOUNT_HW[] OR
T_BALANCE_ITEMS_TW[] <> T_BALANCE_ACCOUNT_TW[].
PERFORM DEQUEUE_ACCOUNT.
MESSAGE E099.
Summe der Einzelposten stimmt nicht mit Kontensaldo überein. ->
ENDIF.
ENDFORM. " CHECK_ACCOUNT_BALANCE_2
*& Form READ_GLDB_2
FORM READ_GLDB_2 USING XBUKRS LIKE GLT0-BUKRS
XSAKNR LIKE GLT0-RACCT
XGJAHR LIKE GLT0-RYEAR.
DATA: TYPE(3) TYPE C,
CURT LIKE BK_METHODE-CURT1.
DATA: RESULT LIKE T_BALANCE_ACCOUNT_TW OCCURS 1 WITH HEADER LINE.
CLEAR T_BALANCE_ACCOUNT_TW.
CLEAR T_BALANCE_ACCOUNT_HW.
Transaktionswährung
CLEAR RESULT. REFRESH RESULT.
CLEAR XGLEDTAB. REFRESH XGLEDTAB.
TYPE = 'TW'.
XGLEDTAB-RLDNR = '00'.
APPEND XGLEDTAB.
PERFORM READ_LEDGER TABLES RESULT XGLEDTAB
USING XBUKRS XSAKNR XGJAHR TYPE.
LOOP AT RESULT.
T_BALANCE_ACCOUNT_TW-WAERS = RESULT-WAERS.
T_BALANCE_ACCOUNT_TW-VALUE = RESULT-VALUE.
APPEND T_BALANCE_ACCOUNT_TW.
ENDLOOP.
1. Hauswährung
CLEAR RESULT. REFRESH RESULT.
CLEAR XGLEDTAB. REFRESH XGLEDTAB.
TYPE = 'HW1'.
CURT = BK_METHODE-CURT1.
XGLEDTAB-RLDNR = '00'.
APPEND XGLEDTAB.
PERFORM READ_LEDGER TABLES RESULT XGLEDTAB
USING XBUKRS XSAKNR XGJAHR TYPE.
READ TABLE RESULT INDEX 1.
T_BALANCE_ACCOUNT_HW-WAERS1 = RESULT-WAERS.
T_BALANCE_ACCOUNT_HW-VALUE1 = RESULT-VALUE.
*2. Hauswährung
IF BK_METHODE-CURT2 <> SPACE.
CLEAR RESULT. REFRESH RESULT.
CLEAR XGLEDTAB. REFRESH XGLEDTAB.
TYPE = 'HW2'.
CURT = BK_METHODE-CURT2.
IF CURT = '30'.
XGLEDTAB-RLDNR = '00'.
XGLEDTAB-CURRNUMBER = '3'.
ELSE.
CALL FUNCTION 'G_GIVE_LEDGERS_FOR_GLT0'
EXPORTING
BUKRS = XBUKRS
CURTP = CURT
TABLES
LEDTAB = XGLEDTAB.
DESCRIBE TABLE XGLEDTAB LINES SY-TFILL.
IF SY-TFILL GT 1. SORT XGLEDTAB. ENDIF.
READ TABLE XGLEDTAB INDEX 1.
ENDIF.
PERFORM READ_LEDGER TABLES RESULT XGLEDTAB
USING XBUKRS XSAKNR XGJAHR TYPE.
READ TABLE RESULT INDEX 1.
T_BALANCE_ACCOUNT_HW-WAERS2 = RESULT-WAERS.
T_BALANCE_ACCOUNT_HW-VALUE2 = RESULT-VALUE.
ENDIF.
IF BK_METHODE-CURT3 <> SPACE.
*3. Hauswährung
CLEAR RESULT. REFRESH RESULT.
CLEAR XGLEDTAB. REFRESH XGLEDTAB.
TYPE = 'HW3'.
CURT = BK_METHODE-CURT3.
IF CURT = '30'.
XGLEDTAB-RLDNR = '00'.
XGLEDTAB-CURRNUMBER = '3'.
ELSE.
CALL FUNCTION 'G_GIVE_LEDGERS_FOR_GLT0'
EXPORTING
BUKRS = XBUKRS
CURTP = CURT
TABLES
LEDTAB = XGLEDTAB.
DESCRIBE TABLE XGLEDTAB LINES SY-TFILL.
IF SY-TFILL GT 1. SORT XGLEDTAB. ENDIF.
READ TABLE XGLEDTAB INDEX 1.
ENDIF.
PERFORM READ_LEDGER TABLES RESULT XGLEDTAB
USING XBUKRS XSAKNR XGJAHR TYPE.
READ TABLE RESULT INDEX 1.
T_BALANCE_ACCOUNT_HW-WAERS3 = RESULT-WAERS.
T_BALANCE_ACCOUNT_HW-VALUE3 = RESULT-VALUE.
ENDIF.
APPEND T_BALANCE_ACCOUNT_HW.
SORT T_BALANCE_ACCOUNT_TW.
ENDFORM. " READ_GLDB_2
*& Form READ_BSIS_2
FORM READ_BSIS_2 USING BUKRS LIKE BSIS-BUKRS
SAKNR LIKE BSIS-HKONT.
CLEAR T_BALANCE_ITEMS_HW. REFRESH T_BALANCE_ITEMS_HW.
CLEAR T_BALANCE_ITEMS_TW. REFRESH T_BALANCE_ITEMS_TW.
SELECT * FROM BSIS
WHERE BUKRS = BUKRS
AND HKONT = SAKNR.
IF ( BSIS-PSWSL IS INITIAL OR BSIS-PSWBT IS INITIAL ) AND
BSIS-XARCH NE 'X'.
SELECT SINGLE * FROM BSEG WHERE BUKRS = BSIS-BUKRS
AND BELNR = BSIS-BELNR
AND GJAHR = BSIS-GJAHR
AND BUZEI = BSIS-BUZEI.
IF SY-SUBRC <> 0.
MESSAGE A500(FE) WITH 'BSEG nicht gefunden'. "#EC NOTEXT
ENDIF.
BSIS-PSWSL = BSEG-PSWSL.
BSIS-PSWBT = BSEG-PSWBT.
ENDIF.
IF BSIS-SHKZG = 'S'.
T_BALANCE_ITEMS_HW-WAERS1 = BK_METHODE-HWAE1.
T_BALANCE_ITEMS_HW-WAERS2 = BK_METHODE-HWAE2.
T_BALANCE_ITEMS_HW-WAERS3 = BK_METHODE-HWAE3.
T_BALANCE_ITEMS_HW-VALUE1 = BSIS-DMBTR.
T_BALANCE_ITEMS_HW-VALUE2 = BSIS-DMBE2.
T_BALANCE_ITEMS_HW-VALUE3 = BSIS-DMBE3.
T_BALANCE_ITEMS_TW-WAERS = BSIS-PSWSL.
T_BALANCE_ITEMS_TW-VALUE = BSIS-PSWBT.
ELSE.
T_BALANCE_ITEMS_HW-WAERS1 = BK_METHODE-HWAE1.
T_BALANCE_ITEMS_HW-WAERS2 = BK_METHODE-HWAE2.
T_BALANCE_ITEMS_HW-WAERS3 = BK_METHODE-HWAE3.
T_BALANCE_ITEMS_HW-VALUE1 = - BSIS-DMBTR.
T_BALANCE_ITEMS_HW-VALUE2 = - BSIS-DMBE2.
T_BALANCE_ITEMS_HW-VALUE3 = - BSIS-DMBE3.
T_BALANCE_ITEMS_TW-WAERS = BSIS-PSWSL.
T_BALANCE_ITEMS_TW-VALUE = - BSIS-PSWBT.
ENDIF.
COLLECT T_BALANCE_ITEMS_HW.
COLLECT T_BALANCE_ITEMS_TW.
ENDSELECT.
SORT T_BALANCE_ITEMS_TW.
ENDFORM. " READ_BSIS_2
*& Form CHECK_ACCOUNT2
Check some things for XOPVW
FORM CHECK_ACCOUNT2.
TABLES: TBSL, T030.
DATA: CHECK_BSCHL LIKE BSIS-BSCHL OCCURS 10 WITH HEADER LINE.
Belege schon archiviert?
SELECT * FROM BSIS WHERE BUKRS EQ P_BUKRS
AND HKONT EQ P_SAKNR
AND XARCH EQ 'X'.
MESSAGE E146.
Es sind schon Belege archiviert worden. Änderung ist nicht möglich
ENDSELECT.
Vorgangsschlüssel MVA und VVA sind nicht erlaubt.
SELECT * FROM T030 WHERE KTOPL = T001-KTOPL
AND ( KTOSL = 'MVA' OR KTOSL = 'VVA' ).
IF T030-KONTS = P_SAKNR OR T030-KONTH = P_SAKNR.
MESSAGE E145(FH) WITH P_SAKNR.
Konto wird in Kontenfindung für Vorgang MVA oder VVA verwendet
ENDIF.
ENDSELECT.
Buchungsschlüsseln dürfen nicht für KOART = M sein
SELECT BSCHL INTO TABLE CHECK_BSCHL FROM BSIS
WHERE BUKRS EQ P_BUKRS
AND HKONT EQ P_SAKNR.
SORT CHECK_BSCHL.
DELETE ADJACENT DUPLICATES FROM CHECK_BSCHL.
LOOP AT CHECK_BSCHL.
SELECT SINGLE KOART INTO TBSL-KOART FROM TBSL
WHERE BSCHL = CHECK_BSCHL.
IF SY-SUBRC NE 0.
MESSAGE E143(FH) WITH CHECK_BSCHL.
Verwendeter Buchungsschlüssel & ist nicht mehr in der Kontenfindu
ELSEIF TBSL-KOART = 'M'.
MESSAGE E144(FH) WITH P_SAKNR CHECK_BSCHL.
Konto & kann nicht geändert werden -> Langtext
ENDIF.
ENDLOOP.
ENDFORM. " CHECK_ACCOUNT2
*>>>> END OF INSERTION - NOTE 66156 <<<<
INCLUDE FSACHCDC.
INCLUDE EPA00F00.
*& Form READ_CURRENCY_T001A
FORM READ_CURRENCY_T001A USING P_BUKRS LIKE T001-BUKRS.
TABLES: X001.
CALL FUNCTION 'FI_CURRENCY_INFORMATION'
EXPORTING
I_BUKRS = P_BUKRS
IMPORTING
E_X001 = X001
EXCEPTIONS
CURRENCY_2_NOT_DEFINED = 1
CURRENCY_3_NOT_DEFINED = 2
OTHERS = 6.
BK_METHODE-HWAE1 = T001-WAERS.
BK_METHODE-HWAE2 = X001-HWAE2.
BK_METHODE-HWAE3 = X001-HWAE3.
BK_METHODE-CURT1 = '10'.
BK_METHODE-CURT2 = X001-CURT2.
BK_METHODE-CURT3 = X001-CURT3.
ENDFORM. " READ_CURRENCY_T001A
*& Form READ_LEDGER
FORM READ_LEDGER TABLES RESULT STRUCTURE T_BALANCE_ACCOUNT_TW
XGLEDTAB STRUCTURE GLEDTAB
USING XBUKRS LIKE GLT0-BUKRS
XSAKNR LIKE GLT0-RACCT
XGJAHR LIKE GLT0-RYEAR
TYPE TYPE C.
DATA: BALANCE LIKE GLT0-TSLVT.
DATA: I_GJAHR LIKE GLT0-RYEAR.
STATICS: I_RECURSIV TYPE I.
CHECK I_RECURSIV < 2.
CLEAR RESULT. REFRESH RESULT.
READ TABLE XGLEDTAB INDEX 1.
SELECT * FROM GLT0
WHERE RLDNR = XGLEDTAB-RLDNR
AND RRCTY = '0'
AND RVERS = '001'
AND BUKRS = XBUKRS
AND RYEAR = XGJAHR
AND RACCT = XSAKNR.
CASE TYPE.
WHEN 'TW'.
RESULT-WAERS = GLT0-RTCUR.
RESULT-VALUE = GLT0-TSLVT.
DO GLT0-RPMAX TIMES
VARYING BALANCE FROM GLT0-TSL01 NEXT GLT0-TSL02.
RESULT-VALUE = RESULT-VALUE + BALANCE.
ENDDO.
WHEN 'HW1'.
RESULT-WAERS = BK_METHODE-HWAE1.
RESULT-VALUE = GLT0-HSLVT.
DO GLT0-RPMAX TIMES
VARYING BALANCE FROM GLT0-HSL01 NEXT GLT0-HSL02.
RESULT-VALUE = RESULT-VALUE + BALANCE.
ENDDO.
WHEN 'HW2' OR 'HW3'.
IF XGLEDTAB-CURRNUMBER = '3'.
GLT0-HSLVT = GLT0-KSLVT.
GLT0-HSL01 = GLT0-KSL01. GLT0-HSL02 = GLT0-KSL02.
GLT0-HSL03 = GLT0-KSL03. GLT0-HSL04 = GLT0-KSL04.
GLT0-HSL05 = GLT0-KSL05. GLT0-HSL06 = GLT0-KSL06.
GLT0-HSL07 = GLT0-KSL07. GLT0-HSL08 = GLT0-KSL08.
GLT0-HSL09 = GLT0-KSL09. GLT0-HSL10 = GLT0-KSL10.
GLT0-HSL11 = GLT0-KSL11. GLT0-HSL12 = GLT0-KSL12.
GLT0-HSL13 = GLT0-KSL13. GLT0-HSL14 = GLT0-KSL14.
GLT0-HSL15 = GLT0-KSL15. GLT0-HSL16 = GLT0-KSL16.
ENDIF.
IF TYPE = 'HW2'.
RESULT-WAERS = BK_METHODE-HWAE2.
ELSE.
RESULT-WAERS = BK_METHODE-HWAE3.
ENDIF.
RESULT-VALUE = GLT0-HSLVT.
DO GLT0-RPMAX TIMES
VARYING BALANCE FROM GLT0-HSL01 NEXT GLT0-HSL02.
RESULT-VALUE = RESULT-VALUE + BALANCE.
ENDDO.
ENDCASE.
COLLECT RESULT.
ENDSELECT.
IF SY-SUBRC = 0.
CLEAR I_RECURSIV.
ELSE.
ADD 1 TO I_RECURSIV.
I_GJAHR = XGJAHR - 1.
PERFORM READ_LEDGER TABLES RESULT
XGLEDTAB
USING XBUKRS
XSAKNR
I_GJAHR
TYPE.
ENDIF.
ENDFORM. " READ_LEDGER
BEGIN OF INSERTION - NOTE 70203
*& Form BKPF_UPDATE P30K137533
FORM BKPF_UPDATE.
*--- Stornovormerkung löschen? -
CLEAR D_STORNO.
SELECT SINGLE * FROM BKPF WHERE BUKRS = T_BSXX-BUKRS
AND GJAHR = T_BSXX-GJAHR
AND BELNR = T_BSXX-BELNR.
IF BKPF-STBLG NE SPACE.
D_STORNO = 'X'.
ENDIF.
ENDFORM. " BKPF_UPDATE
END OF INSERTION - NOTE 70203
If you find solution to your answer donot forget to reward points
Regards -
Hello Friends – Can you please clarify my doubt with regards to the issue with Bank statement upload.
We uploaded the Bank statements successfully. After that when I go to FF_6/FEBAN, I do not see the transactions and Bank statement we received has got transactions.
It shows Statement status “8”.
As Documents are not posted (I also checked in FEBEP table, do not see any line items), I should delete these Statements and upload them again?
ThanksHi,
Please check if you have marked " Do Not Post" in FF_5 for importing bank statement.
This could be one of the reason why you are not seeing bank statement in SAP.
Regards
Nitin -
Error when uploading multiple bank statement in ff_5.
Hi All,
I got below error when trying to upload multiple Electronic bank statement (BAI format) from presentation server on same day.
Acct 4126735166: Statement 00001 already exists; entry ignored.
I understood that there is already an entry in Table febko.
Note: I cannot change any data in the file before uploading.
Please let me know the way to resolve this issue.
Regads,
DastagirHi Pravin,
I cannot delete any records as the uploaded EBS has correct data.
The following scenario will be helpful to understand the issue clearly.
Suppose I uploaded one BAI format EBS for account number 4126735166 on today morning.
On same day evening I received another EBS file from the same bank for the same account number.
So when I tried to upload the second file for the same date, I get the following error.
Acct 4126735166: Statement 00001 already exists; entry ignored.
I understand that SAP Allows to upload only one EBS for a same Account number & same date.
Is there any other option to upload more than one EBS.
Regards,
Dastagir
Maybe you are looking for
-
How can I Sync my android phone calendar to my iPad calendar
Trying to find out is there an easy way to get my android phone calendar to sync with my iPad calendar.
-
i cant open itunes on my laptop,r6034 pops up
-
I'm running Win 8 with CS6 and I'm trying to import video. Bridge recognises the video and can play it (MP4) but when opening into CS6 I get the error message "could not complete your request because it is not the right kind of document". I have watc
-
How do I burn a long Podcast over two CD's in GarageBand?
How do I burn a long Podcast over two CD's in GarageBand?
-
HGrid - OA Framework 11.5.10 - JDeveloper 9.0.3
Hi All, I am struggling with the implementation of the HGrid UI element in the JDeveloper. I am following the steps in the sample exercise in the Dev guide. I am not clear with the Ancestor Node and View Link Accessor properties. Has anybody successf