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
PrakashI '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. -
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 GrigorenkoI 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
KalyanHi,
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 .Vsee 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 PMplease post this question in the developer forum below
.NET SDK Application Development
Maybe you are looking for
-
i have a problem with mail. the spelling and grammer check box before sending the messege is no longer there. I did everything but cannot get it back. is ther anyone who knows how to get the box with spelling and grammer checks before sending the
-
Server 2012 Standard error 0x80073701 when installing DHCP role
Have not been able to get past this error no matter what Google or Technet has to offer. Please Help!
-
HT5163 does the sim card store pictures automatically?
I just did a software upgrade on my 4s, and after the 3 hours that it takes to do it finishes up, the phone says it needs to be restored!! Now, earlier it said it backed up everything but I'm not sure. As i try to restore it, the phone comes on to sh
-
My Mac was hung up, friendly Apple Support person helped me empty the cache, said I should do it once a month. Forgot how I got there to do it. And what other regular mainentance ought I be doing?
-
Can I use savegames from my disc version, in the download from Playstation plus
VraagCan I use savegames from my disc version, when I install the LBP Karting download from Playstation plus?I have the actual game on disc, but installing the download version would be nicer. Then my kids dont need to change discs (and break them) a