Electronic bank statement importing error
Dear Guru,
We've just upgraded support package upto last version and then happened to see errors while importing account statements in SWIFT MT940 format.
Message says,
"House bank table: No entry with bank key and acct 40443751657275"
Procedure
Maintain the house bank tables.
Actually, there are bank key, account number in SAP.
This error message is somewhat misleading.
Is there any special programe to generate "Electronic bank statement"?
Thanks for advice in advance.
J.
Look like there is a solution if we put bank account number in alternative bank account number also.
Take a look at this thread.
MT940 :No entry with bank key and acct
Similar Messages
-
Electronic Bank statement error
Hi gurus,
I have configured electronic bank statement settings for multicash format when ever i execute the file in ff.5 it is showing the error message and accounting entries will not get generated please help me on this
Error message.
Account 560036003 45605043982 INR: Statement
200800466 is not in the bank data storage
Message no. FB770
Diagnosis
The previous account statment has not been imported.
System response
The system permits the import regardless.
Procedure
You can deactivate the message for the formats Multicash and MT940:
Effects on Customizing
You can define when this system message is to be issued in accordance with your requirements.
You do this in Customizing as follows: Controlling -> Controlling:
General -> Change Message Control.
The application area and message number can be taken from the technical
documentation.
Its very urgent please help me
Regards,
YashwanthThanks for reply
Again iam getting one more error
Account statement was not updated
Message no. FB773
While importing electronic bank statement, the system determ
that not all external transactions (business transaction cod
text keys, or posting texts) were in
table T028G.
Enter the transactions in table T028G.
Afterwards, start the processing again.
Following entries missing in table T028G:
These two error messages I am getting please help on this
Regards,
Yashwanth -
Error in uploading MT940 format - Electronic bank statement
Hi
I am configuring the electronic bank statement.Here I am able to do so using the Swift MT940 international format. Bank Statement is imported and postings made to bank account.
One bank will provide the data in MT940 format. I tried using the MT940 file directly, however I get the message - Account statement not updated.
Please help to reslove the error
Regards,
MahendraHi,
As Nikhil said, we have two different files in MT940 (structured and unstructured). Select correct one while processing.
And also check if you maintain external transactions and posting rules for them in the configuration.
Thanks. -
Electronic bank statement processing failed with error
Hi All,
While processing the electronic bank statement incoming file, it created an error like
'Total of Line Items in line item file not the same as in statement file"
how do I check if the control totals matches..?
rgds,You should give the exact message, with message number.
If it is FB 777, "DTAUS: Number of line items not equal to control total; see long text", you should see the long text. I think it contains sufficient information:
Text
DTAUS: Number of line items not equal to control total; see long text
Diagnosis
data records of record type 'C' were handed over in the file you
imported. There must be data records according to the control total
from the fourth field of record type 'E'.
Processing was therefore terminated.
The DTAUS file was not imported into the bank data clipboard. No
postings were generated.
Procedure
Inform your credit institution about the error which has occurred and
let them give you a correct DTAUS file.
No actions are necessary in the SAP System. -
Bank Statement Import Execution Report error listing
Hi all,
Does somebody knows how to see detail error generated via Bank Statement Import Execution Report. The CE_HEADER_INTERFACE_ERRORS and CE_LINE_INTERFACE_ERRORS are populated but i cannot found in metalink description how to solve these errors/or i'm just a bad researcher.../.
Version: EBS 12.1.3
OS: Linux
Thanks in advance,
Bahchevanov.Hi,
Thanks for reply.
The tables i'm checking are ce_statement_headers_int, ce_statement_lines_interface. For any errors: CE_HEADER_INTERFACE_ERRORS, CE_LINE_INTERFACE_ERRORS.
I found that these 3 lines are reconciled. When i unreconciled them and after that reconciled again - they disappeared from the output.
Do you know if that program contains information about the statements created?
Because if i execute it, it creates bank statement header with lines correctly but i received no information about what i just created.
Thanks in advance,
Bahchevanov. -
Automatic Import of Electronic Bank Statements (EBS)
Hi SAP Gurus,
We want to solve the following issue:
Daily we receive multiple Electronic Bank Statements by means of banking Communication Software (BCS).
Those EBS files are stored on our SAP Application Server, filetype = SWIFT MT940 format,
and the file name contains a date and time stamp.
File name example: MT940.90910077527_20101124_210421_167660
Currently the import of these EBS-files is done manually via transaction FF_5 (program: RFEBKA00).
We want to automate this import process.
Every time a new EBS-files arrives (in a specific directory) on the application sever
a signal (including the filename) should be send to SAP, so SAP knows there is a new EBS-file available for import.
SAP now runs program RFEBKA00, with the provide filename, in the background.
Any ideas how to do this?
Some tech. info:
Windows Server 2003 R2 SP2 64-bit
Oracle 10.2.0.4
SAP R/3 Enterprise 47x200
Thanks,
Roger VanaubelHi
I think there are several ways to do it. In our case, we have a program which concatenates all received files into a single file and which launches RFEBKA00. It runs at fixed time, outside the working hours of accounting clerks. It is possible to trigger the program at file receipt, but there are problems if somebody is working in FEBA at the same time RFEBKA00 is working on the same bank account: then RFEBKA00 stops without doing all postings.
If you trigger RFEBKA00 at file receipt, you may have several jobs running in parallel, and if 2 bank statements received in separate files are for the same account, you will have the same problem. -
Error in Electronic bank statement
Hi Guys,
am trying to do Electronic bank statement, statement is generating but automatic clearing with GL (Main Bank and Bank clearing account) is not happening.
T.code: FEBAN
error shown under this transaction... i did not get any error log...how do i rectify this error...
but under this t.code, i can able to post the line item by manual entry but its not happening automatically
could anybody tell me how to rectify this error
Thanks in advance
Regards
ElanHI Elan,
If the documents are not posted through Bank Statement processing then the same document items is shown in the text of "Elec. Posting Incomplete" . After you double clicking the same then you get the list of documents which shown the status of Entered instead of Posted. that means the documents are not posted into the system.
For posting those incomplete documents you may reprocess the bank statement through the t.code FEBAN.
You have to enter the details of the Co.code, House Bank, Acct ID, Stmt No and stmt date etc and then press execute button to get the entered statement to do the reprocess.
Select one of the red colour openitem , goto the select items in the menubar and then click on post.. If you have multiple items which are in red colour then also you have to post all the line items by selecting each and every item. There is no option option to post all at the same time.
Hope it will rectifies your problem..
Thanks -
Error in Upload of Electronic Bank Statement
Hi All,
We are trying to upload an electronic bank statement and while it was running, I was disconnected from the system. When I checked, only a few of the entries from the upload file got uploaded successfully and I can not continue the pending job. I would just like to know if I can reupload the file without duplicating the entries that have been uploaded successfully? If not, what options do I have so that I can upload the remaining entries? Please advice. Thank you!Hi,
You can look at the option of deleting the existing bank statement by using the program RFEBKA96 and uploading the statement once again. You can copy the required parameters for this program from FEBA.
Regards,
Kiron Kumar T. -
Electronic bank statement in Foreign Currency
Hi,
We have set up the system so as to create a payment order when automatic payment program is run. Now, we have a scenario, where house bank is in local currency - SEK. This is used to pay the invoices in foreign currencies USD, DKK etc using automatic payment program. The electronic bank statement we receive from the bank has transactions in different currencies. We convert this to multicash format using DME engine, mapping the amounts in local currency to the statement and item file.
When try to clear the invocies by importing this multicash statement, following error message is generated.
Message no. F5794 i.e. XXX is not a payment order for currency XXX. Correction required.
Any ponters to solve the issue.
Appreciate the help in this regard!
Thanks
/VartikaHi Narasimhulu,
Thanks for your reply.
The thing is, payment orders are in a foreign currencies - USD , EUR etc. The clearing account is in local currency SEK. The bank statement has amounts both in order currency as well as local currency for every order. But when we are clearing using multicash, we are trying to pass the amounts in local currencies for each order. This is because, as far as i understand, it is the currency in multicash statement file that is used for clearing . And there can be only one record in multicash statement file. So we have to use the local currency for clearing.
EBS:
1 Payment order 1 - 1000 USD = 7000 SEK
2 Payment order 2 -2000 EUR = 18000 SEK
Multicah Statement File :
25000 SEK
Multicash Item File :
Payment order 1 - 7000 SEK
Payment order 2 - 18000 SEK
Or is there any other way of handling it ?
Many thanks again!
Regards,
Vartika -
Electronic Bank Statement - Reg
Hi All,
I have configured the Electronic Bank Statement for multicash format. The entries are flown correctly from clearing Account to Main Account once you import the multicash format. We are working SAP R/3 4.7 In this format in Note to payee 1 column bankers captured the cheque number and in note to payee 11 column they captured deposit slip Number.
When we post the receipt entry we capture the cheque number in assignment column and deposit slip in the reference 3 column.
After that entry when we import multicash format and subsequent posting to main account system should check the note payee 1 with (Assignment) and note to payee 11 with reference 3 if both are matching the entry should post from clearing account to main account. If any thing is not matching the entry should not pass and system should show that item in error.
Then user has to run the manual process I have tried with interpretation algorithm also but system not even checks single item. Systems are not throwing any error item.
Regards
VenkatI tried with both
:61:0805160516DD114,00NCHK100025//100025
:61:0805160516DD114,00NCHK100025 1//100025 1 -
Electronic Bank Statement Determining Incorrect Business Partners
Have an issue with some electronic bank statements we import into SAP. Several of the line items we get from the bank identify the incorrect business partner when creating the payment advice. We are using intepretation algorirthm 001 to interpret the Note to Payee field in the statment.
We do have 5 search strings in place which do successfully replace the text in the Note to Payee and replace with the vendor #. These work just fine.
What is weird to me is that when I repeat the issue in another environment and simulate using FEBSTS, it is finding "document numbers" that are text strings and somehow determining the vendor from that. I cannot figure out what logic it is using to do this and why it thinks that when it sees ABCDEGF in the Note to Payee it should be for vendor 1234555, for example.
These are files from Citibank and the Note to Payee field is in German if that make any difference. The easy solution is to setup search strings that correspond to the text found in there like we do for the other 5 instances which would solve it but we probably won't catch all instances upfront and this issue will still be present;
Thanks in advance for any assistance.Anyone?
-
Bank Statement Reconciliation Errors
Hi Experts,
I am working on Bank Statement Reconciliation Interface.I ran 'Bank Statement Import' Program to move data from interface tables to base tables. I am getting following errors.
Errors:
.Payment control total in the statement header is not matching the total payment amount on the statement lines
. Receipt control total in the statement header is not matching the total receipt amount on the statement lines
.Number of lines in the statement is not matching the line control total in the statement header.
I have data in control total columns in header interface table.
Could anyone help how to get rid of these errors.
Thanks in advance for your help.Hi,
What is the application release?
Please see if these docs help.
Cexinerr AutoReconciliation Execution Report Has Incorrect Statement Exceptions When Sweep Lines [ID 759165.1]
CEXINERR Errors With Invalid Control Totals When Importing A Statement [ID 177719.1]
Cash Management Overview [ID 96630.1]
Thanks,
Hussein -
Bank Statement Import Execution Report output wrong?
Hi all,
In EBS R 12.1.3. for the concurrent request Bank Statement Import Execution Report i have always as output :
Miscellaneous Receipts Created
---------------------Transaction-------------------
Line Numbe Type Date Curr Amount
2 25-МАР-2012 Misc Receipt 25-MAR-12 BGN 9,000.00
4 25-МАР-2012 Misc Payment 25-MAR-12 BGN 1.00
5 25-МАР-2012 Misc Receipt 25-MAR-12 BGN 10.00I checked the interface tables - they are empty...
Even the output is strange... it created miscellaneous receipts which i'm not sure is possible via this program.
Any ideas? Do i have to purge other tables?
The interface tables for errors are also empty.
Thanks in advance,
Bahchevanov.Hi,
Thanks for reply.
The tables i'm checking are ce_statement_headers_int, ce_statement_lines_interface. For any errors: CE_HEADER_INTERFACE_ERRORS, CE_LINE_INTERFACE_ERRORS.
I found that these 3 lines are reconciled. When i unreconciled them and after that reconciled again - they disappeared from the output.
Do you know if that program contains information about the statements created?
Because if i execute it, it creates bank statement header with lines correctly but i received no information about what i just created.
Thanks in advance,
Bahchevanov. -
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 -
Configuration / Uploading of Electronic Bank Statement Steps
Hi
I have confirgured the electronic bank statement functinality, I have used interpetaton alogrithm as 015, In Assign External Transaction type to posting rule, we have only two exteranal transaction 1001 for Credit and 1002 for debits in bank, we have assigned posting rule Z1 to external transction 1001 and Z2 to 1002.
I have received the following bank statement in multicash format.
Line Items File UMSATZ.TXT
Bank
Account
Statement Number
Value Date
Blank column
Text
Blank1 column
Blank2 column
External transaction code
Reference
Amount
Curr
Blank3 column
Statement Date
Header File AUSZUG.TXT
Bank
Account
Statement Number
Date
Curr
Opening Balance
Credit
Debits
Closing
Kindly advise the step to upload the above files and how the system will identify the reference column and external transaction from the statement to post based on above configuration.
Basically I want to ask that we are aware that bank statement have this column, but how SAP will identify the same and post.
Awaiting for early reply.
Best Regards
Mukesh MokashiHi Srikanth
I have executed the test program, the system has posted three documents document pertaining to GL accounts as mentioned below:
1. G/L acct postings
Cash disbursement
00011 FB01 SA 001 40 215019 INR 30,000.00-
002 50 215002 INR 30,000.00
Document 25000037 was posted in company code 1000
Outgoing checks
00012 FB01 SA 001 40 215019 INR 31,000.00-
002 50 215001 INR 31,000.00
Document 25000038 was posted in company code 1000
Outgoing checks
00013 FB01 SA 001 40 215019 INR 32,000.00-
002 50 215001 INR 32,000.00
Document 25000039 was posted in company code 1000
Files created
LI file
C:\Documents and Settings\10000058\Desktop\UMSATZ1.TXT
Lines: 3
Stmt file
C:\Documents and Settings\10000058\Desktop\AUSZUG1.TXT
Lines: 1
2. For Customer Open Item it has show error as "(GLT2 001) Item category 04000 not allowed in accounting transaction 0200 /0001"
Point No.1
I am confused what system has performed and how the GL codes are picked for posintg for point no.1, further the message
shows files are generated, the file contents are blank.
Point No.2
Error for customer open item creation
Can you please explain the above points.
Best Regards
Mukesh Mokashi
Maybe you are looking for
-
My apple I'd has stopped asking for my password when downloading apps to my iPad. I want it to ask every time. I edited it unknowingly and I need to change it back. Please help! Thx
-
Both phones on my account have no signal. Is anyone else having issues? I can't even make a call.
-
Airplay not working through APPS
I can not get airplay to play through pandora or iheartradio. I am trying to do this from my iPhone 4. Airplaying photos or songs on my phone as well as youtube videos work perfectly...I just can not get pandora or iheart radio to work. The icon show
-
CIF error "Planned order Locked"
Hi, in the cif queue manager, i had a queue(R3 Inbound) with error " planned order locked", when i reactivated the queue it disappeared. but what could be the cause of the error. please share your ideas, Thanks, Dhanush
-
Photoshop CS5 (Mac) is crashing when I ask it to print a pdf.
Photoshop crashes when I ask it to print a pdf. Before I upgraded to a larger system hard drive, this issue did not exist. Before the upgrade, I coud scan an item with Acrobat X Pro (Mac), but it would not print correctly. I found that if I opened