Debugging Method of a Custom BO used in WF.
Hi All,
This may be a very silly doubt ,but tried searching some existng threads but could'nt find a useful one for my issue.
I have created a custom BO in swo1 .Created some methods for fetching data form database.
I am triggering my event from a program using Swe_event FM at a point where I fill some details in a custom screen and once the SAVE button is clicked.
Here everything works fine , it triggers the event , eventually my workflow and I see the task in my SAP inbox too.
But my issue is ,I want to use the values entered in the screen in my WF decision,I knw I can write a COMMIT WORK statement .
I want to know if I can debug my method while executing the process.
If I tet run my method it stops at the Break points,but it never stops while I run the whole process.
I tried doing System debugging On , Update debuggng On , break wf-batch , break "my userid" .
Nothing works,i mean it doesnot stop.
Pls suggest a way for this,so that I can debug my methods at runtime.
Regards,
Krishna.
I am going into debugging mode .Thanks very much for that.
Now I am trying to Pass some field values into a container element by using the below statement.
in my ABAP program.
SWC_SET_ELEMENT t_cont 'L_DATE' WA_PROC01-SPPDAT.
where I am fetching a date value into the workarea wa_proc01.
L_DATE is my WF Container element and t_cont is of type swcont.
And while debugging the method I wrote in the method or the BO as below.
DATA :w_task TYPE swwwihead-wi_rh_task VALUE 'WS90600050'.
SWC_GET_ELEMENT t_cont 'L_DATE' WA_PROC01-SPPDAT.
CALL FUNCTION 'SAP_WAPI_READ_CONTAINER'
to read the values of the container at runtime.
But I dont see any container elements in there.
Pls let me knw where I am gettting wrong.
I did this much seeing some previous threads.
Regards,
Krishna.
Similar Messages
-
Change Customer Master using CMD_EI_API MAINTAIN_BAPI Method
Hi Experts,
I am using CMD_EI_API=>MAINTAIN_BAPI method for Creating Customer through Custom program. The Creation of Customer Master is working fine.
I have another requirement i need to perform the following for the Customer Change
1 . Delete all Phone , Fax and SMTP entries from the table and create a new entries for Customer.
2 . Delete a Contact Person based on the information from the legacy system.
I am facing problem in the above two issues
ADR2, ADR3 and ADR6 entries are retrieved for customer.
this values are populated and passed to the method with Task as 'D' - delete.
there is no error message from the Method. when i call commit statement
1 . the address details are not getting deleted in the tables
2. if a contact person is deleted then i am getting a short dump while commit.
Please help me if you know the details of MAINTAIN_BAPI method whic can be used for the Deletion purpose.
Thanks,
Shrikanth RHi Experts
I'm having the same problem it looks like the method maintain_bapi does not commit the new values, I debuged it and found a call to a badi lr_badi_update but I could not find information about it.
Any help will be appreciate
Leo -
Defining a customer method in start routine and using in char-routines
Hi,
can I define an own method in start routine and use this method in several routines for characteristics or key-figures?
If yes, can anybody give me a short description where to define the new method (e.g. in wich section of the start routine), where to implement the new method and how to use the new method in transformation of char or key-figures.
Thanks for your help
ThomasHi,
If you are looking for something like global method it is not possible. But you can create a function module in SE37 and you can use the same wherever you want.
Regards
Githen -
Custom NetStream using netConnection in LCCS
I want to send custom NetStream using LCCS service. I dont want to use LCCS components and Pods. I need netconnection for that. How can we do that.
Also is it possible to use methods like netconnection.call() to pass messages between LCCS connected users?Hi Ysong,
Please try posting your question to the ActionScript 3 forum: http://forums.adobe.com/community/flash/flash_actionscript3. It's the most appropriate forum for your question. You might also try the forums for Flash, Flash Builder, or Flex, depending on the authoring environment you are using to write your ActionScript code.
Thanks,
KALTechWriter -
Custom Extractor using FM for Delta Upload
Hi,
I created a Custom Extractor using FM for Full Upload. The requirement now is that it should be able to handle Delta also.
I used the standard FM RSAX_BIW_GET_DATA_SIMPLE to create my Z FM.
Please suggest me the changes I have to make in this to be able to upload Delta also.
Thanks
NageswaraHi Mahesh,
You can selectively load from BI side (through Infopackage) and for that you should have those selection field defined as ranges in your FM.
As per my genius friend Sidharth Gupta:
FM RSAX_BIW_GET_DATA_SIMPLE is a funct. Mod having a simple interface in which I_UPDMODE is not used. Actually FM RSAX_BIW_GET_DATA_SIMPLE is used for a full update and uses an F2 extraction method. However through ABAP we can try to make it delta capable like below.
*Declare
DATA I_UPDMODE.
Now to capture delta on AUDAT
I_UPDMODE = u2018 u2018.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'AUDAT'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_AUDAT.
I_UPDMODE = u2018 D u2019.
APPEND L_R_AUDAT.
ENDLOOP.
This code works however is not flexible as you do not use a CASE stmt on I_UPDMODE.
CASE stmt gives more flexibility which is used in FM RSAX_BIW_GET_DATA.
FM RSAX_BIW_GET_DATA is a funct. Mod having a complete interface in which I_UPDMODE is passed to funct mod during its call.FM RSAX_BIW_GET_DATA can be used for all update types and uses an F1 extraction method. However after writing the funct mod the default extraction method is F2 in table ROOSOURCE which needs to b changed to F1 for ur mod to work. This change from F2 to F1 can be done via test abap code.
Part two of that Article is yet to be published so wait for sometime or follow above mentioned approach.
Hope it helps.
Regards,
Ashish -
Custom extractors using function modules
Hey all
Does anyone has a document regarding how to <b>Develop Custom extractors using function modules?Step by step method would be great</b>
Also document regarding <b>CTS in BW?</b>
Appreciate it
ThanksHi,
See here:
Generic Extractors
Generic data sources
Generic DS
/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
Best regards,
Eugene -
Custom screen using BBP_CUF_BADI
Hi,
I am trying to call a custom screen using implementation of BADI, BBP_CUF_BADI.
I have written the following code in the implementation of the PUT_DATA method.
EV_REPID = 'Z_SCREEN'.
EV_DYNNR = '8888'.
The screen is not displayed. Also if you could tell me if the displayed screen will have the look and feel of GUI screen or the look and feel will be similar to the SRM screen in the web?
Thanks,
MickHi Yann,
John is doing a call screen in code. But when you do that you start a different memory process. Also with the code that I have written in the badi
EV_REPID = 'SAPLZCUST_SCREEN'.
EV_DYNNR = '8888'
the PBO of the screen gets executed but the screen is not displayed.
Please help!!!!!
Thanks,
Mick -
Error while invoking custom API using Database Adapter
Hi,
I've a requirement where in I need to fetch the data returned by a recordtype of a custom API. I've implemented this by invoking the custom API using Database Adapter. I'm facing a problem while performing this.
The custom API holds the signature as:
PROCEDURE EMP_DET
Argument Name Type In/Out Default?
P_DEPTNO NUMBER IN
L_LINE_TBL TABLE OF RECORD OUT
I've a schema with which it needs to be validated. It looks like:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:po="http://www.mycompany.com/ns/sales" targetNamespace="http://www.mycompany.com/ns/sales" elementFormDefault="qualified">
<element name="EmployeeDetails">
<complexType>
<sequence>
<element name="EmpNo" type="integer"/> <element name="EName" type="string"/> <element name="Job" type="string"/> <element name="Mgr" type="integer"/> <element name="HireDate" type="date"/> <element name="Sal" type="decimal"/> <element name="Comm" type="decimal"/> </sequence>
</complexType>
</element>
</schema>
I did a transformation to the above stated Emp.xsd with the xsd created for my custom API by the BPEL process. I could create the process and deploy successfully, but while invoking I get the following error. (I'm using BPM 10.1.3.1 with JDev 10.1.3.1)
<remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>6502</code>
</part><part name="summary"><summary>file:/D:/OraBPEL/bpel/domains/default/tmp/.bpel_my_poc_1.0_16c5d0f7b937c780d27d8975726a15cb.tmp/emp_details.wsdl [ emp_details_ptt::emp_details(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'emp_details' failed due to: Error while trying to prepare and execute an API.
An error occurred while preparing and executing the SCOTT.BPEL_EMP_DETAILS.EMP_PKG$EMP_DET API. Cause: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at line 1
[Caused by: ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at line 1
; nested exception is:
ORABPEL-11811
Error while trying to prepare and execute an API.
An error occurred while preparing and executing the SCOTT.BPEL_EMP_DETAILS.EMP_PKG$EMP_DET API. Cause: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at line 1
[Caused by: ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at line 1
Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
</summary>
</part><part name="detail"><detail>
Internal Exception: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
ORA-06512: at line 1
Error Code: 6502</detail>
</part></remoteFault>
Can someone let me know as to why I'm getting this error? Also lemme know if such an approach is valid to do, if not please suggest me alternate methods to do this.
Thanks in advance,
GayathriThe 'numeric or value error' is one we have seen many times. The problem has been identified and fixed. Refer to this thread for more information.
Issue with DB Adapter - ORABPEL-11811 -
Customer screen using BADI : ME_GUI_PO_CUST
Hi
I am implementing BADI : ME_GUI_PO_CUST to create custom screen at item level.
Pls tell me the steps to be followed to get custom screen using BADI
Thanks
Vinay.Hi Vinay,
go to transaction SE18, then enter your BADI.The in menu go to Goto -> Sample Code -> Display. You will see example of implementation of this BADI. All these examples are very well commented. Basically you will have to create your own function group with your new screen and call this screen from methods of BADI.
Cheers -
Using ms project 2007 and vba macro to list all the custom fields used in the project?
Hi,Using ms project 2007 vba macro, I would like to be able to list all the custom fields used in the project and their corresponding field names. e.g. let us say I create a calculated duration field and name it "expected duration" and the name
of the field I select is Duration1.
I am trying to write a macro that will list all the used custom fields such as the result would look like:
Duration1 ---> "expected duration"
Text1 ---> "anything"
Flag1 ---> "....."
Number1 ---> "..............."
Can anyone provide me with the solution?
Regards,
ChuckJohn,
I found this module, which provides the the list of custom fields used in the project but does not provide the name given to the field. Here below is the module and hope you could help me achieve this by modifying the macro to list the renamed field.
' MSP Checks all Custom Task Fields
Sub checkfields2()
'This macro will check and report out which custom task fields are used
'It requires Project 2002 and above as it relies on the GetField
'and FieldNameToFieldConstant methods which were not introduced until
'2002.
'It does not include resource fields, however it is a simple matter to
'do it by replacing the pjTask constant with pjResource.
'Copyright Jack Dahlgren, Oct. 2004
Dim mycheck As Boolean
Dim myType, usedfields As String
Dim t As Task
Dim ts As Tasks
Dim i, it As Integer
Set ts = ActiveProject.Tasks
usedfields = "Custom Fields used in this file" & vbCrLf
myType = "Text"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 30
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "" Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Number"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 20
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> 0 Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Duration"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If Left(ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)), 2) <> "0 " Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Cost"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> 0 Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Start"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "NA" Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Finish"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "NA" Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
MsgBox usedfields
End Sub
This is what the module gives me. But I would like to have beside Text 1 the name that is shown as below. e.g Text1 is "Test".
Would you mind helping me achieve this?
Thanks in advance.
Chuck -
How to Access Custom Event using AS3?
Hi All,
Maybe it's that its Monday morning and my brain is still foggy, but I can't seem to figure out how to set custom events using AS3.
I have a custom GridRow itemRenderer, and have declared the event using the appropriate metatags.
Then I create the GR item dynamically using AS3 instantiation, but the event is not available for selection in the intellisense drop-down.
Let's take the following as an example:
<?xml version="1.0" encoding="utf-8"?>
<mx:Grid
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:renderers="com.brassworks.renderers.*"
creationComplete="componentInit();"
>
<mx:Script>
<![CDATA[
private function componentInit():void
newRow :MyRow = new MyRow();
//newRow.myEvent is not an available option to set
]]>
</mx:Script>
</mx:Grid>
Then the itemRenderer:
<?xml version="1.0" encoding="utf-8"?>
<GridRow
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:classes="com.brassworks.components.classes.*"
creationComplete="componentInit();"
>
<mx:Metadata>
[Event(name="myEvent", type="flash.events.Event")]
</mx:Metadata>
<mx:Script>
<![CDATA[
private function itemChanged(event:Event):void
Alert.show("test");
this.dispatchEvent(new Event("myEvent"));
]]>
</mx:Script>
<mx:GridItem>
<mx:TextInput
change="itemChanged"
/>
</mx:GridItem>
</GridRow>
How do I go about setting the handler method for custom events on instantiated items? Do I need to do this via the AddEventListener() method? Does this mean that events aren't exposed in ActionScript like they are in MXML? (In MXML all I have to do is <MyRow myEvent="handler(event)" />.)
Thanks!
-MikeYes, I you need to do this via the addEventListener() method.
myRow.addEventListener( "myEvent", myHandler );
I hope that helps.
Ben Edwards -
How to call standard SAP method in the Custom Program ?
Hi,
i need to call sap standard method 'OpenItemRollinout' in my custom program. For the SAP Standard method 'OpenItemRollinoun' the BOR(Business Object) is 'PAYSCHEME'. So how to call the SAP standard method in the custom program ???Hi,
In the method that you have provided only one function module is being used so better use the FM and copy the remaining code based on ur requirement.
FM is ISU_S_PAYSCHEME_ROLLIN_ROLLOUT.
Regards,
Vijay. -
Working with Custom SQL Using Descriptor Query Manager Queries
Hi All,
I am Working on Descriptor Query Manager Queries
Configuring Custom SQL Using Java and Workbench
Using Java I wrote a static method as in the code given below.
public static void insertEmployee(ClassDescriptor descriptor){
descriptor.getQueryManager().setInsertSQLString(
"insert into EMPLOYEE (EMP_ID, EMP_NAME, EMP_JOB, SAL, DEPTNO) values (#EMP_ID, #EMP_NAME, #EMP_JOB, #SAL, #DEPTNO)"
I wrote a insert SQL Query in the custom SQL tab of the Toplink workbench .
Using java and Using Toplink Workbench I had a problem how to call this insert query in the sessionEJBBean .
Can any one suggest me in this regard.
Thanks in advance
regards,
SatishWhat is the problem you are experiencing?
Normally you can just execute the query by calling
'executeQuery(queryName, domainclass) on the session.
See also
http://www.oracle.com/technology/products/ias/toplink/
doc/10131/main/_html/qrybas003.htm#BCFIBGGJ
Just out of curiosity: why do you need a custom SQL
to insert something? Can't you use persist()?
regards,
LonnekeOr even UnitOfWork ? Why go down the route of using custom inserts to insert objects unless you have some business logic that Toplink's UnitOfWork API cannot provide ? -
Need a table which all custom tables used in the program
HI to all experts.
I need a table which contains all the custom table used in the program . Or any other method which can accomplish this.hi max,
thanks for u r reply . if we use the statement tables in the report and write some tables
for example: tables: zf020
zf023
is there any table which stores this . -
Calling method of a custom infotype from ABAP
Hi Experts,
I am working on an application where i need to call a method of a custom defined infotype.
I have done this -->
1. Create a custom infotype 9111
2. SAP creates a class of that infotype ZCL_HRPA_INFOTYPE_9111
3. Inside this method there are few inherited method which provide me functionality of insert , update , delete
i want to call methods IF_HRPA_INFTY_BL~MODIFY,
IF_HRPA_INFTY_BL~INSERT
However when i call these method from abap report this method does not work.
where as when i try to insert an entry using PA30 transaction it works.
Does anyone know why does this happen and what is the solution?
Regards,
Ashish ShahHad the same problem (probably copied from the same program). The answer is that you need to commit the work at the end using something like
* Commit
CALL METHOD busilog->flush
EXPORTING
no_commit = space.
Here is an example of my code for IT0002 which works.
*& Report Z_TEST2
REPORT z_test2.
DATA: a_masterdata_bl TYPE REF TO if_hrpa_masterdata_bl,
p0002 TYPE p0002,
lo_0002 TYPE REF TO cl_hrpa_infotype_0002,
ls_p0002_ref TYPE REF TO data,
container_tab TYPE hrpad_infty_container_tab,
container TYPE REF TO if_hrpa_infty_container,
message_handler TYPE REF TO cl_hrpa_message_list,
infotype_logic TYPE REF TO if_hrpa_infty_bl,
update_mode TYPE hrpad_update_mode VALUE 'XXX',
lt_0002_container TYPE REF TO cl_hrpa_infotype_container,
key TYPE pskey,
l_is_ok TYPE boole_d.
FIELD-SYMBOLS <p0002> TYPE p0002.
* get business logic from masterdata factory
CALL METHOD cl_hrpa_masterdata_factory=>get_business_logic
IMPORTING
business_logic = a_masterdata_bl.
* CATCH cx_hrpa_violated_assertion .
*ENDTRY.
*TRY.
CALL METHOD a_masterdata_bl->read
EXPORTING
tclas = 'A'
pernr = '508'
infty = '0002'
begda = sy-datum
endda = sy-datum
no_auth_check = 'X'
message_handler = message_handler
IMPORTING
container_tab = container_tab
is_ok = l_is_ok
* CATCH cx_hrpa_violated_assertion .
*ENDTRY.
READ TABLE container_tab INTO container INDEX 1.
lt_0002_container ?= container.
TRY.
CALL METHOD lt_0002_container->primary_record_ref
IMPORTING
pnnnn_ref = ls_p0002_ref.
CATCH cx_hrpa_violated_assertion.
ENDTRY.
ASSIGN ls_p0002_ref->* TO <p0002>.
MOVE-CORRESPONDING <p0002> TO key.
break stantric.
<p0002>-vorna = 'Rick'.
container ?= lt_0002_container->modify_primary_record( <p0002> ).
TRY.
CREATE OBJECT lo_0002
EXPORTING
tclas = 'A'
infty = '0002'.
CATCH cx_hrpa_violated_assertion .
ENDTRY.
CREATE OBJECT message_handler.
TRY.
CALL METHOD lo_0002->get_specific_bl
EXPORTING
versionid = '01'
tclas = 'A'
pskey = key
IMPORTING
infotype_logic = infotype_logic.
CATCH cx_hrpa_violated_assertion .
ENDTRY.
TRY.
CALL METHOD infotype_logic->modify
EXPORTING
old_container = lt_0002_container
massn = space
massg = space
update_mode = update_mode
no_auth_check = 'X'
message_handler = message_handler
IMPORTING
is_ok = l_is_ok
CHANGING
container = container.
CATCH cx_hrpa_violated_assertion .
ENDTRY.
* Commit
CALL METHOD a_masterdata_bl->flush
EXPORTING
no_commit = space.
Maybe you are looking for
-
I want to buy a iMac in Ireland with a PT keyboard
Hi All, I am looking to purchase a iMac from the Ireland Apple store. However, because I write in multiple languages besides english, my best fit is a Portuguese keyboard. After going thru the IE website, which only has British, US, French and German
-
Calendar no longer expands panel to edit event date/time
This issue just occurred out of the blue. When editing event details in the calendar, I click on the date/time panel to edit the date/time/repeat/etc. The expected action is for that panel to expand and be scrollable. What it is doing now is showing
-
I Purchased a book in iBooks on my iPad air with all updates complete 8.0.2 and the book is listed under purchased and will not open to view
-
Displaying Customer Date-Fields in SRM 4.0
Hallo, I want to display a customer date-field (data type DATS) in the basic data of a SC. The Problem is that the field is only displayed, but you can't enter any data. When i change the data type to CHAR you can enter Data in the field. Can anyone
-
Syncing Photos from different folders...?
I know it never worked in the beginning-but has someone found a way to sync photos not from only one folder but from different folders to the ipod? something like a photo playlist...?