Help: Bank Statement Program, Objects within Object wrapper, null pointer

I am trying to create a class to create a list of banking transactions. The list should hold the date and time of the transaction, the type of transaction (either deposit or withdrawal) and the amount of the transaction.
So I came up with this code:
import java.util.*;
import java.text.*;
import java.util.LinkedList;
public class Transaction
class transactionTypeWrapper{
Date now;
StringBuffer transactionType = new StringBuffer(8);
int amount;
transactionTypeWrapper aTransaction;
public Transaction()
LinkedList transactions = new LinkedList();
public void addTransaction(String transactionType, int amount)
StringBuffer temp = new StringBuffer(transactionType);
aTransaction.transactionType.insert(0, "Deposit");
aTransaction.amount = amount;
System.out.println("Transaction Successful");
Whenever I try to execute the addTransaction method however, it throws up a NullPointerException. i think it has problems with my putting a StringBuffer inside the transactionTypeWrapper but I don't know any other way to do what I want to do without doing this?

transactionTypeWrapper aTransaction;That never gets initialized. So when you call this code in addTransaction():
aTransaction.transactionType.insert(0, "Deposit");It's really
null.transactionType.insert(0, "Deposit");Maybe instead of creating a LinkedList in the constructor that disappears as soon as the constructor finishes, you should actually initailize aTransaction there.
Message was edited by:
hunter9000

Similar Messages

  • Clearing postings by bank statement program FF_5

    Hello
    the bank statement program clears open items on customers (invoices customers paid) and on bank sub accounts (gl accounts with open item management). (for vendor invoices where we gave payment orders by running the payment run) Does the system look up the items to be cleared purely based on amount or does it also use fields such as
    VERTN     VERTT     VBEWA
    ZUONR     GSBER     VBUND
    Regards
    Arjan
    for customer payment the posting is correct?
    bank account
    against customer
    for vendor payment the posting is correct?
    bank sub account
    against bank account
    Edited by: Arjan Hogenes on Dec 1, 2009 12:01 PM
    In the information of the program RFEBKA00 I find:
    Interpretation of the note to payee fields
    For incoming payments, the notes to payee lines of the account statement can be searched either for document numbers or reference document numbers by specifying the selection field (BELNR or XBELNR). Thus, the relevant information for clearing customer payments is obtained.
    If you do not specify a selection field, the note to payee fields are not interpreted.
    For outgoing payments, one always searches for the document number."
    For incoming payments is the document number the SAP bkpf-belnr?
    For outgoing payments is the document number the SAP bkpf-belnr or the vendor's invoice number?

    Hi,
    Please go through this link for better understanding of the various interpretation algorithms which can be used.
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/43/0bd87b43de11d1896f0000e8322d00/frameset.htm
    Regards,
    Teja

  • Use of Bind Variable in the Query of view object giving null pointer excep

    I am using this code in the backing bean of my page to set the value of the bind variable 'cmdID' in the view object.
    String AM = "model.UnixCommandsAppMod";
    String CF = "UnixCommandsAppModLocal";
    ApplicationModule am = Configuration.createRootApplicationModule(AM, CF);
    ViewObject vo = am.findViewObject("Command_options_view");
    vo.setNamedWhereClauseParam("cmdID", 1);
    vo.executeQuery();
    On the fifth line it is giving NullPointer exception.
    I am not being able to figure out the reason.

    User,
    a). Don't keep posting new questions in the same thread. It really does decrease the usability of the forum. Now, if someone searches for "INFO: ADF Faces is running with time-stamp checking enabled," they will find a post about null pointer exception in a bind variable and think, "oh, that doesn't apply to me." If your question is answered, mark the answer as correct. New questions go into a new thread. Kind of funny that the thread I pointed you to with the answer to your question also has this same admonishment.. ;)
    b). I'll relent and answer your new question. Ignore that INFO message. It is not an error. It will ALWAYS ALWAYS appear when you run your application in the embedded OC4J with JDeveloper. Had you searched the forum for "INFO: ADF Faces is running with time-stamp checking enabled" you would find that the first hit (among some others) has this same answer
    John

  • Help with a program (object modelling)

    Hi. I hope someone can help me with this, give me some hints.
    First there is a category Human, which has information about name, gender and age.
    Human shall be saved in a class Town using a table.
    The constructor Town(int numberhumans) has parameters, which says the number of humans the town can have (maximum).
    Can anyone help me get started?

    Great, let's see the code you've come up with so far.

  • Control hints tab for an attribute of a view object shows null pointer erro

    hi
    I am using j developer 11g. I have a view object and it is working fine and i set control hints for an attribute , i set display label and length etc
    there. now i am taking the view object the control hints tab for the particular tab didnt shows and there displayed follwing error
    how can i rectiify this error.
    java.lang.NullPointerException
         at oracle.jbo.dt.ui.main.misc.ControlHintsPanel.isOverridenProperty(ControlHintsPanel.java:662)
         at oracle.jbo.dt.ui.main.misc.ControlHintsPanel.processUIHintsOnEnter(ControlHintsPanel.java:577)
         at oracle.jbo.dt.ui.main.misc.BaseControlHintsPanel.initializeControlsFromContext(BaseControlHintsPanel.java:187)
         at oracle.jbo.dt.ui.main.misc.BaseControlHintsPanel.enter(BaseControlHintsPanel.java:340)
         at oracle.jbo.ui.wizard.JboWizard.selectPage(JboWizard.java:806)
         at oracle.jbo.ui.wizard.JboWizard.selectPage(JboWizard.java:758)
         at oracle.jbo.ui.wizard.JboWizard.newMddPageSelected(JboWizard.java:827)
         at oracle.jbo.ui.mdd.MddTraversable.onEntry(MddTraversable.java:70)
         at oracle.ide.panels.MDDPanel.enterTraversableImpl(MDDPanel.java:1213)
         at oracle.ide.panels.MDDPanel.enterTraversable(MDDPanel.java:1194)
         at oracle.ide.panels.MDDPanel.mav$enterTraversable(MDDPanel.java:128)
         at oracle.ide.panels.MDDPanel$Tsl.updateSelectedNavigable(MDDPanel.java:1650)
         at oracle.ide.panels.MDDPanel$Tsl.updateSelection(MDDPanel.java:1518)
         at oracle.ide.panels.MDDPanel$Tsl.actionPerformed(MDDPanel.java:1512)
         at javax.swing.Timer.fireActionPerformed(Timer.java:271)
         at javax.swing.Timer$DoPostEvent.run(Timer.java:201)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
         at java.awt.Dialog$1.run(Dialog.java:1045)
         at java.awt.Dialog$3.run(Dialog.java:1097)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:1095)
         at java.awt.Component.show(Component.java:1422)
         at java.awt.Component.setVisible(Component.java:1375)
         at java.awt.Window.setVisible(Window.java:806)
         at java.awt.Dialog.setVisible(Dialog.java:985)
         at oracle.jbo.ui.main.JboDialog.setVisible(JboDialog.java:164)
         at oracle.jbo.ui.wizard.JboWizard$MddWizardDialog.setVisible(JboWizard.java:2557)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.jbo.ui.main.JboDialog.showDialog(JboDialog.java:142)
         at oracle.jbo.ui.wizard.JboWizard$MddWizardDialog.showDialog(JboWizard.java:2493)
         at oracle.jbo.ui.wizard.JboWizard.createMddWizard(JboWizard.java:549)
         at oracle.jbo.ui.wizard.JboWizard.setVisible(JboWizard.java:352)
         at oracle.jbo.ui.wizard.JboWizard.showDialog(JboWizard.java:330)
         at oracle.jbo.dt.jdevx.ui.JdxMenuManager.invokeEOAttributeDialog(JdxMenuManager.java:1295)
         at oracle.jbo.dt.jdevx.ui.JdxMenuManager.invokeAttributeDialog(JdxMenuManager.java:1277)
         at oracle.jbo.dt.ui.main.DtuMenuManager.doEditMenuAction(DtuMenuManager.java:1776)
         at oracle.jbo.dt.ui.main.DtuMenuManager.performMenuAction(DtuMenuManager.java:1584)
         at oracle.jbo.dt.ui.main.DtuMenuManager.doMenuAction(DtuMenuManager.java:1377)
         at oracle.jbo.dt.jdevx.ui.JdxMenuManager.doMenuAction(JdxMenuManager.java:892)
         at oracle.jbo.dt.jdevx.deployment.ui.JxdMenuManager.doMenuAction(JxdMenuManager.java:66)
         at oracle.jbo.dt.ui.main.DtuMenuManager.doAction(DtuMenuManager.java:1363)
         at oracle.jbo.dt.ui.main.DtuMenuManager.doAction(DtuMenuManager.java:1348)
         at oracle.jbo.dt.jdevx.ui.editors.common.JeoBaseEditor.doMenuAction(JeoBaseEditor.java:327)
         at oracle.jbo.dt.jdevx.ui.editors.common.JeoEditorPage.doMenuAction(JeoEditorPage.java:777)
         at oracle.jbo.dt.jdevx.ui.editors.view.VoeAttributesPage.doMenuAction(VoeAttributesPage.java:366)
         at oracle.jbo.dt.jdevx.ui.editors.common.JeoEditorPage.mouseDoubleClick(JeoEditorPage.java:642)
         at oracle.jbo.dt.jdevx.ui.editors.common.JeoEditorPage.mouseClicked(JeoEditorPage.java:623)
         at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
         at java.awt.Component.processMouseEvent(Component.java:6044)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
         at java.awt.Component.processEvent(Component.java:5806)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4413)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4243)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3995)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2440)
         at java.awt.Component.dispatchEvent(Component.java:4243)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

    I did try making a VO that extends the original VO, but with the attribute based on the SDO_NN_DISTANCE function call, which means that a call to SDO_NN MUST be in the WHERE clause.
    This works to some extent, in that the common attributes and methods are in the second VO, inherited from the first, without me having to write them again. However, I have to use them in my ViewController project as two separate VOs. For one thing, I need two separate result pages, one for when the query used the SDO_NN in the where, and needed the distance in the output, and one without. One uses the original VO, and the other uses the new one. Similarly, I need two separate pages for adding additional criteria. Doing it this way with pairs of nearly identical pages is going to be a pain, and will be difficult to maintain, since any change will have to be done twice. Or can .jspx pages be written that extend other .jspx pages, and in particular override the VO bindings in the pageDef? Could a single .jspx page decide dynamically which pageDef to use?
    I decided to try a different tack. Back to a single VO, I wrote a WHERE clause that calls SDO_NN, but returns all of the rows. That way, I can have a call to SDO_NN_DISTANCE in the SELECT for all queries, and I was even able to add a parameter that sets the Distance attribute to NULL if it is irrelevant to the query the user constructs. This is a good work around, but it is a little slow, because SDO_NN is doing a lot of work but returning every row when it hasn't been replaced with an "actual" SDO_NN where clause.
    One more possibility: Can I have a method that replaces the entire SELECT command for this VO dynamically? I assume that you need to make sure that the expressions in the SELECTed data still map to the attributes one to one, with the same aliases. After all, I am already replacing the WHERE clause dynamically, and it works fine.

  • JDK 1.6 null object  genetates null pointer Exception  while passing to JNI

    Hi All,
    I 've a problem with passing null to JNI method getStringNative( JString name) it throws NullPointerException.
    Instead of null, we pass String "null" its working fine .
    But it this problem is not Occuring inJDK 1.4.
    Can u please let me know ? why In JDK 1.6 this problem is Occuring, is there any differ in jdk 1.6 null obj passing to JNI method.
    Thanks & Regards
    Prakash

    I 've a problem with passing null to JNI method getStringNative( JString name) it throws NullPointerException.There is no such method in the JNI 1.6 Specification.
    Instead of null, we pass String "null" its working fine .Of course. "null" is a String, not a null pointer. Just like "not-null" is a String. Or "Prakash". They are all Strings.
    But it this problem is not Occuring inJDK 1.4.
    Can u please let me know ? why In JDK 1.6 this problem is Occuring, is there any differ in jdk 1.6 null obj passing to JNI method.It's not a JNI method.
    Whatever it is, its specification will tell you whether or not it supports a null parameter.

  • Bank statement

    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.

  • Help to get text objects in ABAP

    Hi guys!
    I've created my first report program and need some help to get text objects into the report. The program combines the tables KNA1, LIKP, LIPS, VBAK, VBAP and VBKD to create a deliverylist which we import as excel info a shipping service. The issue at hand is that our website allows customers to change the ship-to party's address when creating an order. The adress are not updated to KNA1, but are comitted as a text on the ship-to on the delivery itself.
    The text I need in the report is RV50A-TXTWE.
    Can you help me get going on how to add this from the delivery?
    Thanks a lot!

    Your problem is that its a structure.  Structures are filled in a program and no longer exist after the program is closed.  They are temporary data.  It will have been moved to tables somewhere most likely.  The next step is to debug / trace through the code to find out what was done with it.
    What program were you using that created the structure?
    Neal

  • Converting object wrapper type array into equivalent primary type array

    Hi All!
    My question is how to convert object wrapper type array into equivalent prime type array, e.g. Integer[] -> int[] or Float[] -> float[] etc.
    Is sound like a trivial task however the problem is that I do not know the type I work with. To understand what I mean, please read the following code -
    //Method signature
    Object createArray( Class clazz, String value ) throws Exception;
    //and usage should be as follows:
    Object arr = createArray( Integer.class, "2%%3%%4" );
    //"arr" will be passed as a parameter of a method again via reflection
    public void compute( Object... args ) {
        a = (int[])args[0];
    //or
    Object arr = createArray( Double.class, "2%%3%%4" );
    public void compute( Object... args ) {
        b = (double[])args[0];
    //and the method implementation -
    Object createArray( Class clazz, String value ) throws Exception {
         String[] split = value.split( "%%" );
         //create array, e.g. Integer[] or Double[] etc.
         Object[] o = (Object[])Array.newInstance( clazz, split.length );
         //fill the array with parsed values, on parse error exception will be thrown
         for (int i = 0; i < split.length; i++) {
              Method meth = clazz.getMethod( "valueOf", new Class[]{ String.class });
              o[i] = meth.invoke( null, new Object[]{ split[i] });
         //here convert Object[] to Object of type int[] or double[] etc...
         /* and return that object*/
         //NB!!! I want to avoid the following code:
         if( o instanceof Integer[] ) {
              int[] ar = new int[o.length];
              for (int i = 0; i < o.length; i++) {
                   ar[i] = (Integer)o;
              return ar;
         } else if( o instanceof Double[] ) {
         //...repeat "else if" for all primary types... :(
         return null;
    Unfortunately I was unable to find any useful method in Java API (I work with 1.5).
    Did I make myself clear? :)
    Thanks in advance,
    Pavel Grigorenko

    I think I've found the answer myself ;-)
    Never thought I could use something like int.class or double.class,
    so the next statement holds int[] q = (int[])Array.newInstance( int.class, 2 );
    and the easy solution is the following -
    Object primeArray = Array.newInstance( token.getPrimeClass(), split.length );
    for (int j = 0; j < split.length; j++) {
         Method meth = clazz.getMethod( "valueOf", new Class[]{ String.class });
         Object val = meth.invoke( null, new Object[]{ split[j] });
         Array.set( primeArray, j, val );
    }where "token.getPrimeClass()" return appropriate Class, i.e. int.class, float.class etc.

  • How to use the program "Generate test data for BAI bank statement" ?

    Hi all,
    I use the program RFEBKAT5 to create an Electronic Bank Statement file in BAI format ,but it doesn't generate the file .
    I don't know how to generate the file.
    Please help me !
    Thanks all !

    You need to suitably adjust your GL accounts for "Posting Offset Account" (Whisch is defaulted as ++++++++19" and Checkout/Funds Out/Funds IN GL accounts to your configuration.
    Once you do this try generating the file again.

  • Program to create Bank Statement

    Hi
    There is a program to create Bank statement, so that it can be used for Electronic Bank statement processiong FEBA...
    I am not able to recollect that program.
    Can any help me in this regard.
    Points assured
    Kalyan

    Hi,
    I think FINSTA is the message type of IDOC interface
    Go to WE20 and maintain the partner profile for FINSTA message type.
    To generate the postings that result from the bank statement, schedule report RFEBKA30
    http://help.sap.com/saphelp_sm32/helpdata/en/e4/52ec78bfff11d295f400a0c9426c73/content.htm
    Regards,
    Sridevi
    <i><b>Pls. assign points, if it is useful</b></i>

  • Passing arguments to VBScript Program Object - Without WScript.Arguments?

    I am trying to create a program object with a VBScript that will change the name of a PDF created by a scheduled report. I need to be able to tack on the string "OH_2010_Qtr_1" (or whatever state - OH is used as an example) before the file extension - the VBScript creates that string based on the date the report is run. I want to be able to pass parameters to this script but when I try to do so I get the error "Variable is undefined 'WScript'" when trying to run the program object. I tried creating a batch file that would pass in the parameters and I get a generic error.
    How can I pass arguments to my VBScript? The arguments are necessary because this is for multiple instances of the same report, run for different states.

    For VBScript Program Objects, some injected objects:
    For Each arg in Script.Args
        ' Do something interesting with String arg here
        Script.Writeln(arg) ' Output to stdout
    Next
    and
    ' Get InfoStore
    Set infoStore = Session.Service("", "InfoStore")
    Sincerely,
    Ted Ueda

  • Help me on ACCEPTING  BANK STATEMENT in SWIFT MT940 Format

    Hi All ,
    Please Help me How to Config And How to Accept Electronic Bank statement in Swift MT 940 Format . it is require any Development or we can work out with ff_5 Program . by using ff_5 we can upload stadard swift mt 940 or not , pls give me maximum inputs .
    Thanks and Regards
    Rafi .V

    see swift mt940 is a bank statement format u have to  interface this data with  middle ware toll mercator if u know settings of mercator then u can do ............................
    it seems all the bank statement data u need to upload into sap......ami right???

  • When we create a table maintenance generator what is the program object

    When we create a table maintenance generator what is the program object
         & What is the database object is being created?

    check links
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=use%20of%20table%20maintenance%20generator&cat=sdn_all
    http://www.sapdevelopment.co.uk/tips/tips_tabmaint_tcode.htm
    http://www.sap-img.com/abap/create-a-table-maintance-program-for-a-z-table.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
    Rewards if useful.....................
    Minal

  • VBScript as program object - alternative to WScript.Arguments?

    I am trying to create a program object with a VBScript that will change the name of a PDF created by a scheduled report.  I need to be able to tack on the string "OH_2010_Qtr_1" (or whatever state - OH is used as an example) before the file extension - the VBScript creates that string based on the date the report is run.  I want to be able to pass parameters to this script but when I try to do so I get the error "Variable is undefined 'WScript'" when trying to run the program object.  I tried creating a batch file that would pass in the parameters and I get a generic error. 
    How can I pass arguments to my VBScript?  The arguments are necessary because this is for multiple instances of the same report, run for different states.
    Edited by: marykDBA on Mar 24, 2010 10:17 PM

    please post this question in the developer forum below
    .NET SDK Application Development

Maybe you are looking for