How to debug a BAPI?
Hi ABAPERs,
i wanted to know that how you can debug a BAPI.
My problem is i m working on one utility(report) in which BAPI is called to pull data from other system. I am exporting header level data and importing item data, reference data and selectionset data.
But out of these three, BAPI is unable to retrieve iem level data. Now i wanted to debug this BAPI but i can't and without debugging its not possible to know why only the item level data is not pulled
Is there a way to debug a BAPI?
Hello Uwe,
There are no error messages returned by BAPI.
I already tried testing the BAPI in remote system using tcode se37. But there i am able to pull the data correctly.
I also tried remote debugging this BAPI by setting the breakpoint but the problem is since it is calling remote system it executes the whole BAPI without stopping at the break-point.
This BAPI is giving me problem only if i m calling from one sytem to pull the data from remote system. This can't be the issue of RFC connection as I am able to retrieve other data successfully.
Also this BAPI is working fine in development box and i have no clue why its showing strange behaviour in assurance system.
For you information BAPI i am talking about is:
read phrase details from destination system ********************
CALL FUNCTION 'BAPI_BUS1091_GETDETAIL'
DESTINATION dest_rfc
EXPORTING
PHRASE_LANGUAGE = ' '
scenario = espap_info_only_scenario
KEY_DATE = SY-DATUM
CHANGE_NUMBER =
valfr = '01010001'
valto = '31129999'
FLG_KEY_DATE_SWITCH_ONLY =
flg_return_whole_interval = true
MULTLANGU_PARAMS =
flg_phrase_header = true
flg_phrase_text = true
FLG_PHRASE_LONGTEXT =
flg_phrase_references = true
flg_phrase_selectionset = true
flg_selectionset = true
FLG_SELECTIONSET_TEXT =
FLG_LOCK_CATALOG =
TABLES
return = l_return_tab
phrase_header = l_phrase_head_ds_tab
phrase_text = l_phr_text_ds_tab
PHRASE_LONGTEXT =
phrase_references = l_phrase_ref_ds_tab
phrase_selectionset = l_phr_sect_ds_tab
selectionset = l_selectionset_ds_tab
SELECTIONSET_TEXT =
I am unable to retrieve only the "phrase_text parameter".
Please let me know what else i need to check or am i missing anything? or is there any way to debug remote BAPI when called from one system?
Regards,
Yogesh
Similar Messages
-
How to Debug a BAPI from a Web Dynpro application
I have a Web Dynpro application calling a BAPI, and I would very much like to see what data the Web Dynpro application is passing into the BAPI, and then debug the BAPI.
Is there a way to do this? I'm wondering if it is possible to somehow set up the ABAP stack so that on receipt of the BAPI call, it appears on the tRFC queue waiting for execution.
However it is done, I need a way to step through the BAPI on the ABAP stack.
BR,
Tony.Hi Anthony,
The ABAP runtime environment contains various tools that you can use for analysis purposes, such as for debugging source code. All source code written for Web Dynpro applications in ABAP can normally be tested using the debugger.
To allow it to test other Web Dynpro-specific program entities too, the debugger has been equipped with a special enhancement. In the phase model in the active application, you can typically see the following information at various points in time:
-The structure of the content of the current controller,
-The properties of the UI elements in the layout of the current view
-The currently instantiated component usages
Starting the Debugger
The functions for debugging Web Dynpro entities are embedded in the new debugger. You therefore need to have selected the new debugger in your Workbench settings.
Selecting the New Debugger
1. In the menu, choose Utilities -> Settings.
2. A dialog box now appears that contains two nested tab page areas. Choose the parent tab page ABAP Editor.
3. The settings for ABAP Editor always open with the content of the child tab page Editor. Here, select Front End Editor (New).
4. Now switch to the Debugging tab page in the ABAP Editor settings and select New Debugger.
5. Save your changes and close the dialog.
Starting the Debugging Process
To run an application in debugging mode, you first need to set an external breakpoint in display mode in one of the methods in the component.
Now start a test run of the application from ABAP Workbench as usual.
The method in which you set the breakpoint depends on the purpose of the test run. To debug a view, for example, it is best to set the breakpoint in method WDDOMODIFYVIEW. Provided that the context of the view controller is not filled using a supply method, the view is fully instantiated in the phase model at this point in time.
Selecting the Web Dynpro Tool in the New Debugger
When you start the application, another session opens automatically for the debugger. If you have not yet saved any personal settings with regard to the layout of the debugger, the Editor tool will now appear on the left, with the Display Variables tool on the right.
1. Select one of the three desktops in order to reconfigure it for debugging the Web Dynpro application (see Designing Work Areas).
2. The right-hand edge of the debugger window has a bar of function icons. Choose the Replace Tools icon:
3. In the next dialog box (New Tool) open the lowest node (Special Tools) and choose Web Dynpro.
4. Confirm the dialog box.
On the right of the debugger desktop, you will see that the previous tool has now been replaced by the Web Dynpro debugger. You can save this setting for future debugging activities. To do this, choose Save Layout In the debuggers general toolbar.
Thankyou,
Ramganesh. -
How we can find BAPI's for a transactions?
hi
how we can find BAPI's for a transactions?
thanks in advancehi,
use this function module SXV_GET_CLIF_BY_NAME
function sxv_get_clif_by_name .
""Lokale Schnittstelle:
*" IMPORTING
*" VALUE(NAME)
*" VALUE(PREFIX) TYPE SEEX_CLIF_PREFIX
*" EXPORTING
*" VALUE(CLIF) TYPE SEOCLSNAME
call function 'SXV_ADD_PREFIX'
exporting
name = name
prefix = prefix
importing
new_name = clif.
endfunction.
debug the function module you will get name of bapi , badi used for transaction which ever operation you perform
it will call this function module and will give you name
regards
Deepak. -
How to debug a failed shopping cart transfer to ECC in classic mode
Hello,
I am using SRM 5 in classic mode, connected to ECC 6.0.
I have an error message in the administrator monitor that tells me a transfer a shopping cart to ECC has failed.
"Shopping cart 1000000123: Error creating the follow-on document"
(Message is BBP_PU 367)
This is located in the "local errors" section of the administrator monitor.
The follow on doucment will be a PO in ECC.
This message does not tell me the cause of the problem therefore I need to retrnsmit the cart and debug to find the error message that is being returned from ECC.
I have browsed the forum and there are various answers about debugging but but have not found exact instructions on how to debug, and it is now always clear on whether the instructions apply to classic or extended classic.
I have seen reference to the method in note 539978 that creates test data with FBGENDAT for the ECC BAPI. However this method does not seem suitable for a production system because it will interfere with all shopping carts being transferred while the shoppign cart with the problem is being debugged.
Therefore I would like to debug in SRM just for the shoppign cart with the problem.
Hopefully this thread will become the defintiive poitn of reference for debuggin a classic shopping cart transfer to ECC in SRM 5.
I propose to use function module BBP_PD_SC_TRANSFER to transfer the shopping cart again by entering the shopping cart GUID.
Question 1) Can this error message be returned by checks in SRM before the BAPI is called in ECC? If so, where do I place a breakpoint to find the error determined by the checks in SRM?
Question 2) If the system is getting as far as calling the BAPI in ECC, is it possbile to find the error message passed back from ECC by this approach, given that the actual transfer is carried out by the spooler?
Question 3) If this approach is valid, in which method/function module do I need to place a breakpoint, at which statement is the error message passed back to SRM from ECC?
Your help would be appreciated,
ReagrdsHi Paul,
a small correction to Dishas comment:
The class CL_BBP_BS_ADAPTER_PO_CRT_470_1 is used for the backend release 4.7, so it is not relevant for you. Instead of this, you have to take the CL_BBP_BS_ADAPTER_PO_CRT_ERP10 and method CREATE_DOCUMENT. This is the last step, before the SRM calls the backend system.
From the alert "local errors" I suppose, that there is an error in the SRM customizing (in case the error message comes from the backend system, you get the message into the "Backend Application error").
Typical customizing error, when e.g. the number range of the purchase REQUISITION is not correctly customized (in case the prerequisits for a PO are not fulfilled, the system tried to create a purchase requisition). See the note 1173815 regarding this problem.
Back to your questions:
The activating of the FBGENDAT was a good idea, but I would give here two hints:
- I case of production system you can use only the "Mode B".
- Activate the FBGENDAT only for a short term:
-- at first set the breakpoint in the method CREATE_DOCUMENT (as above described)
-- execute the BBP_PD_SC_TRANSFER
-- you will be stopped at the breakpoint.
-- Now you can activate the FBGENDAT in the backend
-- go on with F8 in the debugger in the SRM system
-- >>> test data will be filled in the backend system (BAPI_PO_CREATE1)
-- deactivate the FBGENDAT
You can do this in one min. and the worst what can happen is that you have 2-3 test data in the BAPI_PO_CREATE1 additionally to the erronous SC.
Question 1) Can this error message be returned by checks in SRM before the BAPI is called in ECC? If so, where do I place a breakpoint to find the error determined by the checks in SRM?
- Maybe... Places for setting breakpoints
-- FM "BBP_PD_MSG_ADD"
-- System command "RAISE"
-- FM "META_BAPI_DISPATCH" (typical problem, see above, and also the note 1173815)
Question 2) If the system is getting as far as calling the BAPI in ECC, is it possible to find the error message passed back from ECC by this approach, given that the actual transfer is carried out by the spooler?
- Yes, you can find the message in the:
-- Test data of the BAPI_PO_CREATE1, if you have activated the FBGENDAT
-- In the method CREATE_DOCUMENT if you "comes back" from the RFC call from the backend
Question 3) If this approach is valid, in which method/function module do I need to place a breakpoint, at which statement is the error message passed back to SRM from ECC?
- see above, CL_BBP_BS_ADAPTER_PO_CRT_ERP10 method CREATE_DOCUMENT
Kind regards,
Peter -
How to debug Function Modules from ISA!!!
Hi Gurus,
How to debug the function modules from ISA.
For Ex:If i am in shopping cart or product catalog,e.t.c..i need to know which FM is calling from backend, how to debug the FMs/Bapis related to that from ISA side.
direct me to all the possible ways.
Regards,
Anil.Hello Anil,
There are a few things you need to look at when trying to debug .
1. The function module needed ( you can do a trace to see which one is called.)
2. The user that is been user With statefull and stateless connection the FM can be called by either the JCO user or the internet user. This will need to be considered when setting your external break point.
3. The server been used, You will need to check the XCM to see which server is been used ie are you using a group connect of a specific server , You need to make sure that you are setting the breakpoint on the server that is specified in the XCM.
Have a look at note [871907|https://service.sap.com/sap/support/notes/871907] the attachment to the note may help you a lot. .
Hope this helps.
Regards
Mark
Edited by: Mark Foley on Feb 11, 2009 11:10 AM -
Hello Experts,
I have a 3rd party system calling an SAP Object with a BAPI as instance. Is it possible to debug within SAP when the 3rd party system make a calls?
If so, how to perform it?
Any help would be rewarded with points.
Thanks
UVIf its JCO refer the link -
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/wd%20java/debugging%20abap%20code%20from%20within%20web%20dynpro%20applications.pdf">Debug BAPI</a>
Also check this -
Need to debug the BAPI in R3 called by web application service.
Regards,
Amit
Reward all helpful replies. -
How to debug in SAP Netweaver Developers Studio?
Hi there,
I am trying to debug and slove my error in SAP NWDS.
I am building portal application->JSPDynPage
I am trying to debug the jsp code behind page, it doesn't realli give error message like the java beans does.
I am quite new to this and do not know how to set the function to test and debug this page can anyone provide any solution ?
I have have this prob pls refer to this link
<a href="https://www.sdn.sap.com/irj/sdn/thread?threadID=192104">https://www.sdn.sap.com/irj/sdn/thread?threadID=192104</a>
Thanks loads
QuatreHi Quatre ,
-Select the breakpoints in your Dynpages /beans in ur project
-To debug u have to change the prespective to debug which u can find in
window/open prespective /Debug in NWDS
-Select the Run/Debug or the Debug icon in the toolbar.
-Fill the project name ,application name in the in the wizard opnend .
- Follow the debugging using the next step over F6 ,step return F7 keys .
These link may be helpful:
http://help.sap.com/saphelp_nw2004s/helpdata/en/66/547f09281d464b951c9a3a6b06a12d/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/a8/def86ab54da5418a3575373934ca00/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/d4/31e24044b80b06e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/be/cffcb407c67842b122bd1296dc810f/frameset.htm
U can always find out the way in the PDK development /how to debug/
ie in NWDS /HELP /SAP WAS AS Documentation /SAP J2ee Enterprise Java Beans/Java development User Guide /Running and Debugging
Cheers,
Swathi Rao
Do offer pts:-) -
How to debug web app with weblogic?
I wrote a web app that includes jsp files and some javabeans, then I put the jsp files to directory
mydomain\applications\DefaultWebApp
then I complied javabeans and put those classes to
mydomain\applications\DefaultWebApp\WEB-INF\classes
Then I start the weblogic,it runs very well.
I modified some javabean, complie them and put classes override the old classes,
but the web app can not find the new classes.
Any one know How to debug web app(with javabeans) in weblogic?
thanks!how to config the hot deploy?
thxSorry, for this delay in responding. I had set notify me with email option in Watch This topic; but I never did get any email notification.
I use wls6.1; I think the process may be very similar to this in wls8.x. In wls6.1 (sp5), this is done via the -
Dweblogic.ProductionModeEnabled=False or
Dweblogic.ProductionModeEnabled=True
in the startup cmd/sh script. Out of the box, wls6.1 is set to Dweblogic.ProductionModeEnabled=False which automatically enables hot deploys. -
How To: Debug missing Drivers in MDT
The definitive post on missing drivers in MDT (most comprehensive list I've done so far)…
Please to NOT post questions from this thread, instead create a new thread.
How to debug Network Driver Problems
One of the earliest hurdles an MDT administrator will come across is the management of device drivers, specifically networking drivers. With most other drivers, like Audio, printer, and video drivers, a quick call to Windows Update or install over the network
will resolve the Installation. However unless the Network (and storage) Drivers are installed into Windows from the start, it will be much more difficult to install the rest of the system.
This post should help you get started if you find a machine that did not install a device driver properly, and you want to know how to find and import the correct drivers.
Installing network drivers in the
full OS
Step 1 - Try network connection again
It's possible that you might get a DHCP error from MDT, but when you try again later to connect the Deployment Share it works! This may be caused by a slow or malfunctioning DHCP server in your network. Re-check your DHCP servers, ensure that PortFast is enabled
on your routers. If all else fails get your network administrators to document the DHCP delay. A long delay in modern networks is unnecessary.
Step 2 - Verify connectivity
You may not have a driver problem but a network problem. Check the physical connection on the computer (Network installs on MDT *REQUIRE* a wired network connection, no Wi-Fi). Open a web browser. Check the IP Address (ipconfig.exe /all). Ping the Deployment
Server, manually connect to the Deployment Share. IF you can't connect to the Deployment Share, neither can MDT.
Step 3 - Find the Correct Driver Package
Before you load the driver into MDT, first verify that you have the correct driver. There are scenarios where you may *think* you have the correct driver, but the driver will never run because the package is designed for a different OS/SKU/Platform/whatever.
Install the driver package by:
○ Open the Device Manager (devmgmt.msc).
○ Find the network device in the list (ensure this is the wired device, not the wireless device)
○ Right click on "Properties" and click on the "Details" tab.
○ From the "Details" tab, select the property "Hardware Ids" select all the values, and copy to the clipboard, it would be a good idea to save for later. Should look something like:
PCI\VEN_8086&DEV_1502&SUBSYS_21F317AA&REV_04
PCI\VEN_8086&DEV_1502&SUBSYS_21F317AA
PCI\VEN_8086&DEV_1502&CC_020000
PCI\VEN_8086&DEV_1502&CC_0200
○ From the "Driver" tab, click on "Update Driver…", click on "Browse my computer for driver software" locate the driver package on the local machine or USB Drive, and install the package.
○ You should get a confirmation that the driver package was installed.
○ IF you do not get confirmation, MDT driver installation may not work.
Windows will install the driver starting with the *.inf install package, and will typically include a *.sys (binary) and a *.cat (digital Signature). If the driver package has been re-packaged into a *.cab, *.zip, or other compressed *.exe file, the
package must be extracted first. This is a hard requirement for any driver used by MDT and/or SCCM. All driver packages that are signed by Microsoft (WHQL) will be installed from the *.inf file, and you should only use devices that have the Microsoft WHQL
Logo as a sign of quality.
If you need a help on where to find driver packages for your devices, the 3 largest Computer OEM manufacturers supply drivers grouped by Make and Model that are easily imported into MDT and SCCM. See:
http://deploymentbunny.com/2014/07/08/back-to-basicwhere-to-find-drivers-for-servers-and-clients/
Step 4 - Load driver into MDT
If you have more than 20 driver packages, or if you anticipate you will have more than 20 drivers, you should start grouping your drivers in sub-folders for organization. One popular method is to group by Computer Make and Model. Ensure that you are using the
correct Driver Selection Profile in your task sequence. If you are unsure, disable any selection profile(s) to ensure the driver is installed correctly.
Step 5 - Run the full MDT installation
During installation MDT will perform the following:
○ Run the PNPEnum.exe utility and capture output to PnPEnum.xml. The VEN_Xxxx and DEV_Yyyy from the "HardwareIDs" property above must be present in this list. Otherwise we won't have a match.
○ Search through the %DeployRoot%\control\drivers.xml file looking for a match for the HardwareID. MDT may filter the search based on the folder search type.
○ MDT will copy each matching driver to the local c:\drivers directory using the xcopy.exe command. You can search (grep) for the string "xcopy" in the ZTIDrivers.log file, that will get you list of all driver packages matched by MDT.
○ MDT will allow the machine to boot into the NEW OS, and Driver Installation will begin in the OS. IF there are multiple drivers found and copied locally, the Windows (not MDT) will determine the best one. The c:\windows\inf\SetupAPI.*.log files
will detail which drivers copied locally were installed (or *not* installed).
Installing Network Drivers in
WinPE
Step 6 - Try the network connection again
(See above
Step 7 - Verify Connectivity from within WinPE
Verifying network connectivity will be a bit more difficult in WinPE, since we have a limited User Interface, so all investigation must be done in the debugging mode (Press F8) cmd.exe
○ Try connecting to the Deployment Share:
c:\> net use * \\MDT\DeploymentShare$ /u:UserDomain\UserName *
○ Try pinging the Deployment Server:
c:\> Ping.exe MDT.Corp.contoso.com
○ Verify that you have an IP address ( ipconfig /all ) If you have an AutoConfiguration address - Driver OK - WinPE can't reach the DHCP server. If you have "Media Disconnected" - Driver OK - Physical adapter not plugged to network. If
no devices are listed - Driver bad - Driver not installed.
○ Check the x:\windows\system32\WpeInit.log - This log will show the network driver (if found) being installed.
Step 8 - Verify driver packages are getting included into WinPE
Firstly, verify the correct driver package from within the full OS above. By default MDT will import *all* Storage and Networking drivers into your WinPE image. However it is possible to change the subset of files copied via "Selection Profile" or
other method. Cross check your WinPE Driver Settings.
○ From within the MDT console, right click on the root of your Deployment Share and select properties.
○ Click on the "Windows PE" tab, and the "Drivers and Patches" sub tab for both x86 and x64.
○ Your Network Drivers package must be in the "Selection Profile" if enabled.
Finally verify that the correct Network Driver package is being copied to WinPE. If necessary this may include setting up a debugger to watch the MDT Provider build the WinPE Image from scratch. My preference is to use the SysInternals
http://live.sysinternals.com/Dbgview.exe tool.
○ Open up the MDT console.
○ Download and run the DbgView.exe tool.
○ Update the deployment share in question.
○ The DbgView tool should show what drivers were copied to each WinPE Image.
Other
Whenever you add a driver into the MDT console, you must update the deployment share for that drivers to be added to your WinPE Image. If you are unsure, select "Completely regenerate the boot images." to ensure the drivers is imported. Additionally,
you must copy the updated LitetouchPE_x??.wim and *.iso files to the other consumers of the WinPE image like WDS/PXE and or any USB offline media.
Note that some Broadcom NetXtreme class of drivers have a multi-function driver architecture that may have difficulty loading in WinPE. Ensure that you load the "RIS" class of drivers from Broadcom in your MDT environment.
Note that by default MDT does *NOT* support the installation of Windows over Wireless network devices (Wi-Fi). The MDT installation sources must either be available through wired networking, or offline (USB Flash) media.
This post does not discuss origination of drivers within MDT ( Chaos vs. Total Control ), that is a different topic.
http://www.deploymentresearch.com/Research/tabid/62/EntryId/112/MDT-2013-Lite-Touch-Driver-Management.aspx
Further Help
If you are still having problems with drivers in via MDT, ask the experts in the MDT Technet Forum:
Include a short description of the problem. Including the Make/Mode if necessary.
Include the HardwareIDs from the Device Manager (Devmgmt.msc) into the post (from above).
Copy your known good driver package (step 3 above) to OneDrive.
Copy the following log files to a public site like OneDrive and include the link:
○ PnpEnum.xml (from Client)
○ Bdd.log (From Client) - or at least the ZTIDrivers.log file.
○ c:\windows\inf\SetupAPI.*.log (from client)
○ %DeployRoot%\control\Driver*.xml
○ %DeployRoot%\control\SelectionProfile*.xml
○ %DeployRoot%\control\settings.xml (if problems in WinPE)
○ x:\windows\System32\WpeInit.log (if problems in WinPE)
○ If the MDT server is not including your driver package in WinPE include the DBGView log.
This post is by Keith Garner - Keith was a developer on the MDT team where he developed the ZTIDrivers.wsf script, he also worked for the Windows Hardware Quality Labs as a technical PM on Driver Quality, and developed samples for the
Microsoft Device Driver Kit (DDK) specifically around the area of Device Driver installation in the OS (Windows NT 5.0, 2000 and Windows XP). (So yes, I know drivers :^).
Keith Garner - Principal Consultant [owner] -
http://DeploymentLive.comOK. I have redone the drivers for WinPE which has reduced the image size by about 200MB. Unfortunately the problem persists.
Is there anyway to turn on some sort of boot logging so I can see what driver it is failing on?
I am also still seeing the weird behavior of it working over PXE but blue screens when booting from USB. Can anyone explain that?
JJ -
How to debug when you can't recreate error consistently
I have a simple illustrator-type application in which I draw rounded rectangles to a JPanel and then the user is able to move them around (the position and repaint is done in via the mouseDragged interface.
Sometimes, the application shuts down when I am dragging a box with this message:
# An unexpected error has been detected by HotSpot Virtual Machine:
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d236a0c, pid=3400, tid=2716
# Java VM: Java HotSpot(TM) Client VM (1.5.0_07-b03 mixed mode, sharing)
# Problematic frame:
# C [dcpr.dll+0x6a0c]
# An error report file with more information is saved as hs_err_pid3400.log
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
I checked the error report and it suggests the problem is within the PathFiller.WriteAlpha. The entire report is below. The problem I have is that if I restart the application and place boxes in the exact same locations as before, and try moving the one that caused the error, the error is not thrown.
I have no idea how to debug this as I can't even consistently reproduce. I just upgraded to the newest JDK (I think it was 7).
Thanks for any insight and help you can offer.
# An unexpected error has been detected by HotSpot Virtual Machine:
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d236a0c, pid=3400, tid=2716
# Java VM: Java HotSpot(TM) Client VM (1.5.0_07-b03 mixed mode, sharing)
# Problematic frame:
# C [dcpr.dll+0x6a0c]
--------------- T H R E A D ---------------
Current thread (0x00acae38): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2716]
siginfo: ExceptionCode=0xc0000005, reading address 0x00000007
Registers:
EAX=0x00a9c6b8, EBX=0x02e33930, ECX=0x00a9c6a4, EDX=0x00000001
ESP=0x0303f314, EBP=0x0303f328, ESI=0x00a35f1c, EDI=0xffffffff
EIP=0x6d236a0c, EFLAGS=0x00010286
Top of Stack: (sp=0x0303f314)
0x0303f314: 02e2865c 00a35f1c 02e33930 ffffffff
0x0303f324: 02e2865c 0303f34c 6d236ce8 02e33930
0x0303f334: 00a35f1c 02e33930 02e2865c 02e33930
0x0303f344: 00acaef8 02e34774 0303f378 6d2326be
0x0303f354: 02e33930 00a35f1c 02f13380 00000001
0x0303f364: 00000020 00000000 22fb02e8 22fad0d0
0x0303f374: 00acae38 0303f3a0 00b6a767 02f13380
0x0303f384: 0303f3b8 0303f3b4 00000001 00000020
Instructions: (pc=0x6d236a0c)
0x6d2369fc: 85 ff 89 7d f8 0f 84 16 01 00 00 eb 03 8b 7d f8
0x6d236a0c: d9 47 08 d8 15 50 c0 23 6d 8b 47 04 d9 55 fc 89
Stack: [0x03000000,0x03040000), sp=0x0303f314, free space=252k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [dcpr.dll+0x6a0c]
C [dcpr.dll+0x6ce8]
C [dcpr.dll+0x26be]
J sun.dc.pr.PathFiller.writeAlpha8([BIII)V
J sun.java2d.pipe.DuctusRenderer.getAlpha(Lsun/dc/pr/Rasterizer;[BIII)V
J sun.java2d.pipe.DuctusShapeRenderer.renderPath(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;Ljava/awt/BasicStroke;)V
J sun.java2d.pipe.DuctusShapeRenderer.fill(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;)V
J sun.java2d.pipe.PixelToShapeConverter.fillRoundRect(Lsun/java2d/SunGraphics2D;IIIIII)V
J sun.java2d.SunGraphics2D.fillRoundRect(IIIIII)V
J writingplatform.PlatformNode.paintComponent(Ljava/awt/Graphics;)V
J writingplatform.TextNode.paintComponent(Ljava/awt/Graphics;)V
J writingplatform.PlatformPanel.paintComponent(Ljava/awt/Graphics;)V
J javax.swing.JComponent.paint(Ljava/awt/Graphics;)V
J javax.swing.JComponent.paintWithOffscreenBuffer(Ljavax/swing/JComponent;Ljava/awt/Graphics;IIIILjava/awt/Image;)V
J javax.swing.JComponent.paintDoubleBuffered(Ljavax/swing/JComponent;Ljava/awt/Component;Ljava/awt/Graphics;IIII)Z
J javax.swing.JComponent._paintImmediately(IIII)V
J javax.swing.JComponent.paintImmediately(IIII)V
J javax.swing.RepaintManager.paintDirtyRegions()V
J javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run()V
J java.awt.event.InvocationEvent.dispatch()V
J java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J java.awt.EventDispatchThread.pumpOneEventForHierarchy(ILjava/awt/Component;)Z
v ~RuntimeStub::alignment_frame_return Runtime1 stub
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+26
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub
V [jvm.dll+0x86401]
V [jvm.dll+0xdb172]
V [jvm.dll+0x862d2]
V [jvm.dll+0x8602f]
V [jvm.dll+0xa0bcb]
V [jvm.dll+0x10bdad]
V [jvm.dll+0x10bd7b]
C [MSVCRT.dll+0x2a3b0]
C [kernel32.dll+0xb50b]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J sun.dc.pr.PathFiller.writeAlpha8([BIII)V
J sun.java2d.pipe.DuctusRenderer.getAlpha(Lsun/dc/pr/Rasterizer;[BIII)V
J sun.java2d.pipe.DuctusShapeRenderer.renderPath(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;Ljava/awt/BasicStroke;)V
J sun.java2d.pipe.DuctusShapeRenderer.fill(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;)V
J sun.java2d.pipe.PixelToShapeConverter.fillRoundRect(Lsun/java2d/SunGraphics2D;IIIIII)V
J sun.java2d.SunGraphics2D.fillRoundRect(IIIIII)V
J writingplatform.PlatformNode.paintComponent(Ljava/awt/Graphics;)V
J writingplatform.TextNode.paintComponent(Ljava/awt/Graphics;)V
J writingplatform.PlatformPanel.paintComponent(Ljava/awt/Graphics;)V
J javax.swing.JComponent.paint(Ljava/awt/Graphics;)V
J javax.swing.JComponent.paintWithOffscreenBuffer(Ljavax/swing/JComponent;Ljava/awt/Graphics;IIIILjava/awt/Image;)V
J javax.swing.JComponent.paintDoubleBuffered(Ljavax/swing/JComponent;Ljava/awt/Component;Ljava/awt/Graphics;IIII)Z
J javax.swing.JComponent._paintImmediately(IIII)V
J javax.swing.JComponent.paintImmediately(IIII)V
J javax.swing.RepaintManager.paintDirtyRegions()V
J javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run()V
J java.awt.event.InvocationEvent.dispatch()V
J java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J java.awt.EventDispatchThread.pumpOneEventForHierarchy(ILjava/awt/Component;)Z
v ~RuntimeStub::alignment_frame_return Runtime1 stub
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+26
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x000360c0 JavaThread "DestroyJavaVM" [_thread_blocked, id=696]
=>0x00acae38 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2716]
0x00ac5530 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3396]
0x00ac50b0 JavaThread "AWT-Shutdown" [_thread_blocked, id=2656]
0x00ac3eb8 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=1644]
0x00a6ef28 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=408]
0x00a6dc28 JavaThread "CompilerThread0" daemon [_thread_blocked, id=992]
0x0003fda0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1756]
0x00a42240 JavaThread "Finalizer" daemon [_thread_blocked, id=2156]
0x00a40d58 JavaThread "Reference Handler" daemon [_thread_blocked, id=328]
Other Threads:
0x00a3e460 VMThread [id=3024]
0x00a702a8 WatcherThread [id=1740]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
def new generation total 576K, used 20K [0x22a70000, 0x22b10000, 0x22f50000)
eden space 512K, 2% used [0x22a70000, 0x22a73220, 0x22af0000)
from space 64K, 12% used [0x22af0000, 0x22af2128, 0x22b00000)
to space 64K, 0% used [0x22b00000, 0x22b00000, 0x22b10000)
tenured generation total 1408K, used 435K [0x22f50000, 0x230b0000, 0x26a70000)
the space 1408K, 30% used [0x22f50000, 0x22fbcd10, 0x22fbce00, 0x230b0000)
compacting perm gen total 8192K, used 388K [0x26a70000, 0x27270000, 0x2aa70000)
the space 8192K, 4% used [0x26a70000, 0x26ad1170, 0x26ad1200, 0x27270000)
ro space 8192K, 67% used [0x2aa70000, 0x2afcd9f8, 0x2afcda00, 0x2b270000)
rw space 12288K, 46% used [0x2b270000, 0x2b813808, 0x2b813a00, 0x2be70000)
Dynamic libraries:
0x00400000 - 0x0040d000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\java.exe
0x7c900000 - 0x7c9b0000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f4000 C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f01000 C:\WINDOWS\system32\RPCRT4.dll
0x77c10000 - 0x77c68000 C:\WINDOWS\system32\MSVCRT.dll
0x6d730000 - 0x6d8c7000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\client\jvm.dll
0x77d40000 - 0x77dd0000 C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f57000 C:\WINDOWS\system32\GDI32.dll
0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll
0x6d2f0000 - 0x6d2f8000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d700000 - 0x6d70c000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\verify.dll
0x6d370000 - 0x6d38d000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\java.dll
0x6d720000 - 0x6d72f000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\zip.dll
0x6d070000 - 0x6d1d7000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\awt.dll
0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV
0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.dll
0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll
0x5ad70000 - 0x5ada8000 C:\WINDOWS\system32\uxtheme.dll
0x73760000 - 0x737a9000 C:\WINDOWS\system32\ddraw.dll
0x73bc0000 - 0x73bc6000 C:\WINDOWS\system32\DCIMAN32.dll
0x73940000 - 0x73a10000 C:\WINDOWS\system32\D3DIM700.DLL
0x6d2b0000 - 0x6d2ef000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\fontmanager.dll
0x74720000 - 0x7476b000 C:\WINDOWS\system32\MSCTF.dll
0x7c9c0000 - 0x7d1d5000 C:\WINDOWS\system32\shell32.dll
0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
0x773d0000 - 0x774d2000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
0x5d090000 - 0x5d127000 C:\WINDOWS\system32\comctl32.dll
0x605d0000 - 0x605d9000 C:\WINDOWS\system32\mslbui.dll
0x77120000 - 0x771ac000 C:\WINDOWS\system32\OLEAUT32.DLL
0x6d530000 - 0x6d543000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\net.dll
0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll
0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll
0x6d550000 - 0x6d559000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\nio.dll
0x6d230000 - 0x6d253000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\dcpr.dll
VM Arguments:
java_command: writingplatform.Main
Launcher Type: SUN_STANDARD
Environment Variables:
CLASSPATH=C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zip
PATH=C:\Program Files\Microsoft DirectX 9.0 SDK (August 2005)\Utilities\Bin\x86;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\SSH Communications Security\SSH Secure Shell
USERNAME=Wanderer
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows XP Build 2600 Service Pack 2
CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht
Memory: 4k page, physical 1047764k(366012k free), swap 2518724k(2059484k free)
vm_info: Java HotSpot(TM) Client VM (1.5.0_07-b03) for windows-x86, built on May 3 2006 01:04:38 by "java_re" with MS VC++ 6.0This is not your bug, it's Sun's. All you can do is to:
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
On the other hand, if you cannot afford to wait and just
want to find a quick workaround, you will at least need
to find a way to reproduce the bug with a reasonable
frequency. If you are absolutely unable to reproduce it,
just forget it, but still report it to Sun. -
How to Use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA
Hi ,
How to use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA.
May i know what are the input parameters & fields mandatory
for each Table structures ct_data , ct_datax , it_descript , it_longtext.
Can any one explain me Step by Step Process.
B'cos i tried with below code. Equipment is not getting created.
wa_itab-equipment_ext = '000000000100000001'.
wa_itab-descript = 'Test 2 -> Lube Oil Pump'.
wa_itab-text_language = 'EN'.
wa_itab-sdescript = 'Short Description'.
APPEND wa_itab TO it_itab.
CLEAR wa_itab.
LOOP AT it_itab INTO wa_itab.
ct_data-ta_guid = '000000000000000001'.
ct_data-equipment_ext = wa_itab-equipment_ext.
ct_data-descript = wa_itab-descript .
ct_data-valid_date = sy-datum.
ct_data-equicatgry = 'M'.
APPEND ct_data.
CLEAR ct_data.
ct_datax-ta_guid = '000000000000000001'.
ct_datax-equipment_ext = 'X'.
ct_datax-equipment = 'X'.
APPEND ct_datax.
CLEAR ct_datax.
it_descript-ta_guid = '000000000000000001'.
it_descript-text_language = wa_itab-text_language.
it_descript-descript = wa_itab-sdescript .
APPEND it_descript.
CLEAR it_descript.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'LTXT'.
it_longtext-text_line = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'aaaaaaaaaaaaaaa'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'bbbbbbbbbbbb'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'cccccccccccccccc'.
APPEND it_longtext.
CLEAR it_longtext.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
call BAPI-function in this system
CALL FUNCTION 'BAPI_EQUIPMENT_SAVEREPLICA'
TABLES
ct_data = ct_data
ct_datax = ct_datax
it_descript = it_descript
it_longtext = it_longtext
return = return
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE : 'Successful'.
ENDIF.
IF NOT return IS INITIAL.
LOOP AT return.
IF return-type = 'A' OR return-type = 'E'.
WRITE : 'Error'.
ENDIF.
ENDLOOP.
ENDIF.
REFRESH return.
ENDLOOP.
Regards
SUrendarHi ,
How to use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA.
May i know what are the input parameters & fields mandatory
for each Table structures ct_data , ct_datax , it_descript , it_longtext.
Can any one explain me Step by Step Process.
B'cos i tried with below code. Equipment is not getting created.
wa_itab-equipment_ext = '000000000100000001'.
wa_itab-descript = 'Test 2 -> Lube Oil Pump'.
wa_itab-text_language = 'EN'.
wa_itab-sdescript = 'Short Description'.
APPEND wa_itab TO it_itab.
CLEAR wa_itab.
LOOP AT it_itab INTO wa_itab.
ct_data-ta_guid = '000000000000000001'.
ct_data-equipment_ext = wa_itab-equipment_ext.
ct_data-descript = wa_itab-descript .
ct_data-valid_date = sy-datum.
ct_data-equicatgry = 'M'.
APPEND ct_data.
CLEAR ct_data.
ct_datax-ta_guid = '000000000000000001'.
ct_datax-equipment_ext = 'X'.
ct_datax-equipment = 'X'.
APPEND ct_datax.
CLEAR ct_datax.
it_descript-ta_guid = '000000000000000001'.
it_descript-text_language = wa_itab-text_language.
it_descript-descript = wa_itab-sdescript .
APPEND it_descript.
CLEAR it_descript.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'LTXT'.
it_longtext-text_line = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'aaaaaaaaaaaaaaa'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'bbbbbbbbbbbb'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'cccccccccccccccc'.
APPEND it_longtext.
CLEAR it_longtext.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
call BAPI-function in this system
CALL FUNCTION 'BAPI_EQUIPMENT_SAVEREPLICA'
TABLES
ct_data = ct_data
ct_datax = ct_datax
it_descript = it_descript
it_longtext = it_longtext
return = return
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE : 'Successful'.
ENDIF.
IF NOT return IS INITIAL.
LOOP AT return.
IF return-type = 'A' OR return-type = 'E'.
WRITE : 'Error'.
ENDIF.
ENDLOOP.
ENDIF.
REFRESH return.
ENDLOOP.
Regards
SUrendar -
How to create a bapi to update and add record 2 abap r3 table created by me
i have created a abap r3 table and i now want to insert records into it through SAP netweaver(Web-Dynpro). So i need a bapi to udate and insert records in the abap r3 table.if someone can please tell me how to create the bapi..coz i handel the EP part and dont know much about abap.
BAPIs are defined as API methods of SAP business object types.
A BAPI is implemented as a function module, that is stored and described in the Function Builder.
To create BAPI you are supposed to do following steps :
1) create package in SE80.
2) create function group in SE80.
3) create function module in SE37(REMOTE ENABLE) & relased it .
write your logic in that FM.
4) Go in SWO1 to create Object type / object name (write the program name which is SE38 program generated in background )
5) Then go to SWO1
Utilities -> Api methods -> ADD method
write the name of FM which you have created & continue.
6) select your method
a) EDIT -> change release status -> object type -> implement
-> released
b) EDIT -> change release status -> object type component-> implement
-> released
7) go in BAPI & you will get your BAPI. -
How to debug BADI BBP_SAPXML1_OUT_BADI during PO Creation and change
Hi All,
I have a scenario in which i need to send some additional fields with the PO data to the XI via PROXY .
To do this i have enhanced the proxy structure with additional fields and For mapping these fields, I created an implementation of method PURCHASEORDER of BAdI BBP_SAPXML1_OUT_BADI with filter PO ( Purchase orders ).
But this implementation is not getting processed.
Whenever Po is created the XI will receive the data but the additional fields are not available in XI.
To check the code i need to debug the badi implementation .
Can anybody please tell me why this badi is not triggered and how to debug the badi code.
Its urgebt .
Thanks in Advance.
Regards,
NareshHi Naresh,
Go to your BADI Implementation set infinite loop in the method. Run the transaction SPPFP & set Promotion status to 0 & Processing Type as MET & execute it, Select the PO you want to debug & press F8. Goto sm50 to debug the BADI.
Thanks -
How to debug and find the exact constraint violation error
{122712 14:22:36:ErrorCode -1 with ErrorMessage as ORA-00001: unique constraint (OPS$CMS.PK_TB_ML_EXER_UPLOAD) violated has occured for [SSO16063259009], [CMSCOST_USER] pk_xop_subsales.pr_process_exer }
{PROCEDURE pr_process_exer(
p_voucher_num tb_xop_order_manager_t.voucher_num%TYPE,
p_status_type tb_xop_order_manager_t.status_type%type,
p_dest tb_xop_order_manager_t.dest%type,
p_reference_key tb_xop_order_manager_t.reference_key%type,
p_seq_num tb_xop_order_manager_t.seq_num%type,
p_return_code tb_xop_order_manager_t.return_code%type,
p_reason_desc tb_xop_order_manager_t.reason_desc%type,
p_activity_qty tb_xop_order_manager_t.activity_qty%type,
p_leaves_qty tb_xop_order_manager_t.leaves_qty%type,
p_exec_price tb_xop_order_manager_t.exec_price%type,
p_current_status tb_xop_order_manager_t.current_status%type,
p_err_cur OUT ref_cursor)
IS
CURSOR get_order_dtls(v_voucher_num tb_xop_order_manager_t.voucher_num%type)
IS
SELECT *
FROM tb_xop_order_manager_t
WHERE voucher_num = v_voucher_num;
CURSOR get_mail_cd(v_opt_num OPTIONEE.opt_num%TYPE) IS
SELECT mail_cd, sp_mail_cd
FROM XOP_OPTIONEE
WHERE opt_num = v_opt_num;
cursor get_opt_dtls(v_opt_num OPTIONEE.opt_num%TYPE) IS
select
SUBSTR(trim(O.name_first) || ' ' || trim(O.name_mi) || ' ' ||
trim(O.name_last), 1, 35) p_name,
SUBSTR(O.address1, 1, 35) opt_addr1,
SUBSTR(O.address2, 1, 35) opt_addr2,
SUBSTR(O.address3, 1, 35) opt_addr3,
SUBSTR(O.address4, 1, 35) opt_addr4,
SUBSTR(O.address5, 1, 35) opt_addr5,
SUBSTR(O.address6, 1, 35) opt_addr6,
SUBSTR(trim(O.city) || ' ' || trim(O.state) || ' ' ||
trim(O.zip) || ' ' || trim(O.country), 1, 35) city_state_zip_country,
trim(O.city) city,
trim(O.state) state,
trim(O.zip) zip,
trim(O.country) country
from optionee o
where o.opt_num = v_opt_num;
--CQ:PCTUP00210726- Added wire instructions audit for deleted wire info.
CURSOR c_wire_instruction (
in_wire_seq_no TB_XOP_WIRE_INSTRUCTIONS.wire_seq_no%TYPE ) IS
SELECT ml_brok_acct_num,
ssn,
plan_num,
instr_type,
aba_routing_num,
swift_routing_code,
bank_name,
bank_acct_num,
name_on_account,
bank_addr_1,
bank_addr_2,
bank_addr_3,
city,
state,
country,
zip,
bank_ident_num,
addtl_info
FROM TB_XOP_WIRE_INSTRUCTIONS
WHERE wire_seq_no = in_wire_seq_no
UNION
SELECT ml_brok_acct_num,
ssn,
plan_num,
instr_type,
aba_routing_num,
swift_routing_code,
bank_name,
bank_acct_num,
name_on_account,
bank_addr_1,
bank_addr_2,
bank_addr_3,
city,
state,
country,
zip,
bank_ident_num,
addtl_info
FROM TB_XOP_WIRE_INSTRUCTIONS_AUDIT
WHERE wire_seq_no = in_wire_seq_no;
CURSOR c_order_qty IS
SELECT order_qty
FROM tb_xop_order_manager
WHERE voucher_num = p_voucher_num;
v_order_qty tb_xop_order_manager.order_qty%TYPE;
v_wire_instruction c_wire_instruction%ROWTYPE;
v_order_dtls get_order_dtls%rowtype;
v_opt_dtls get_opt_dtls%rowtype;
v_settle_dt tb_ml_exer_upload.settle_dt%type;
v_cusip_num corp.cusip_num%type;
v_err_cd number(12):=0;
v_err_msg varchar2(4000);
v_compy_nme tb_fc_Compy.compy_nme%type;
v_ml_sec_num tb_fc_compy.ml_sec_num%type;
v_mail_cd xop_optionee.mail_cd%type;
v_count1 PLS_INTEGER := 0;
v_sum_activity_qty tb_xop_order_manager_t.activity_qty%TYPE;
v_transact_no PLS_INTEGER;
v_ivr_plan_num tb_fc_compy.ivr_plan_num%TYPE;
wait_for_more EXCEPTION;
exceeds_order_qty EXCEPTION;
--Added for CQ# PCTUP00481233
v_sub_totfee number;
v_sub_fixedfee1 number;
v_sub_fixedfee2 number;
v_sub_fixedfee3 number;
v_sub_secfee number;
v_sub_feenum number;
--Added for CQ# PCTUP00481233
v_fixedfee1 tb_xop_order_manager_t.fixed_fee1%TYPE; --SPIF# 43161- variable to hold fixed fee1
BEGIN
OPEN c_order_qty;
FETCH c_order_qty INTO v_order_qty;
CLOSE c_order_qty;
dbms.output.put_line('completed1');
IF v_order_qty <> p_activity_qty THEN
dbms.output.put_line('completed2');
IF p_status_type = 'EO' AND v_order_qty < p_activity_qty THEN
RAISE exceeds_order_qty;
dbms.output.put_line('completed3');
ELSIF p_status_type = 'EO' AND v_order_qty > p_activity_qty THEN
-- Partial Execution
INSERT INTO tb_xop_hold_multi_orders
( voucher_num
, reference_key
, seq_num
, return_code
, reason_desc
, status_type
, activity_qty
, leaves_qty
, exec_price
, current_status
, waiting
,activ_dt )
VALUES
( p_voucher_num
, p_reference_key
, p_seq_num
, p_return_code
, p_reason_desc
, p_status_type
, p_activity_qty
, p_leaves_qty
, p_exec_price
, p_current_status
, 'Y'
,SYSTIMESTAMP );
dbms.output.put_line('completed4');
ELSE
IF p_status_type = 'BE' THEN
SELECT COUNT(1) INTO v_count1
FROM tb_xop_hold_multi_orders
WHERE voucher_num = p_voucher_num;
dbms.output.put_line('completed5');
IF v_count1 > 0 THEN
INSERT INTO tb_xop_hold_multi_orders
( voucher_num
, reference_key
, seq_num
, return_code
, reason_desc
, status_type
, activity_qty
, leaves_qty
, exec_price
, current_status
, waiting
,activ_dt)
VALUES
( p_voucher_num
, p_reference_key
, p_seq_num
, p_return_code
, p_reason_desc
, p_status_type
, (-1) * p_activity_qty
, p_leaves_qty
, p_exec_price
, p_current_status
, 'Y'
,SYSTIMESTAMP );
UPDATE tb_xop_hold_multi_orders
SET waiting = 'Y'
WHERE voucher_num = p_voucher_num;
dbms.output.put_line('completed6');
END IF;
END IF;
END IF;
dbms.output.put_line('completed7');
SELECT SUM(NVL(activity_qty,0)) INTO v_sum_activity_qty
FROM tb_xop_hold_multi_orders
WHERE waiting = 'Y'
AND voucher_num = p_voucher_num;
IF v_sum_activity_qty > 0 THEN
IF v_sum_activity_qty <> v_order_qty THEN
RAISE wait_for_more;
ELSE
-- final order in the partial execution; complete the process
UPDATE tb_xop_hold_multi_orders
SET waiting = 'N'
, process_dt = SYSDATE
WHERE voucher_num = p_voucher_num;
END IF;
END IF;
END IF;
UPDATE tb_xop_order_manager_t
SET activ_dt = TO_CHAR( SYSDATE, 'YYYY-MM-DD HH24:MI:SS' ) || '.000'
, dest = p_dest
, reference_key = p_reference_key
, seq_num = p_seq_num
, return_code = p_return_code
, reason_desc = p_reason_desc
, status_type = p_status_type
, activity_qty = v_order_qty --p_activity_qty
, leaves_qty = 0 --p_leaves_qty
, exec_price = p_exec_price
WHERE voucher_num = p_voucher_num;
dbms.output.put_line('completed8');
* SPIF# 43161- Update of current status to PO moved at the end, same as how PROD works.
IF (p_status_type = 'EO') THEN
BEGIN
select cusip_num
into v_cusip_num
from corp;
EXCEPTION
WHEN NO_DATA_FOUND THEN
SELECT cusip_num
INTO v_cusip_num
FROM tb_xop_espp_compy
WHERE compy_acronym = replace(replace(user,'CMS'),'_USER');
WHEN OTHERS THEN
NULL;
END;
select compy_nme,ml_sec_num, ivr_plan_num
into v_compy_nme,v_ml_sec_num, v_ivr_plan_num
from tb_fc_compy
where compy_acronym = replace(replace(user,'CMS'),'_USER')
UNION ALL
select compy_nme, je_ml_security_number, ivr_plan_num
from tb_xop_espp_compy
where compy_acronym = replace(replace(user,'CMS'),'_USER');
-- where ivr_plan_num = replace(substr(p_voucher_num,1,7),'SSO','XOP');
open get_order_dtls(p_voucher_num);
FETCH get_order_dtls INTO v_order_dtls;
v_settle_dt := fn_xop_bankopen_bizday(TRUNC(v_order_dtls.exer_date + 1));
v_settle_dt := fn_xop_bankopen_bizday(TRUNC(v_settle_dt + 1));
v_settle_dt := fn_xop_bankopen_bizday(TRUNC(v_settle_dt + 1));
FOR c_mail_cd IN get_mail_cd(v_order_dtls.opt_num)
LOOP
v_mail_cd := c_mail_cd.mail_cd;
-- Do we need to get sp_mail_cd and overlay with the sp_mail_cd in order_manager_t???
END LOOP;
OPEN get_opt_dtls(v_order_dtls.opt_num);
FETCH get_opt_dtls INTO v_opt_dtls;
CLOSE get_opt_dtls;
v_fixedfee1 := nvl(v_order_dtls.fixed_fee1, 0);
* SPIF# 43161- atleast one handling fee per day of transaction
v_fixedfee1 := pk_xop_enh_exerupdate.chrg_tranxfixed_fee(v_fixedfee1,
v_order_dtls.symbol,
v_order_dtls.corp_acronym,
v_order_dtls.opt_num);
--Insert into tb_ml_exer_upload
--Added for CQ# PCTUP00481233
Pk_Xop_Transactmodel.GET_FEE(v_order_dtls.GROUP_ID,v_order_dtls.SVC_ID,'SQ',v_order_dtls.opts_exer,
round(v_order_dtls.exec_price, 4),v_sub_totfee,v_sub_fixedfee2,v_sub_fixedfee1,
v_sub_fixedfee3,v_sub_secfee,v_sub_feenum,lpad(v_order_dtls.ssn,9,0));
v_order_dtls.sec_fee:=v_sub_secfee;
UPDATE tb_xop_order_manager_t
SET sec_fee=v_sub_secfee
WHERE voucher_num = p_voucher_num;
dbms.output.put_line('completed8');
--- End CQ # PCTUP00481233
INSERT INTO tb_ml_exer_upload
(exer_num,exer_seq,
exer_dt, written_flag, backout_flag, output_line,
je_flag, opts_exer,
tot_tax,shrs_sold,comm_value,tot_fee,
mkt_prc,exer_type, soc_sec,
name_first, name_mi,
name_last,check_addr_1,check_addr_2,check_addr_3,
check_addr_4,check_addr_5,city,state,zip,country,
city_state_zip_country,
p_name,opt_addr1,opt_addr2,opt_addr3,opt_addr4,
opt_addr5,opt_addr6,
settle_dt,send_to_citibank_flag,
dom_chek_distr,foreign_currency_code,
distribution_method,wire_seq_no,
cusip_num, ml_retail_account,multi_curr_handling_fee,
ml_sec_num, corp_name,upd_optionee_addr,
outbound_flag, -- make it N
corp_symbol,taxwire_approve, -- make it not applicaplabe
exersource,
mail_cd, sp_mail_cd,
backup_withholding,
user_id,
acct_num_othr)
VALUES(v_order_dtls.exer_num,0,v_order_dtls.exer_date,'N','N',NULL,
-- PG 12/12/05 Changed to populate the je_flag based on dom_chek_distr 'D',
-- PG 12/16/05 JE should not be generated for international checks.. So 'Y' always
'Y', --je_flag
v_order_dtls.opts_exer,0,--total tax will be 0.
v_order_dtls.opts_exer, --shrs_sold,
v_order_dtls.comm_value,
--SPIF# 43161- replaced nvl(v_order_dtls.fixed_fee1, 0) with v_fixedfee1
v_fixedfee1 + nvl(v_order_dtls.fixed_fee3,0) + nvl(v_order_dtls.sec_fee,0), --v_order_dtls.fees_amt,
round(v_order_dtls.exec_price, 4),v_order_dtls.exer_type,
LPAD(v_order_dtls.ssn,9,'0'), --v_order_dtls.ssn, Modified by Suresh on 02/08/07 for SPIF # 37210
v_order_dtls.name_first,v_order_dtls.name_mi,v_order_dtls.name_last,
v_order_dtls.check_addr_1,v_order_dtls.check_addr_2,v_order_dtls.check_addr_3,
v_order_dtls.check_addr_4,v_order_dtls.check_addr_5,nvl(v_order_dtls.city,v_opt_dtls.city),
nvl(v_order_dtls.state,v_opt_dtls.state),nvl(v_order_dtls.zip,v_opt_dtls.zip),
nvl(v_order_dtls.country,v_opt_dtls.country),
SUBSTR(nvl(v_order_dtls.city||v_order_dtls.state||v_order_dtls.zip||v_order_dtls.country,
v_opt_dtls.city_state_zip_country),1,34), -- COLUMN LENGTH MAX IS 35
v_opt_dtls.p_name,v_opt_dtls.opt_addr1,v_opt_dtls.opt_addr2,v_opt_dtls.opt_addr3,
v_opt_dtls.opt_addr4,v_opt_dtls.opt_addr5,v_opt_dtls.opt_addr6,
v_settle_dt,decode(v_order_dtls.distribution_method,'W','Y','D','Y','C','Y','D'),
v_order_dtls.dom_chek_distr,v_order_dtls.foreign_currency_code,
v_order_dtls.distribution_method,v_order_dtls.wire_seq_no,
v_cusip_num,v_order_dtls.acct_num,v_order_dtls.multi_curr_handling_fee,
-- nvl(fn_get_sec_num(replace(substr(p_voucher_num,1,7),'SSO','XOP'),v_order_dtls.symbol),v_ml_sec_num),
nvl(fn_get_sec_num(v_ivr_plan_num, v_order_dtls.symbol),v_ml_sec_num),
v_compy_nme,v_order_dtls.upd_optionee_addr,
'N', --'N' is for outbound flag.
v_order_dtls.symbol,'D', --'D' for taxwires disabled
'S', -- 'S' for source being subsequent sale.
v_mail_cd, --need to get mail_Cd??
v_order_dtls.sp_mail_cd,v_order_dtls.backup_withholding,
user,v_order_dtls.acct_num_othr);
IF (NVL(v_order_dtls.wire_seq_no,0) > 0) THEN
OPEN c_wire_instruction(v_order_dtls.wire_seq_no);
FETCH c_wire_instruction INTO v_wire_instruction;
CLOSE c_wire_instruction;
INSERT INTO TB_XOP_TRANSACT_WIRE_INSTR
(user_id, exer_num, wire_seq_no, ml_brok_acct_num, ssn,
plan_num, instr_type, aba_routing_num,
swift_routing_code, bank_name, bank_acct_num,
name_on_account, bank_addr_1, bank_addr_2, bank_addr_3,
city, state, country, zip, bank_ident_num, addtl_info )
VALUES
(USER,v_order_dtls.exer_num, v_order_dtls.wire_seq_no,
v_wire_instruction.ml_brok_acct_num, v_wire_instruction.ssn,
v_wire_instruction.plan_num, v_wire_instruction.instr_type, v_wire_instruction.aba_routing_num,
v_wire_instruction.swift_routing_code, v_wire_instruction.bank_name, v_wire_instruction.bank_acct_num,
v_wire_instruction.name_on_account, v_wire_instruction.bank_addr_1, v_wire_instruction.bank_addr_2,
v_wire_instruction.bank_addr_3, v_wire_instruction.city, v_wire_instruction.state, v_wire_instruction.country, v_wire_instruction.zip,
v_wire_instruction.bank_ident_num, v_wire_instruction.addtl_info);
dbms.output.put_line('completed10');
END IF;
/* PG 01/05/06 Call the check conversion only for international checks and wires */
IF v_order_dtls.dom_chek_distr = 'N' AND v_order_dtls.distribution_method IN ('W', 'D', 'C') THEN
/* PG 12/20/05 To process subsequent sales with wire or foreign currency distribution */
v_transact_no := 88;
pk_xop_citibank_forex.pr_cashconversion_ins_request( v_order_dtls.acct_num
, LPAD(v_order_dtls.ssn,9,'0') --v_order_dtls.ssn, Modified by Suresh on 02/15/07 for SPIF # 37210
, v_order_dtls.distribution_method
, v_order_dtls.foreign_currency_code
, v_order_dtls.wire_seq_no
, ROUND((v_order_dtls.opts_exer * round(v_order_dtls.exec_price, 4)),2)
- ROUND(v_order_dtls.comm_value,2)
- ROUND(nvl(v_order_dtls.fixed_fee1,0) + nvl(v_order_dtls.fixed_fee3,0) + nvl(v_order_dtls.sec_fee,0),2)
- nvl(v_order_dtls.multi_curr_handling_fee,0)
- nvl(v_order_dtls.backup_withholding,0) -- net proceeds
, v_order_dtls.multi_curr_handling_fee --handling fee
--Modified by Bhaskar/Suresh on 03/02/2006 --, v_order_dtls.login_name
, CASE v_order_dtls.login_name WHEN 'CLIENT/' THEN v_order_dtls.login_name||'SSO' ELSE v_order_dtls.login_name||'/SSO' END
, v_transact_no -- transact_no as place holder for exer_type 88
, v_order_dtls.check_addr_1
, v_order_dtls.check_addr_2
, v_order_dtls.check_addr_3
, v_order_dtls.check_addr_4
, v_order_dtls.upd_optionee_addr
, v_order_dtls.city
, v_order_dtls.state
, v_order_dtls.zip
, v_order_dtls.country
, v_order_dtls.login_ipaddress
, v_order_dtls.fcnum
, v_order_dtls.opt_num
, v_settle_dt,
p_exer_num => v_order_dtls.exer_num
END IF;
COMMIT;
close get_order_dtls;
END IF;
* SPIF# 43161- Update to current status into PO is moved to this part, same as PROD.
UPDATE tb_xop_order_manager_t
SET exec_dttime = decode(p_status_type,'EO',to_char(sysdate,'DD-MON-YYYY HH24:mi:ss'),null)
, exer_date = TRUNC(SYSDATE)
, cancel_dttime = decode(p_status_type,'CX',to_char(sysdate,'DD-MON-YYYY HH24:mi:ss'),'UR',to_char(sysdate,'DD-MON-YYYY HH24:mi:ss'),null)
, current_status = 'PO'
, sum_status = decode(p_status_type,'EO','X','C')
, sum_stat_dttime = SYSDATE
WHERE voucher_num = p_voucher_num;
v_err_cd := sqlcode;
v_err_msg := sqlerrm;
open p_err_cur for select v_err_cd err_code,v_err_msg err_msg from dual;
EXCEPTION
dbms.output.put_line('completed200');
/* PG 02/10 handled 'partial fill order' exception */
when wait_for_more then
v_err_cd := 0;
v_err_msg := 'ORA-0000: normal, successful completion';
pr_xop_log_errors('Partially filled; Waiting for more - Activity qty:' || to_char(v_sum_activity_qty)|| ' pk_xop_subsales.pr_process_exer');
open p_err_cur for select v_err_cd err_code,v_err_msg err_msg from dual;
when exceeds_order_qty then
v_err_cd := sqlcode;
v_err_msg := sqlerrm;
open p_err_cur for select v_err_cd err_code,v_err_msg err_msg from dual;
pr_xop_log_errors('Activity quantity exceeded the Order_qty - Activity qty: ' || to_char(p_activity_qty) || ' pk_xop_subsales.pr_process_exer');
when others then
v_err_cd := sqlcode;
v_err_msg := sqlerrm;
open p_err_cur for select v_err_cd err_code,v_err_msg err_msg from dual;
pr_xop_log_errors('ErrorCode '||SQLCODE||' with ErrorMessage as '||SQLERRM||' has occured for '||user||'pk_xop_subsales.pr_process_exer');
dbms.output.put_line('completed125');
END pr_process_exer;
Hi friends, any1 help me out how to define the ref-cursor in declaration section, and how to find at what situation the constraint error occurred..956684 wrote:
Hi,.
Friends plz help me out ..how to debug and find the exact position of the constraint violation..thank you for the help..There isn't a way to trace it unless you have caught the exception raised.
As a way to start the debug, you will have to monitor
1. All DML's against the Table on which you have constraint. More specifically, the DML's that act on the column you have constraint on.
2. Use Exception Handling, to log the Error and the data that causes the constraint to fail.
3. Do not forget to monitor the Triggers, if they are used, that would write some data into the column you have constraint on.
Or
Another way to trace is:
select *
from user_source
where lower(text) like '%your_table_name%';
order by type, name, line;Look at the lines, exclude that are in Declaration or in SELECT statements and target the DML's.
Looking at the un-formatted code you posted, this statement looks like a culprit.
INSERT INTO tb_ml_exer_upload
(exer_num,exer_seq,
exer_dt, written_flag, backout_flag, output_line,
je_flag, opts_exer,
tot_tax,shrs_sold,comm_value,tot_fee,
mkt_prc,exer_type, soc_sec,
name_first, name_mi,
name_last,check_addr_1,check_addr_2,check_addr_3,
check_addr_4,check_addr_5,city,state,zip,country,
city_state_zip_country,
p_name,opt_addr1,opt_addr2,opt_addr3,opt_addr4,
opt_addr5,opt_addr6,
settle_dt,send_to_citibank_flag,
dom_chek_distr,foreign_currency_code,
distribution_method,wire_seq_no,
cusip_num, ml_retail_account,multi_curr_handling_fee,
ml_sec_num, corp_name,upd_optionee_addr,
outbound_flag, -- make it N
corp_symbol,taxwire_approve, -- make it not applicaplabe
exersource,
mail_cd, sp_mail_cd,
backup_withholding,
user_id,
acct_num_othr)
VALUES(v_order_dtls.exer_num,0,v_order_dtls.exer_date,'N','N',NULL,
-- PG 12/12/05 Changed to populate the je_flag based on dom_chek_distr 'D',
-- PG 12/16/05 JE should not be generated for international checks.. So 'Y' always
'Y', --je_flag
v_order_dtls.opts_exer,0,--total tax will be 0.
v_order_dtls.opts_exer, --shrs_sold,
v_order_dtls.comm_value,
--SPIF# 43161- replaced nvl(v_order_dtls.fixed_fee1, 0) with v_fixedfee1
v_fixedfee1 + nvl(v_order_dtls.fixed_fee3,0) + nvl(v_order_dtls.sec_fee,0), --v_order_dtls.fees_amt,
round(v_order_dtls.exec_price, 4),v_order_dtls.exer_type,
LPAD(v_order_dtls.ssn,9,'0'), --v_order_dtls.ssn, Modified by Suresh on 02/08/07 for SPIF # 37210
v_order_dtls.name_first,v_order_dtls.name_mi,v_order_dtls.name_last,
v_order_dtls.check_addr_1,v_order_dtls.check_addr_2,v_order_dtls.check_addr_3,
v_order_dtls.check_addr_4,v_order_dtls.check_addr_5,nvl(v_order_dtls.city,v_opt_dtls.city),
nvl(v_order_dtls.state,v_opt_dtls.state),nvl(v_order_dtls.zip,v_opt_dtls.zip),
nvl(v_order_dtls.country,v_opt_dtls.country),
SUBSTR(nvl(v_order_dtls.city||v_order_dtls.state||v_order_dtls.zip||v_order_dtls.country,
v_opt_dtls.city_state_zip_country),1,34), -- COLUMN LENGTH MAX IS 35
v_opt_dtls.p_name,v_opt_dtls.opt_addr1,v_opt_dtls.opt_addr2,v_opt_dtls.opt_addr3,
v_opt_dtls.opt_addr4,v_opt_dtls.opt_addr5,v_opt_dtls.opt_addr6,
v_settle_dt,decode(v_order_dtls.distribution_method,'W','Y','D','Y','C','Y','D'),
v_order_dtls.dom_chek_distr,v_order_dtls.foreign_currency_code,
v_order_dtls.distribution_method,v_order_dtls.wire_seq_no,
v_cusip_num,v_order_dtls.acct_num,v_order_dtls.multi_curr_handling_fee,
-- nvl(fn_get_sec_num(replace(substr(p_voucher_num,1,7),'SSO','XOP'),v_order_dtls.symbol),v_ml_sec_num),
nvl(fn_get_sec_num(v_ivr_plan_num, v_order_dtls.symbol),v_ml_sec_num),
v_compy_nme,v_order_dtls.upd_optionee_addr,
'N', --'N' is for outbound flag.
v_order_dtls.symbol,'D', --'D' for taxwires disabled
'S', -- 'S' for source being subsequent sale.
v_mail_cd, --need to get mail_Cd??
v_order_dtls.sp_mail_cd,v_order_dtls.backup_withholding,
user,v_order_dtls.acct_num_othr);What is the Table structure of tb_ml_exer_upload and what columns do you have constraints on?
Which column of the table tb_ml_exer_upload is your Primary Key (because constraint name mentions pk_tb_ml_exer_upload)?
Edited by: Purvesh K on Jan 4, 2013 12:57 PM -
How to debug a transfer rule during data load?
I am conducting a flat file (excel sheet saved as a CSV file) data load. The flat file contains a date field and the value is '12/18/1988'. In transfer rule for this field, I use a function call to transfer this value to '19881218' which corresponds to BW DATS format, but the monitor of the InfoPackage shows red error:
"Value '1981218' of characteristic 0DATE is not a number with 000008 spaces".
Somehow, the last digit or character of the year 1988 was cut and the year grabbed is 198 other than 1988. The function code is (see below in between two * lines):
FUNCTION ZDM_CONVERT_DATE.
""Local Interface:
*" IMPORTING
*" REFERENCE(CHARDATE) TYPE STRING
*" EXPORTING
*" REFERENCE(DATE) TYPE D
DATA:
c_date(2) TYPE c,
c_month(2) TYPE c,
c_year(4) TYPE c,
c_date_combined(8) TYPE c.
data: text(10).
text = chardate.
search text for '/'.
if sy-fdpos = 1.
concatenate '0' text into text.
endif.
c_month = text(2).
c_date = text+3(2).
c_year = text+6(4).
CONCATENATE c_year c_month c_date INTO c_date_combined.
date = c_date_combined.
ENDFUNCTION.
Could experts here tell me what's wrong and also tell me on how to debug a transfer rule during data load?
Thankshey Bhanu/AHP,
I find the reason. Originally, I set the character length for the date InfoObject ZCHARDAT1 to 9, then I find the date field value (12/18/1988)length is 10. Then I modified the InfoObject ZCHARDAT1 length from 9 to 10 and activated it already. But when defining the transfer rule for this field, before the code screen, click the radio button "Selected Fields" and pick the filed /BIC/ZCHARDAT1, then continue to go to the transfer rule code screen, but find the declaration lines for the infoObject /BIC/ZCHARDAT1 is as following:
InfoObject ZCHARDAT1: CHAR - 000009
/BIC/ZCHARDAT1(000009) TYPE C,
That means even if I've modified the length to 10 for the InfoObject and activated it, but somehow the transfer rule code screen always takes the old length 9. Any idea to have it fixed to take the length 10 in the transfer rule code screen defination?
Thanks
Maybe you are looking for
-
Upgrade 9.2.0.6 to 9.2.0.8
My Current Environment is: Database: Oracle 9.2.0.6 RAC on RAW DIVICES. OS: AIX 5.1 Storage: Shark Applications: Cognos, Informatica, OTM 5.5 We are planing to upgrade as below: OS: AIX 5.1 -> AIX 5.3 Database: Oracle 9.2.0.6 -> 9.2.0.8 RAC on Raw Di
-
Auto Create Outbound Delivery and Shipment from IDoc
Hi Ppl, Currently, we have a transport company which handles all our transportation of goods to our customer. We develop a project, phase 1 which we automatically sends sales order in form of IDocs to our transport company and they in turn we send us
-
Photoshop CC - 3D objects all appear blue. Windows 7
On the left you see the result of making a 3d layer of the hat with a clean install of PhotoshopCC. On the right, exactly the same procedure in CS6. I'm looking forward to using the Generator features of PhotoshopCC, however this bug is a real showst
-
Is it mandatory to have NWDI for building custom classes in ISA.
Hi All In the development guide, I see that for extensions and modifications, we go through NWDI. But till ISA 4.0 we used the ANT Build tool. Can someone please help me out with extensions is CRM-R/3-ISA B2C applications. We are upgrading from ISA 4
-
Archck Unresolved snd symbols problems [solved]
Been gone for 2 weeks, come back, and BAM -- new kernel patchset, new DEVFS-free kernel version, new ati-drivers... lots to do. Anyhow, I've installed kernel26archck from [community], and everything's running fine except for sound. I'm getting alot