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,
Rau

HI
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

Similar Messages

  • 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 Vanaubel

    Hi
    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.

  • Electronic Bank statement - Configuration

    Dear All,
    Anybody have complete configuration steps for Electronic Bank statement. If you have plse send me .
    Raj

    Hi Raja
    please go through the follwoing steps for configs
    To set up Electronic Bank Statements (EBS) 
    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 
    4. Define Search String for EBS(Optional) 
        - Search String Definition 
        - Search String Use 
    5. Define Program and Variant Selection 
    Additional information is also available in the SAP Library under:
    Financial Accounting > Bank Accounting (FI-BL) > Electronic Bank Statement > 
    Electronic Account Statement Customizing.
    The following are the steps for BRS:
    Create Bank Master Data - This can be created through T.Code FI01 or you can also create the house bank through IMG/FA/Bank accounting/Bank account
    2. Define House Bank
    3. Set up Bank selection payment programe-  IMG/FA/ARAP/BT/AUTOIP/PM/Bank selection for payment prg.
       a. setup all co codes for payment transaction - Customer and vendors
       b.setup paying co codes for payment transactions
       c.setup payment method per country
       d.setup payment method per co code for payment transaction
       e.setup bank determination for payment transaction
    Please go for Cheque mangement using T code FCHI     (IMG/FA/ARAP/BT/OP/AutoOp/PaymentMedia/CheckManagement) and for void reasons FCHV. You can create Bank Reconcilliation statement by TC FF67 (SAP/AC/Treasury/CashManagement/Incomings/ManualBankStatement) . Don't forget to keep the opening Balance as zero. Use FBEA for post process.
    All the steps together will lead to (FF67) Bank reconciliation statement.
    and furthur notes see the below site
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/25/a6c52add1cb44a86ff77c175baf907/frameset.htm
    if you feel it is useful award points by way of thanks.
    nagesh

  • EBS - Electronic Bank Statement Multiple Posting Rule for One External Transaction Type NTRF

    hello SAP Gurus,
    I'm configuring EBS - Electronic Bank Statement. My requirement is for Bank External Transaction Type NTRF <for Incoming Payment> I want to assign 2 posting rules for Posting Area 2 that is Sub-Ledger posting viz. <1> For the payments received from Customer which should clear the Customer Open item since it is bill to bill exactly matching the open line item and <2> For the payments which should not clear the Customer Open item since i know that they are not bill to bill and only partial against the original line item
    Is this possible? if yes then how?
    Currently, SAP allows only one assignment like one external transaction type NTRF => one Posting Rule <either clear the sub-ledger-system picks FB05 or just post on Sub-ledger so that not to clear - system uses FB01 >
    Journal for Posting Area 2:
    Bank Clearing Account Dr
       To Customer Account Cr  <either set this to clear with original invoice / or just post on customer so as to clear/handle it manually later on once paid fully>
    So, what is the solution; how can i differentiate my incoming whether fully payment or partial payment; since bank statement always tag it to external transaction type NTRF always for any incoming payments !
    regards,
    `raj. 

    Hi,
    You cannot create separate rule with sub ledger postings while executing electronic bank reconciliation.The reason is your bill to bill transfers should posted to bank sub ledger account first and then you can write a BDC to clear sub ledger account.Otherwise use F.13 to clear the sub ledger account.
    Regards
    Chrishantha

  • Automatic Clearing & Electronic Bank Statement

    Hi,
    During EBS processing, open items are automatically being cleared but only based on amounts. I've configure in OB74 that criteria for clearing should be amount & value date.  It seems that EBS does not read the settings in OB74? Where is the correct path to set this up?
    Does EBS really allows upload of bank statement even if ending and beginning balance are not equal? Is there a way to control this?
    Thanks,
    Chaikaru

    Hi Chaikaru,
    OB74 is not the path for EBP processing. OB74 is used for account clearing in F.13 or F13E.
    You need to go to the path:-
    SPRO > Financial Accounting (New) > Bank Accounting > Business Transactions > Payment Transactions > Electronic Bank Statement
    You need to define interpretation algoritham. Please go through the below one:-
    OSS Note 494777 - Customer enhancements in electronic bank statement
    OSS Note 597428 - El.accnt statement: Customer-specific interpret.algorithms
    OSS Note 549277 - FAQ: Electronic account statement
    OSS Note 414233 - Accnt statement:customer-specific interpretation algorithms
    Regards,
    Gaurav

  • GL account issue with Electronic Bank Statement

    Hi Gurus,
    I need your help and advice with the following issue. We are using ECC 6.0 and have implemented electronic bank statement. It is working fine but we havea new requirements.
    Presently all the incoming ACH (ACH in) are being posted to one GL account set- up for such payments +++++++++1. Going forward, we want to post customer incoming ACH payments to seperate GL account and all the other incoming ACH's should keep on posted to the old account +++++++++1. I do not have exposure to configuring EBS and not sure how should I configure this.
    I would really apreciate if you can guide me with step by step details to do this set-up.
    Thanks,
    Best Regards,
    Shalu

    Usually ACH in or outgoing, the corresponding bank will send you a code.
    so once you get into the config item for EBS
    1. you create account symbols( ACHPAY and ACHPAY2) and assign accounts (++++1 and a debit account ++++2) respectively
    2. Create posting keys, usually this is mimicked with a Z attached to the bank code for ACH payments (EX: 675 is the BAI code for ACH, create a posting key with Z675)
    3. create rules for the same posting keys like debit and credit account symbols, doc types, what kind of postings it should post( clearing entry or posting to GL)
    4. Create a transaction type and in the following step create external transaction types (usually bank BAI codes) and map them to posting rules and the processing types
    5. finally map bank accounts to transaction types

  • Customer enhancements in electronic bank statement

    Hello Guys,
    I have the following requirement for electronic Bank statement regarding customer incoming payments operations:
    I need to clear Customer open items based on the bank data: the system should find the customer code based on his bank account number and clear the open items for this customer based on the amount and other text elements.
    Do you know if I can use an existing function module or program to do so?
    Thank you in advance for your help
    Best regards
    Pascal.

    Why post to the clearing account? You can directly post to the customer account.
    Debit Bank
    Credit customer
    For this you have to create a posting rule which will be linked to the external code (BAI code if you are getting the bank statement in BAI format) and the posting rule should have 'standard algorithm' assigned to it.
    Then while uploading the bank statement you have to give the range of customer invoice numbers against BELNR or XBELNR. The system will automatically identify the customer based on the invoice number on Record type 16 appearing in Bank statement and clear the open item and generate the above accounting entry.
    For a detailed description of how the EBS works, please see the thread titled EBS posted by Sheena Mehta and answered by me.

  • Customer Clearing on Electronic Bank Statement

    Hi,
    I am facing a problem to clear the customer open items.
    Let me explain the situation.
    The is an invoice on the Customer Account. The entry is:
    Customer A/c    Dr.   100
    Sales A/c          Cr    100
    Now, I have received a bank statement, when I posted the receipt. When I posted electronic bank statement, the entry the system is going to post is:
    Bank Main Account Dr. 100
    Bank Sub Account Cr. 100
    There is still a debit lying in the Customer and there is a credit lying in the Bank Sub Account. How can I clear these two accounts with each other.
    Any valid inputs will be highly appreciated.
    Thanks in advance.
    Regards,
    Ravi

    Why post to the clearing account? You can directly post to the customer account.
    Debit Bank
    Credit customer
    For this you have to create a posting rule which will be linked to the external code (BAI code if you are getting the bank statement in BAI format) and the posting rule should have 'standard algorithm' assigned to it.
    Then while uploading the bank statement you have to give the range of customer invoice numbers against BELNR or XBELNR. The system will automatically identify the customer based on the invoice number on Record type 16 appearing in Bank statement and clear the open item and generate the above accounting entry.
    For a detailed description of how the EBS works, please see the thread titled EBS posted by Sheena Mehta and answered by me.

  • Electronic bank statement and new General ledger

    Hi all,
    we want to implement electronic bank statement and new G/L is active. While uploading the file, we receive an error: No Profit Center could be found. For us it is clear, because in the uplaod file there is no Profit Center. But how can we solve this problem? Can we activate like a user exit with a " dummy PC" for EBS? if yes, where and how? Or is there any SAP solution already provided? We assume this problem is a general problem for all SAP system with new G/L activation.
    Thanks in advance.
    Heidi

    I found the answer in Customizing new G/L. thanks anyway.
    Heiidi

  • 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
    /Vartika

    Hi 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

  • Header Text in electronic bank statement

    Hello, SAP Comunity!
    I want to fill  header text of FI document, which is generated during upload of electronic bank statement. As it is now, header text is filled automatically by short key, but I want to enter my own information, which is available in EBS file.
    Do You know how to solve this problem?
    Thank You,
    Natalija

    Hello Natalija,
    Please, try to create a substitution rule by transaction OBBH.
    Regards,
    Paulo

  • FF_5 : Electronic Bank Statement.

    Dear All,
    Need to get some inputs regarding t-code FF_5 (EBS).
    1. When we import electronic bank statement (swift format) where is the entries are getting stored in the table level.
    2. Can we create some customized field in the program through IMG, if so how to we do that.
    A stet by step procedure is required.
    Best Regards,
    Rajagopalan

    1. When we import electronic bank statement (swift format) where is the entries are getting stored in the table level.
    FEBKO
    FEBVW
    FEBEP
    FEBRE
    2. Can we create some customized field in the program through IMG, if so how to we do that.
    please have a look at note 494777. there are several user exits, open-fi events, badi, .. for enhancements in the electronic bank statement process. maybe you can avoid a modification in the tables with these enhancements. moreover you can use BDC fields in transaction FEBAN (subsequent processing), if you want to fill certain fields in the posting, which are not included in FEBAN.
    For Example: fill the taxcode in the subledger posting
    ("sorry, can't remember all the fields by heart")
    BDC-fieldvalue1 = V1
    BDC-fieldname1 = BSEG-MWSKZ
    BDC-("account type") = 1 (first line, subledger posting)
    Br, Philipp

  • Statistics on automatic processed payments by the electronic bank statement

    Hi fellow sap knowledge hungering colleagues.
    I have set up the EBS application in my company and it has now run for 4 month with ok success.
    I now have to do a follow-up on the project and therefore I'm interested in seeing how many payments have been automatic processed by the EBS application.
    I cant seem to find any characteristics on the payment documents that separates the ones that have been automatically processed and those that have been post processed in the FEBA transaction. When each statement is imported you get a sum up on how many pay-ments where automatically processed but is it possible to see overall statistics for all the statements and if not is it possible to recall the statistics for each imported statement?

    Hi,
    the bank normally includes the details provided by the customer in the bank statement.
    depending upon the information provided, the user can clear the customer line items. In order to auto clear using EBS, you can use enhancement FEB00001. You can have your logic to auto clear.
    also refer the Note 494777 - Customer enhancements in electronic bank statement.
    Thanks

  • Electronic Bank Statement - Assign External Transaction Types to Posting Rules

    Hello,
    I am trying to assign external transactions (BAI codes) to posting rules in global settings of electronic bank statement.
    Here is my scenario -
    If it is a credit transaction then I assign BAI code 167 to a posting rule (ex. Z555) that is assigned to GL account lets say 1234. Now I want to assign a credit transaction 167 from a different customer to a different posting rule (ex. Z666) so it posts to different account lets say 9991. SAP won't let me do this. It gives me an error that entry already exists. It won't let me assign two posting rules to the same external transaction code. Is there a way to address this scenario?
    Please advise.
    Thanks,
    Priya

    Hi Priya
    If you have something different to distinguish between the two transactions, you can use the search string configuration. Generally, such kind of information is available in Notes to Payee  information in your bank file. The below link will help you in how the search strings are configured in SAP
    EBS: configuration of search string, part 1
    If the search string does not work for you, you may also at implementing the enhancement FEB00001. You can check out the relevant exits in this enhancement in t code SMOD.
    Thanks & Regards
    Sanil Bhandari

  • Electronic Bank Statement and Bank Accounts change...Statement Upload

    Hi,
    I have an issue with electronic bank processing.
    Currently my client is using A100 company code and bank account 123456 gl code 45000 and they are updating bank statements through electronic bank statement.
    Now they have activated A200 company code and they want to use same bank account 123456 and gl code 45000 in new company code and the entire electronic bank statements need to be updated into A200 and A100 company code will exist in sap but client dont want to use this.
    What customizations need to be done in SAP and how system will come to know A200 company code need to be updated when they update electronic bank statement next time?
    Is there any specific customization in sap that shifts company codes and gl codes for electronic bank statement uploads?
    What will happen to historic data when the same gl codes are used with different company codes?
    Once the F110 is executed there will be batch job which will run to upload file...do we need to change anything here....
    Jaya.

    Hello-
    Are you saying going forward you are are not going to use A100 and start using A200? If so, from an EBS config standpoint, all you would have to do is use the same transaction type and remove the assignment of old company code & bank account + bank key to the transaction type and enter the new assignment to new company code.
    Next, make sure to create all the bank accounts and clearing accounts in the new company code (assuming all the config related to bank is completed).
    This is it. When you upload using FF.5, it will look at the bank account number from the upload file and look for the company code.
    Hope this helps.
    Shail

Maybe you are looking for

  • All Enterprise Keyword options are greyed out

    I just did a migration from SPO to SP13 on-prem. When I go in, I can see the keywords have been moved over, but the area to add them is greyed out. I went into the options for one of the libraries, and checked the Enterprise Keyword settings, and it

  • Why AVMS 2.0.2.1 is always growing disk space on temp directory?

    Hi, I have 2 PVC2300 cameras being recorded by AVMS 2.0.2.1 on a network mapped drive that resides on a Cisco NSS3000. I first installed surveillance software on a Windows 2003 server and started to notice that eventually after a few days of recordin

  • Songs not playing in order

    I've asked this question in other venues and have even read answers hear about how to fix my problem and nothing seems to be working. I have certain playlists that I want to play in a certain order. Shuffle on iTunes is turned off. My library is sort

  • Branch process using javascript to call popup

    I am on Windows Vista, Oracle XE and Apex 3.1.0.00.32. The branch works when using region based button. I wanted to use a "button displayed among this region's items" for a "button" list in the sidebar. I created a button and used a branch based on :

  • My photo booth will not load

    Photo Booth just spins and will not load.