Handling condition
Hi Gurus!
In my present code it is able to handle the list price i.e showing '01''s.
I would like to do something like this :-
we can only have 1 item for the billing document #/item # combination
otherwise the net values and quantities will be exaggerated.
The logic should be to read through the conditions and display in
the report the u201Clastu201D condition only. So, if list price(01),
read all and only show the last one with the 01 for list.
When it is Off List, as soon as you hit a record in the loop
that makes it Off List(02), no need to read any further and just
keep that condition with 02 for off list. End result is only 1 record.
We have some odd conditions that are considered u201Cactiveu201D(konv-kinak),
but donu2019t have any value yet show up in the conditions that we would loop through.
Need to add logic to NOT consider these condition records when
the Condition Value (KOMV-KWERT) = $0.00. The 02 this should
apply to are ZPTM and ZDSP. We cannot exclude anything that is
$0 as there are times when they produce a $0 list price(01) invoice
for customers and that may be the only condition.
data: lv_kotabnr type c length 15.
types: begin of it_konv ,
kinak type konv-kinak,
kschl type konv-kschl,
kolnr type konv-kolnr,
end of it_konv,
begin of it_t685 ,
kozgf type t685-kozgf,
end of it_t685,
begin of it_t682i,
kotabnr type t682i-kotabnr,
kolnr type t682i-kolnr,
kozgf type t682i-kozgf ,
end of it_t682i ,
begin of it_price ,
ZPRICE_TYPE type zsd_price_type-ZPRICE_TYPE,
end of it_price .
DATA: t_konv type table of it_konv, "Internal table
wa_konv type it_konv, "Work Area
t_t685 type table of it_t685,
wa_t685 type it_t685,
t_t682i type table of it_t682i,
wa_t682i type it_t682i,
t_price type table of it_price,
wa_price type it_price. " replace ',' with '.'
refresh t_konv.
select KINAK
KSCHL
KOLNR
from konv
into table t_konv
where kinak = ' '
and knumv eq vbrk-knumv
and kposn eq vbrp-posnr .
check not t_konv is initial.
refresh t_t685.
select kozgf
into table t_t685
from T685
for all entries in t_konv
where kappl = 'V'
and kschl = t_konv-kschl.
if sy-subrc eq 0.
refresh t_t682i.
Loop at t_konv into wa_konv.
Loop at t_t685 into wa_t685.
move : wa_konv-kolnr to wa_t682i-kolnr,
wa_t685-kozgf to wa_t682i-kozgf.
append wa_t682i to t_t682i.
endloop.
endloop.
select kotabnr
kolnr
kozgf
into table t_t682i
from T682I
for all entries in t_t682i
where kappl = 'V'
and kolnr eq t_t682i-kolnr
and kozgf eq t_t682i-kozgf.
if sy-subrc eq 0.
select zprice_type
into v_list from zsd_price_type
where kotabnr = wa_t682i-kotabnr .
exit.
endselect.
endif.
endif.
. Thanks
This returns all values for that field as 00.
data: lv_kotabnr type c length 15.
types: begin of it_konv ,
kinak type konv-kinak,
kschl type konv-kschl,
kolnr type konv-kolnr,
end of it_konv,
begin of it_t685 ,
kozgf type t685-kozgf,
end of it_t685,
begin of it_t682i,
kotabnr type t682i-kotabnr,
kolnr type t682i-kolnr,
kozgf type t682i-kozgf ,
end of it_t682i ,
begin of it_price ,
ZPRICE_TYPE type zsd_price_type-ZPRICE_TYPE,
end of it_price .
DATA: t_konv type table of it_konv, "Internal table
wa_konv type it_konv, "Work Area
t_t685 type table of it_t685,
wa_t685 type it_t685,
t_t682i type table of it_t682i,
wa_t682i type it_t682i,
t_price type table of it_price,
wa_price type it_price.
refresh t_konv.
select KINAK
KSCHL
KOLNR
from konv
into table t_konv
where kinak = ' '
and knumv eq vbrk-knumv
and kposn eq vbrp-posnr .
check not t_konv is initial.
refresh t_t685.
select kozgf
into table t_t685
from T685
for all entries in t_konv
where kappl = 'V'
and kschl = t_konv-kschl.
if sy-subrc eq 0.
refresh t_t682i.
Loop at t_konv into wa_konv.
Loop at t_t685 into wa_t685.
move : wa_konv-kolnr to wa_t682i-kolnr,
wa_t685-kozgf to wa_t682i-kozgf.
append wa_t682i to t_t682i.
clear: wa_t682i.
endloop.
endloop.
if not t_t682i[] is initial.
select kotabnr
kolnr
kozgf
into table t_t682i
from T682I
for all entries in t_t682i
where kappl = 'V'
and kolnr eq t_t682i-kolnr
and kozgf eq t_t682i-kozgf.
if sy-subrc eq 0.
if not t_t682i[] is initial.
select ZPRICE_TYPE into table t_price
from zsd_price_type for all entries in t_t682i
where kotabnr = t_t682i-kotabnr
and ( zprice_type = '01' or zprice_type = '02' ).
v_list = wa_price-zprice_type.
Loop at t_price into wa_price where ZPRICE_TYPE EQ Space.
exit.
endloop.
endif.
endif.
endif.
endif.
Thanks
Similar Messages
-
Handling Conditions for Add/Copy/Insert Rows
Insert Row, Copy Row Contents etc. get trapped in the "Data Change" Event.
My requirement is as follows,
When the user clicks on Add Row (from the toolbar). I have to display a Pop up, and accept an input. If the the input at the Pop up screen is valid, according to standard ALV functionality, a new row is inserted into the displayed table. BUT if the user input at the pop up is invalid, I need to exit the event WITHOUT inserting a new row.
I have been able to display the pop up, accept user input and validate it, within the Data Change event. But I am unable to exit the event without a new row being added.
I have tried manipulating the imported attributes (example clearing them etc) of the Data Change event, like good_cells, mod_cells etc. But even then a new row gets inserted into the display table.
Can you please give me a solution?Hi Prasanjit,
sorry that i couldn't get abck to you soon.
see in general the ON_DATA_CHANGED event will get fired for the following conditions :
1) when you double click on a particluar row
2) when press F4 and choose a value
3) when you enter a value and DBLclick on the same.
In your case if you click on ADD rows and if you find that it triggers this event then you shoe your POP-up screen and ask the user for the accept or reject. based on his answer you set a flag(global) which will be used to add rows. once if this flag is set then call your screen used for ALV(OO-ALV).
Now in the PBO of this screen you check this flag as whether it is set or not, if set then add a blank row to your output internal table passing to ALV and clear this flag.
following changes to the code needs to be made :
METHOD on_data_changed.
DATA: is_cells TYPE lvc_s_modi.
do your necessary pop-up application and set the flag *** based on the user's approval.
if user apporves then
ws_flg_add = 'X'.
endif.
if ws_flg_add eq 'X'.
call screen 200.
endif.
endmethod.
Now in the PBO of the screen 200 do the necessary changes:
if my_container is initial.
called when the screen is called for the first time
create object my_container exporting container_name = 'CONTAINER'.
create object my_application.
SET HANDLER lcl_event=>on_f4 FOR ALL INSTANCES.
SET HANDLER lcl_event=>on_data_changed FOR ALL
INSTANCES.
call method my_application->display.
else.
called when the event gets trigerred.
call method my_application->display.
endif.
inside the method display i have checked the field and added a new row to the output table.
method display.
prepare fieldcatalog
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'EGERH'
CHANGING
ct_fieldcat = gt_fieldcat.
CALL METHOD my_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
added a extra row.
if ws_flg_add eq 'X'.
clear gs_outtab.
append gs_outtab to gt_outtab.
clear ws_flg_add.
endif.
set table for first display
CALL METHOD my_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'EGERH'
is_layout = gs_layout
CHANGING
it_outtab = gt_outtab[]
it_fieldcatalog = gt_fieldcat.
endmethod.
this was a simple way and there are some other options.
Regards,
Jagath. -
Handling conditional statements in design view
I have to use conditional statements for proper cross browser
compatability but the design view of Dreamweaver isn't showing
anything. Here is the code:
quote:
<!--[if !IE]>--><!--#include file="header.html"
--><!--<![endif]-->
<!--[if gt IE 6]><!--#include file="header.html"
--><![endif]-->
<!--[if lte IE 6]><!--#include file="headerie.html"
--><![endif]-->
I would think that Dreamweaver would load the first one, or
perhaps there is a setting to tell design view to function as a
particular browser.
Does this exist?http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1564018#
Ken Ford
Adobe Community Expert Dreamweaver/ColdFusion
Adobe Certified Expert - Dreamweaver CS3
Adobe Certified Expert - ColdFusion 8
Fordwebs, LLC
http://www.fordwebs.com
"justin_pdx" <[email protected]> wrote in
message
news:gdtdqe$pi2$[email protected]..
>I have to use conditional statements for proper cross
browser compatability
>but
> the design view of Dreamweaver isn't showing anything.
Here is the code:
>
>
quote:
> <!--[if !IE]>--><!--#include
file="header.html" --><!--<![endif]-->
> <!--[if gt IE 6]><!--#include
file="header.html" --><![endif]-->
> <!--[if lte IE 6]><!--#include
file="headerie.html" --><![endif]-->
>
>
> I would think that Dreamweaver would load the first one,
or perhaps there
> is a
> setting to tell design view to function as a particular
browser.
>
> Does this exist?
> -
Can I export just the "show" conditional text to a mif?
When I export a document with conditional text to a pdf, just the conditional text that is set to "show" (and the unconditional text) appears in the pdf. That's good, but I want the same thing when exporting a mif. There are two reasons for this:
(1) We have an in-house tool that parses a mif and extracts data from certain tables to populate a database. The tool doesn't parse pdfs. And the tool won't always handle conditional text correctly, particularly conditional text table rows. The tool would work fine if the conditional text were already "resolved" during the export to mif.
(2) I'd like to use the Boolean logic for conditional text that is available in FM9, but I need to furnish files to other groups in the company that use FM7. Their FM7 wouldn't display conditional text properly if it depended on anything other than OR logic. But they would be happy to accept mif files that didn't have any conditional text because it had been "resolved" when I generated a mif7 file for them.
I've tried various ways to convert a pdf into a mif file, but no process seems to preserve the formatting and the editable text. I'd be willing to accomplish this in some round-about fashion involving Framemaker, Acrobat Pro and/or some other tool.
But the happiest outcome for me would be to discover that FM9 already has the ability to export just the "show" conditional text and the unconditional text to a mif.
Or can this be done by making a copy of the document and then somehow automating the deletion of the "hide" conditional text and the conversion of the "show" conditional text to unconditional?Or can this be done by making a copy of the document and then somehow automating the deletion of the "hide" conditional text and the conversion of the "show" conditional text to unconditional?
Writing a custom script to filter the MIF to parse out the conditions is non-trivial. You can try a Google search for an existing filter or script that does the job. However, if there is no such thing, then you're on the right track, getting FM to do the hard part - filtering the conditionalized content correctly. For example:
* In a copy of the original file, delete the condition(s) you want to hide; during the deletion, you have the option to delete the corresponding text. Then save as MIF to a descriptive name, or save as .fm to a new name, then open and save that file as MIF. Close the source file without saving.
* Reopen the source file and do the same process from this fresh instance, deleting the condition(s) you want to show. Save as above.
* Within FM itself, however, there's no way to automate this process. With one of the free FM utilities - dobatch from cudspan, or dzbatcher from datazone - you can script opening and saving an FM file as MIF. Search Google for dobatch, cudspan, dzbatcher, or datazone.
* To automate setting the conditions, a keystroke-macro recorder might serve, otherwise you'd need the commercial FrameScript product, and a customized script if there's no existing script for this purpose. For FrameScript info, check with Rick Quattro at frameexpert.com.
* If you're using Structured FrameMaker and have the expertise available to customize an EDD, you could take advantage of the "filter by attribute" feature, but it's not trivial to adopt Structured FM just for this narrowly-focused need.
HTH
Regards,
Peter Gold
KnowHow ProServices -
Urgent : 11g Fault Policy Java Handler
Im trying to use fault policies in 11g and in fault policies want to catch the remote faults and pass it to a custom java handler.
in Custom Handler use IFaultRecoveryJavaClass and also BPELFaultRecoveryContextImpl , i want to pick fault information
and pass store it in DB...
i placed the client jar file in <Oracle_HOME>\user_projects\domains\base_domain\lib
Duuring runtime the server is able to Pick the IFaultRecoveryJavaClass but not BPELFaultRecoveryContextImpl
is there anything im missing ?
As per oracle documentation in Fault Handling in BPEL form SOA developer guide ..
public class TestJavaAction implements IFaultRecoveryJavaClass {
public void handleRetrySuccess(IFaultRecoveryContext ctx) {
System.out.println("This is for retry success");
handleFault(ctx);
public String handleFault(IFaultRecoveryContext ctx) {
System.out.println("-----Inside handleFault-----\n" + ctx.toString());
dumpProperties(ctx.getProperties());
/* Get BPEL specific context here */
BPELFaultRecoveryContextImpl bpelCtx = (BPELFaultRecoveryContextImpl) ctx;
bpelCtx.addAuditTrailEntry("hi there");
System.out.println("Policy Id" + ctx.getPolicyId());
please find the Fault Policy and Custom Java Class
please see may fault policy below..
=====================================================================================================================
<?xml version="1.0" encoding="UTF-8"?>
<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<faultPolicy version="2.1.3" id="ConnectionFaults">
<Conditions>
<!-- Remote Fault Handler -->
<faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:remoteFault">
<condition>
<action ref="technical-fault-handler"/>
</condition>
</faultName>
</Conditions>
<Actions>
<!-- Human Intervention -->
<Action id="ora-human-intervention">
<humanIntervention/>
</Action>
<!-- Technical Fault Action -->
<Action id="technical-fault-handler">
<javaAction className="com.FaultHandler"
defaultAction="ora-human-intervention" propertySet="TechnicalProps">
<returnValue value="OK" ref="ora-human-intervention"/>
</javaAction>
</Action>
</Actions>
<Properties>
<!-- Properties for Technical Errors -->
<propertySet name="TechnicalProps">
<property name="logFileName">techinical-faults.log</property>
<property name="logFileDir">c:\tmp\log</property>
<property name="ErrorType">Technical</property>
</propertySet>
</Properties>
</faultPolicy>
</faultPolicies>
Custom Java Handler ..
=====================================================================================================================
import java.io.File;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Map;
==============================================================
// SOA Runtime fabric-runtime.jar Available with SOA Runtime Libraries
==============================================================
import oracle.integration.platform.faultpolicy.IFaultRecoveryContext;
import oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass;
==============================================================
// BPEL Runtime orabpel.jar Available with BPEL Runtime Libraries
==============================================================
import com.collaxa.cube.engine.fp.BPELFaultRecoveryContextImpl;
public class FaultHandler implements IFaultRecoveryJavaClass {
public FaultHandler() {
super();
public void handleRetrySuccess(IFaultRecoveryContext ifc) {
print("RertySuccess");
public String handleFault(IFaultRecoveryContext ifc) {
print("Handle Fault");
Map<String,ArrayList> props = ifc.getProperties();
for (Map.Entry<String,ArrayList> entry: props.entrySet()){
print (entry.getKey() + " = " + entry.getValue().get(0));
String logFileName = (String) props.get("logFileName").get(0);
String logFileDir = (String) props.get("logFileDir").get(0);
String ErrorType = (String) props.get("ErrorType").get(0);
PrintStream ps = null;
try
ps = new PrintStream(logFileDir + File.separator + logFileName);
catch (Exception e) {
print(e.getMessage());
System.out.println( "Fault Details");
System.out.println("===============================================================");
System.out.println("Fault Type ................ " + ifc.getType());
System.out.println("Poilcy ID ................. " + ifc.getPolicyId());
System.out.println("Faulted Partner Link ...... " + ifc.getReferenceName());
System.out.println("Error Type ...... " + ErrorType);
System.out.println("Port Type ................. " + ifc.getPortType());
try {
BPELFaultRecoveryContextImpl bpelCtx = (BPELFaultRecoveryContextImpl) ifc;
System.out.println("BPEL Context + getActivityName" + bpelCtx.getActivityName());
System.out.println("BPEL Context + getActivityType" + bpelCtx.getActivityType());
System.out.println("BPEL Context + getComponentInstanceId" + bpelCtx.getComponentInstanceId());
System.out.println("BPEL Context + getComponentInstanceId" + bpelCtx.getComponentInstanceId());
System.out.println("BPEL Context + getCompositeName" + bpelCtx.getCompositeName());
System.out.println("BPEL Context + getECID" + bpelCtx.getECID());
System.out.println("BPEL Context + getFault" + bpelCtx.getFault());
System.out.println("BPEL Context + getFault" + bpelCtx.getProcessDN());
catch (Exception ee){
System.out.println("BPEL Context + Exception" + ee.getMessage());
return "OK";
Error Log ..
=====================================================================================================================
Caused by: com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}runtimeFault}
parts: {{
summary=<summary>com/collaxa/cube/engine/fp/BPELFaultRecoveryContextImpl</summary>
,detail=<detail>java.lang.NoClassDefFoundError: com/collaxa/cube/engine/fp/BPELFaultRecoveryContextImpl
at com.FaultHandler.handleFault(FaultHandler.java:56)
at com.collaxa.cube.engine.fp.RecoveryActionJava.execute(RecoveryActionJava.java:67)
at com.collaxa.cube.engine.fp.BPELRecoverFault.recover(BPELRecoverFault.java:87)
at oracle.fabric.CubeServiceEngine.recoverFault(CubeServiceEngine.java:1589)
at oracle.integration.platform.faultpolicy.RecoverFault.recoverAndChain(RecoverFault.java:149)
at oracle.integration.platform.faultpolicy.RecoverFault.resolveAndRecover(RecoverFault.java:112)
at oracle.integration.platform.faultpolicy.FaultRecoveryManagerImpl.resolveAndRecover(FaultRecoveryManagerImpl.java:121)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.resolveAndRecover(BPELInvokeWMP.java:1170)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__handleException(BPELInvokeWMP.java:1111)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__callback(BPELInvokeWMP.java:626)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.handleNormalInvoke(BPELInvokeWMP.java:465)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:182)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:140)
at com.collaxa.cube.engine.CubeEngine._performActivity(CubeEngine.java:2675)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2558)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1256)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:188)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:285)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4607)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:828)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:610)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy184.handleInvoke(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.handleInvoke(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:241)
at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:34)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:139)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
</detail>I tried bundling the jar file but still it is not able to pick up the class and throws the same exception. please find the following code which i tried to use to pick up the remote fault.
System.out.println( "Fault Details");
System.out.println( "===============================================================");
System.out.println( "Fault Type ................ " + ifc.getType());
System.out.println( "Poilcy ID ................. " + ifc.getPolicyId());
System.out.println( "Faulted Partner Link ...... " + ifc.getReferenceName());
System.out.println( "Error Type ...... " + ErrorType);
System.out.println( "Port Type ................. " + ifc.getPortType());
BPELFaultRecoveryContextImpl bpelCtx = (BPELFaultRecoveryContextImpl) ifc;
System.out.println("BPEL Context + getActionId" + bpelCtx.getActionId());
System.out.println("BPEL Context + getActivityName" + bpelCtx.getActivityName());
System.out.println("BPEL Context + getActivityType" + bpelCtx.getActivityType());
System.out.println("BPEL Context + getComponentInstanceId" + bpelCtx.getComponentInstanceId());
System.out.println("BPEL Context + getCompositeName" + bpelCtx.getCompositeName());
System.out.println("BPEL Context + getECID" + bpelCtx.getECID());
System.out.println("BPEL Context + getFault" + bpelCtx.getFault());
System.out.println("BPEL Context + getFault" + bpelCtx.getProcessDN());
If you have any working example can you please pass the code. my emailid is [email protected]
Edited by: lakshmi nadh on Jul 27, 2009 3:39 AM -
Can SOA 11g fault policy handle XSD Validation errors from the Mediator?
I would like all errors in my SOA process to go through the fault-policies.xml. But I don't seem to be able to catch any mediator error caused by an XSD validation failure. A sample of the sort of error I am trying to 'catch' is:
Nonrecoverable System Fault oracle.tip.mediator.infra.exception.MediatorException: ORAMED-01303:[Payload default schema validation error]XSD schema validation fails with error Invalid text 'A' in element: 'TermCode'Possible Fix:Fix payload and resubmit.
My fault-policies.xml file is as follows:
<?xml version="1.0" encoding="UTF-8" ?>
<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
<faultPolicy version="2.0.1"
id="NewStudentRegistrationFaults"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Conditions>
<faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
<faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:GetNewStudentRegistrationFile">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
<faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:TYPE_ALL">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
<faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:mediatorException">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
<faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:bindingFault">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
<faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:remoteFault">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
</Conditions>
<Actions>
<Action id="java-fault-handler">
<javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
<returnValue value="OK" ref="ora-human-intervention"/>
</javaAction>
</Action>
<!-- Human Intervention -->
<Action id="ora-human-intervention">
<humanIntervention/>
</Action>
<!-- Terminate -->
<Action id="ora-terminate">
<abort/>
</Action>
</Actions>
<!-- Property sets used by custom Java actions -->
<Properties>
<!-- Property set for FaultNotificationHandler customer java action -->
<propertySet name="faultNotificationProps">
<property name="from">[email protected]</property>
<property name="to">[email protected]</property>
<property name="subject">Reporting a SOA fault</property>
</propertySet>
</Properties>
</faultPolicy>
<faultPolicy version="2.0.1"
id="MediatorFaults"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Conditions>
<faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
</Conditions>
<Actions>
<Action id="java-fault-handler">
<javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
<returnValue value="OK" ref="ora-human-intervention"/>
</javaAction>
</Action>
<!-- Human Intervention -->
<Action id="ora-human-intervention">
<humanIntervention/>
</Action>
<!-- Terminate -->
<Action id="ora-terminate">
<abort/>
</Action>
</Actions>
<!-- Property sets used by custom Java actions -->
<Properties>
<!-- Property set for FaultNotificationHandler customer java action -->
<propertySet name="faultNotificationProps">
<property name="from">[email protected]</property>
<property name="to">[email protected]</property>
<property name="subject">Reporting a SOA rejected msg. fault</property>
</propertySet>
</Properties>
</faultPolicy>
</faultPolicies>
My fault-bindings.xml file is as follows:
<?xml version="1.0" encoding="UTF-8" ?>
<faultPolicyBindings version="2.0.1"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<composite faultPolicy="NewStudentRegistrationFaults"/>
<component faultPolicy="MediatorFaults">
<name>NewStudentRegistrationMediator</name>
</component>
<service faultPolicy="NewStudentRegistrationFaults">
<name>GetNewStudentRegistrationFile</name>
</service>
</faultPolicyBindings>
You'll notice that I've tried a number of ways (and various other combinations) to try to steer the error above into my Java fault handler but nothing has meet with success. The mplan is as follows:
<?xml version = '1.0' encoding = 'UTF-8'?>
<!--Generated by Oracle SOA Modeler version 1.0 at [2/3/10 1:21 PM].-->
<Mediator name="NewStudentRegistationMediator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/sca/1.0/mediator"
wsdlTargetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Experiments/NewStudentRegistration/GetNewStudentRegistrationFile%2F">
<operation name="Get" deliveryPolicy="AllOrNothing" priority="4"
validateSchema="true">
<switch>
<case executionType="queued" name="RegToBanner.insert_2">
<action>
<transform>
<part name="$out.NewstudentregistrationCollection"
function="xslt(xsl/NewStudentRegistration_To_NewstudentregistrationCollection.xsl, $in.body)"/>
</transform>
<invoke reference="RegToBanner" operation="insert"/>
</action>
</case>
</switch>
</operation>
</Mediator>
I'm a newbie to Oracle SOA. So perhaps I am missing the obvious. But I haven't read much in the documentation specifically about using the XSD validation option on the mediator and have seen nothing specifically about catching this sort of exception in the fault policy (apart from the faults I already have in my policy). Can anyone suggest what I am doing incorrectly here or perhaps whether what I am attempting to do is not possible? Thanks.
- CrisHas anyone got it working yet?
In my case, I have the following sequence:
FileAdapter -> Mediator1 -> Mediator2->DB Adapter
I am deliberately introducing validation error in File. Isn't it correct to assume Fault framework would get triggered at Mediator1 level since we are invoking FileAdapter service?
I am getting a strange behaviour. If I enable XSD validation at Mediator1 level, process is Faulted with no re-try option. However, if I enable XSD validation ONLY at Mediator2 level, I get Recoverable fault. There seems to be some disconnect between documentation and reality. I am using JDeveloper 11.1.1.3.0 version and SOA Suite 11g.
Thanks,
Amjad. -
Mediator 11.1.1.5 faults Java Handler not getting called fault-policies
Hi,
I have a Oracle SOA 11.1.1.5 Mediator and am handling the faults using fault policies but somehow custom java handler is not invoked when an error occurs and this is what I see in the log but somehow my custom java handler class is not getting called.
INFO: FaultPoliciesParser.parsePolicies ------->Begin Parsing of policy file
<Apr 16, 2012 10:30:17 PM EDT> <Error> <oracle.soa.mediator.common.listener> <BE
A-000000> <Enququeing to Error hospital successful...>Here is the fault-policies.xml
<?xml version="1.0" encoding="UTF-8"?>
<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
<faultPolicy version="2.0.1" id="medFaultHandling"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Conditions>
<faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
name="bpelx:remoteFault">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
<faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
name="bpelx:bindingFault">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
<faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
name="bpelx:runtimeFault">
<condition>
<action ref="java-fault-handler"/>
</condition>
</faultName>
</Conditions>
<Actions>
<Action id="java-fault-handler">
<javaAction className="com.mediator.faults.CustomMediatorFaultHandler"
defaultAction="ora-human-intervention" propertySet="myMediatorProps">
<returnValue value="OK" ref="ora-human-intervention"/>
</javaAction>
</Action>
<Action id="ora-human-intervention">
<humanIntervention/>
</Action>
<Action id="ora-rethrow-fault">
<rethrowFault/>
</Action>
<Action id="ora-retry">
<retry>
<retryCount>3</retryCount>
<retryInterval>15</retryInterval>
<exponentialBackoff/>
<retryFailureAction ref="java-fault-handler"/>
</retry>
</Action>
</Actions>
<Properties>
<propertySet name="myMediatorProps">
<property name="logFileName">mediator-faults.log</property>
<property name="logFileDir">C:/software</property>
</propertySet>
</Properties>
</faultPolicy>
</faultPolicies>Here is my the fault-bindings.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<faultPolicyBindings version="2.0.1"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<composite faultPolicy="medFaultHandling"/>
</faultPolicyBindings>And here is the snippet of composite.xml where I put the below properties:
<component name="Router">
<implementation.mediator src="Router.mplan"/>
<property name="oracle.composite.faultPolicyFile">fault-policies.xml></property>
<property name="oracle.composite.faultBindingFile">fault-bindings.xml></property>
</component>But when the exception occurs I don't see my custom Java Handler being invoked. As I created a jar file and placed it in
*<Middleware_Home>\Oracle_SOA1\soa\modules\oracle.soa.mediator_11.1.1*
and updated oracle.soa.mediator.jar manifest by putting the path of the jar file. Restarted the servers but still when an exception occurs in Mediator custom java handler is not invoked. Any ideas what I am missing or are there any special steps
ThanksThere is no point in retry on binding fault, rather you can raise it as exception and catch it in sepcific catch block or catch all will handle it.
Ideally this particular instance will be faulted and if required you can customize to send a mail with fault string to developer or support person or dba
This type of fault need human intervension to fix this code or it could be data issue.
- It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
Thanks,
Vijay -
Conditions on Outer Joined Tables
I'm trying to understand how Discoverer handles conditions created on outer joined tables. We're using Discoverer Plus 11.1.1.3.
I have a query using two tables connected by an outer join. While I want all records back from the first table, I don't want all records back from the outer joined table. So, if I typed the SQL directly in a SQL Editor, I would put the '(+)' in each condition. However, I find that in Discoverer, sometimes it does this, and sometimes it doesn't. If it does not put the '(+)' on all conditions as well as the join, that essentially nullifies the outer join and makes it an standard join.
For example, I expanded an item on the outer joined table in the Items dialog to see its list of values, and selected one, to add the column to the worksheet and create a condition. No (+). But when I deleted this and created the condition using the Condition dialog, I got a (+). Then I created another condition using the condition dialog. I used the IN operator and pasted in a list (this item had no item class to choose from)--no (+).
When I tried manually adding (+) after the item name in the condition dialog, it put quotes around the whole thing and treated it as a string.
I can find nothing in the documentation that discusses this. Is is possible to control whether or not it uses the (+)?
Thank you, Scott NewmanDear Michael,
Last night I had a call from user who was experiencing a very strange behaviour of her Discoverer workbook.
I replicated the issue on my machine and could not believe my eyes. A condition on an item was being ignored. I then analysed the workbook and realised it was due to a condition on an item from an outer-joined folder. I did not have the strength after a long day to deal with it and was looking forward to having some fun the next day. Firstly, I tried few tricks such as NVL, LENGTH functions in a test query in Toad. I hate to give up but I did and searched threads on this forum and opened few. The very first thread I read was this one and I laughed when I read your advice. Only until the moment I tested it in the troubled workbook. It worked like a charm. I take my hat off to you Michael. I have rarely experienced such a satisfaction when solving a tricky problem during my 9-year-long Oracle Discoverer journey. This goes straight to my little text file with interesting problems and solutions.
Thank you very much. I owe you a beer or two.
It is great to have an expert like you, always ready to share his knowledge with his colleagues.
P.S.
My apologies for this massive post, I could not resist expressing my joy and gratitude.
Jozef Hlavaty -
Condition.await and LockSupport.park differences
What are the differences between
java.util.concurrent.locks.LockSupport.park()
and
java.util.concurrent.locks.Condition.await()?
From the API it seems they have the same behaviour:
"Disables the current thread for thread scheduling purposes unless the permit is available..." for the first,
"Causes the current thread to wait until it is signalled or interrupted..." for the second.
Are they equals? If no, what are the differences? Can they be used together, for example:
class MyClass {
Lock lock;
Condition condition;
Handler handler;
//constructor
MyClass() {
// initializes and then starts handler
public void method1() {
// do something...
LockSupport.unpark(handler);
condition.signal();
private class Handler extends Thread {
public void run(){
while (true) {
while(! something) {
try {
LockSupport.park();
condition.await();
// do something
} catch (InterruptedException e) {
}Many of classed and interfaces in the java.util.concurrent package are used as building blocks for
higher level concurrency supporting classes. In particular, Condition object is associated with
Lock object and a single Lock can have multiple Conditions hereby enabling single Lock object
having multiple wait sets(await/unlock pairs). LockSupport class only provides one single such
pair through its simple static methods. -
CUIC reporting: handled calls greater than answered calls
Hello,
We met the following problem in Cisco Cuic reporting 8.5.4 for cisco UCCE 8.5.3.
We use only the stock reports. In call type historical all fields we met a strange situation for a simple inbound script:
- the numbers of handled calls is greater than the number of answered calls. This is vey unusual because any call
is first answered and only after that is handled or not by the agent. So the handled condition supose to be first answered.
Any ideas? What could be the cause for additional handled calls?
Also we have problems between the number of handled calls in Agent Team historical all fields and the number of handled calls
in Call type historical all fields. Should not be the same number in both reports ?
The definitions for answered, handled, offered are very simple and they lack essential info in describing the situations
they treat. The whole documentation for enterprise misses many times essential info and the only source of real
info is others knowledge and experience.
Any help is wellcome.
Best regards,
MariusAnswered is incremented when the Agent picks up the call (or received the activity, in the case of EIM).
Handled is incremented when the call (or EIM activity) completes.
Handled will be incremented regardless of whether the call is transferred/conferenced/consulted or not.
As others have mentioned, Answered and Handled counts can be incremented during different intervals depending on the length of the call. The only way I can think of where that would be the case here would be if your agents are handling EIM activities... They could have 5 open emails in their inbox at the end of the day - these 5 open emails would be considered Answered, but not Handled.
If this isn't from non-voice activities, then perhaps you have some system issue causing the problem.
-Jameson -
MM - Difference between Info Record and Price/Discounts/Others Conditions
Hi All,
In MM we use transactions like ME11 to maintain info record. In such transactions we can handle condition types PB00, RA00, FRB1, etc to specify price, discount and freight cost.
But we also can use transactions like MEK1 to create conditions, or use transactions like MEKE to create discount conditions by vendor.
What's the difference between ME11 and MEKE?
Thanks + Best Regards
JeromeHi Jerome,
ME11 is for vendor/material/purch org combination
whereas MEKE is for vendor/purch organisation only. So it will be applicable for all materials supplied by the vendor.
regards
Anand.C
Message was edited by:
Anand Chidambaram -
Apple Releases Security Update 2006-004 (PowerPC and Intel)
From Macfixit................
Apple has released Security Update 2006-004 for Mac OS X in both PowerPC and Intel versions. This update requires Mac OS X 10.4.7 for either PowerPC or Intel, Mac OS X 10.3.9 or Mac OS X 10.3.9 Server.
This is the fourth major standalone security update for Mac OS X released this year.
Update procedure recommendation First, avoid performing any other operations (in Mac OS X or third-party applications) while the update process is occurring. In addition, before installing this security update, make sure all Apple-installed applications and utilities are in their original locations. Moving one of these applications to a different location on your hard drive can lead to an incomplete update. Also, disconnect any FireWire/USB devices before applying the update (except for your startup drive, if it is FireWire or USB, and your keyboard/mouse), then re-connect the devices one by one (checking for issues created by any particular device) after the update process is complete and the system has restarted.
Enhancements in this release
Of most interest to general end-users:
a fix that prevents maliciously crafted Zip archives from causing condition where arbitrary code can be execute. In other words, prior to Security Update 2006-004 you could download a specially crafted file ending in .zip from a Web site or other location, and it could trigger the execution of malicious code.
a fix that disallows maliciously crafted Canon RAW images from creating a buffer overflow, potentially leading to arbitrary code execution. Prior to Security Update 2006-004, you could download or otherwise receive a Canon RAW file that could allow execution of malicious code on your system.
similar to the above, a fix that prevents maliciously crafted GIF images from causing an integer overflow, potentially leading to arbitrary code execution.
new download validation that will catch certain HTML files defined by Safari as "safe" that may actually contain malicious JavaScript code. After applying Security Update 2006-004, these files will not be automatically opened.
Protection against maliciously crafted HTML documents that can also open the door for arbitrary code execution by accessing deallocated objects.
A full list of enhancements is as follows:
AFP Server
An issue in the AFP server allows search results to include files and folders for which the user performing the search has no access. This may lead to information disclosure if the names themselves are sensitive information. If the permissions of the items allow it, the contents may also be accessible. This update addresses the issue in Mac OS X v10.3.9 by ensuring that search results only include items for which the user is authorized. For Mac OS X v10.4 systems, the issue was addressed in Mac OS X v10.4.7. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9:
The AFP server contains an integer overflow that can be triggered by an authenticated user. A malicious user with access to the AFP server may be able to cause a denial of service attack or arbitrary code execution with system privileges. The AFP server is not enabled by default on Mac OS X. This update addresses the issue by performing additional validation. Credit to Dino Dai Zovi of Matasano Security for reporting this issue. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7.
On Mac OS X Server, the AFP server supports reconnection of file sharing sessions after a network outage. The storage of reconnect keys is world-readable. It may be possible for an authenticated local user to read the reconnect keys, use them to impersonate another user over AFP, and access files or folders with the privileges of the impersonated user. This update addresses the issue by protecting the reconnect keys with appropriate file system permissions. This issue only affects Mac OS X Server. Available for: Mac OS X Server v10.3.9, Mac OS X Server v10.4.7.
An unchecked error condition exists in the AFP server that may lead to a crash. By carefully crafting an invalid AFP request, an attacker may be able to trigger this condition and cause a denial of service. This update addresses the issue by handling the formerly unchecked error condition. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7
Bluetooth
The security of the Bluetooth Setup Assistant has been improved in this update for Mac OS X v10.4.7. The length of the automatically generated passkey used for pairing has been increased from six characters to eight characters. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7
Bom
An issue in Bom's compression state handling may cause heap corruption. By carefully crafting a corrupt Zip archive and persuading a victim to open it, an attacker may be able to trigger this condition which could lead to an application crash or arbitrary code execution. Note that Safari will automatically open archives when "Open `safe' files after downloading" is enabled. This update addresses the issue by properly handling such malformed Zip archives. Credit to Tom Ferris of Security-Protocols.com for reporting this issue. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7.
DHCP
A stack buffer overflow exists in bootpd's request processing. By carefully crafting a malicious BOOTP request, a remote attacker may be able to trigger the overflow and cause arbitrary code execution with the privileges of the system. Note that bootpd is not enabled by default in Mac OS X, and must be manually configured in order to be enabled. This update addresses the issue by performing additional bounds checking. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7.
dyld
Malicious local system users may specify dynamic linker options that cause output to standard error. This output contains informational content and potentially user-specified content. As a result, privileged applications that parse or reuse standard error may be influenced inappropriately. This update addresses the issue by ignoring the problematic dynamic linker options in privileged applications. Credit to Neil Archibald of Suresec LTD for reporting this issue. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7.
An improperly handled condition in the dynamic linker may lead to including dangerous paths when searching for libraries to load into privileged applications. As a result, malicious local users may cause the dynamic linker to load and execute arbitrary code with elevated privileges. This update addresses the issue by properly selecting search paths when executing privileged applications. Credit to Neil Archibald of Suresec LTD for reporting this issue. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7
fetchmail
Several issues in the fetchmail utility were discovered. The most serious issue could lead to arbitrary code execution when fetching mail from a malicious POP3 mail server. All issues are described at the fetchmail website (fetchmail.berlios.de). This update addresses the issues by updating fetchmail to version 6.3.4. In addition, fetchmail is no longer distributed as a privileged utility. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7.
gunzip
A race condition may allow a malicious local user to modify the permissions of files owned by another user executing gunzip. This issue is only exploitable when executing gunzip on files in directories that are modifiable by other users. This update addresses the issue by properly handling files while decompressing. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7.
A directory traversal vulnerability is present in the command line utility gunzip when it is used with the non-default "-N" option. By carefully crafting a malicious compressed file and persuading a user to open it with "gunzip -N", an attacker may replace or create arbitrary files with the privileges of the victim. This update addresses the issue by properly stripping paths from files when decompressing. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7
Image RAW
By carefully crafting a corrupt Canon RAW image, an attacker can trigger a buffer overflow which may lead to an application crash or arbitrary code execution. This update addresses the issue by performing additional validation of Canon RAW images. This issue does not affect systems prior to Mac OS X v10.4. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7.
ImageIO
By carefully crafting a corrupt Radiance image, an attacker can trigger an integer overflow which may lead to an application crash or arbitrary code execution. This update addresses the issue by performing additional validation of Radiance images. This issue does not affect systems prior to Mac OS X v10.4. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7
By carefully crafting a corrupt GIF image, an attacker can trigger an undetected memory allocation failure which may lead to an application crash or arbitrary code execution. This update addresses the issue by performing additional validation of GIF images. This issue does not affect systems prior to Mac OS X v10.4. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7.
By carefully crafting a corrupt GIF image, an attacker can trigger an integer overflow which may lead to an application crash or arbitrary code execution. This update addresses the issue by performing additional validation of GIF images. This issue does not affect systems prior to Mac OS X v10.4. Credit to Tom Ferris of Security-Protocols.com for reporting this issue. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7
LaunchServices
Download Validation may erroneously identify certain files containing HTML as "safe". If such a file is downloaded in Safari and Safari's "Open `safe' files after downloading" option is enabled, the HTML document will automatically be opened from a local URI. This would allow any JavaScript code embedded in the document to bypass access restrictions normally imposed on remote content. This update provides additional checks to identify potentially malicious file types so that they are not automatically opened. This issue does not affect systems prior to Mac OS X v10.4. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7
OpenSSH
Attempting to log in to an OpenSSH server ("Remote Login") using a nonexistent account causes the authentication process to hang. An attacker can exploit this behavior to detect the existence of a particular account. A large number of such attempts may lead to a denial of service. This update addresses the issue by properly handling attempted logins by nonexistent users. This issue does not affect systems prior to Mac OS X v10.4. Credit to Rob Middleton of the Centenary Institute (Sydney, Australia) for reporting this issue. Available for: Mac OS X v10.4.7, Mac OS X Server v10.4.7
telnet
When connected to a TELNET server, the client may send the contents of arbitrary environment variables to the server if the server requests them. Some environment variables may contain sensitive information that should not be sent over the network. This update addresses the issue by ensuring that only non-sensitive variables and variables that the user has explicitly requested are are shared with the server. Credit to Gael Delalleau and iDEFENSE for reporting this issue. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7.
WebKit
A maliciously-crafted HTML document could cause a previously deallocated object to be accessed. This may lead to an application crash or arbitrary code execution. This update addresses the issue by properly handling such documents. Credit to Jesse Ruderman of Mozilla Corporation for reporting this issue. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7
AppKit, ImageIO
Buffer overflows were discovered in TIFF tag handling (CVE-2006-3459, CVE-2006-3465), the TIFF PixarLog decoder (CVE-2006-3461), and the TIFF NeXT RLE decoder (CVE-2006-3462). By carefully crafting a corrupt TIFF image, an attacker can trigger a buffer overflow which may lead to an application crash or arbitrary code execution. This update addresses the issue by performing additional validation of TIFF images. Systems prior to Mac OS X v10.4 are affected only by the TIFF NeXT RLE decoder issue (CVE-2006-3462). Credit to Tavis Ormandy, Google Security Team for reporting this issue. Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9, Mac OS X v10.4.7, Mac OS X Server v10.4.7./Right after installing Security Update 2006-004 (Intel) on my macbook pro I am having troubles with my wireless connectivity. Here is the dump from the console:
Aug 3 15:49:43 x-ray /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport: Error: WirelessAssociate2() = 88001006 for network RadioActive
Aug 3 15:49:43 x-ray /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport: Error: (had password)
Aug 3 15:49:51 x-ray /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport: Error: WirelessAssociate2() = 88001006 for network RadioActive
Aug 3 15:49:51 x-ray /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport: Error: (had password)
Aug 3 15:49:59 x-ray /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport: Error: WirelessAssociate2() = 88001006 for network RadioActive
Aug 3 15:49:59 x-ray /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport: Error: (had password)
I can reboot and it will work, but if I put my macbook to sleep it, when I wake it, it will do the same thing again.
I am also getting timeouts waiting for results of 1st wireless scan to complete in console.
Anyone else having this issue?
MBP15-2GHZ Mac OS X (10.4.7) -
CHANGE OVER FROM TAXINJ TO TAXINN
HI ALL ,
TAXINJ and TAXINN cannot co exist in the same system.
If you are talking about technical Upgrade, then I don't think this would be feasible since old Txn would have got posted with TAXINJ procedure with rates as defined in Tax codes and now after migration to TAXINN in same box, the system would pick value from Condition records.
Just check this basic point of feasibility before we go ahead and look for changes.
In SuN the change is for existing implementation, here at present they have R/3 4.7, and are now in the process of technical upgrade to ECC 6.00; TAXINN is required to be implemented in the upgraded version.
At present they are using around 129 pricing procedures, 25 sales org,220 tax codes in TAXINJ. Suzlon has 21 company codes, 219 plants and 1300 end users the whole nature of group activities results in use of all possible types of indirect taxes in India like VAT, CST, Excise, Service Tax etc...
i have tried to search on sap help, service market place and others but could not come across any document for the change over. However i will try again.
what are the things i need to take care before any implications busisneww point of view, what will be the status of open sales order and purchase orders, and splitting delivery docs. which are under process, what will be the cutoverstrategy.
need ur help and guidance, thanks in advance.
We are migrating from 4.7 to ECC 6.00 ( technical upgrade only), at the same time we will shift from TAXINJ to TAXINN,please let us know the steps requred to do this activity.
RELEASE NOTES OR OSSNOTES, ANY DOCUMENT STEP BY STEP IS REQUIRED asap.
CHEERS
SRI_CNUHi
Vasu Sri,
I got this document from some body might help u a bit.
Condition-Based Excise Determination in MM (New)
As of SAP R/3 Enterprise Core 4.70 (SAP_APPL 470), the system can calculate excise duties
and sales tax in Materials Management (MM) using the standard condition technique.
SAP has enhanced the existing tax procedure, TAXINJ, so that it now supports formula-based
and condition-based excise determination. The R/3 System also comes with a new tax procedure,
TAXINN, which only handles condition-based excise determination.
Which Tax Procedure Must I Use?
Existing customers must continue to work using the same tax procedure.
If you switch to a new tax procedure, you cannot display any documents that you have already
posted using the old tax procedure.
If you have worked with formula-based excise determination in previous releases and wish to
continue, you do not have to do anything. However, if you wish to start using the
condition-based excise determination method, proceed as specified below.
We recommend that new customers use the condition-based excise determination and tax
procedure TAXINN.
<b>How Do the New Functions Work?</b>
First, customize the system in the activities listed below. Then, for each material, create one
condition record for each form of excise duty and sales tax that applies, and enter the tax code
for purchasing documents (see below) in every condition record.
When you come to create a purchase order, enter the tax code in each line item. The tax code
tells the system whether to look in the condition types for formula-based or condition-based
excise determination
To set up the new excise determination method, carry out the following activities:
IMG activity
What to do
Check Calculation Procedure
Existing customers: Adjust your tax procedure to
match the changes to TAXINJ. Steps 560-583 are new, as are 593-598.
New customers: Create a copy of TAXINN.
Select Tax Calculation Procedure
New customers only: Assign the copy of
TAXINN to India.
Maintain Excise Defaults
New customers only: Enter the condition type
that you use for countervailing duty.
Define Tax Code for Purchasing Documents
Define a tax code.
Assign Tax Code to Company Codes
Assign the tax code to the company codes that it
is relevant for.
Classify Condition Types
Specify which condition types you want to use
for condition-based excise determination.
Define Tax Accounts
Check which G/L accounts the various taxes will
be posted to. Define G/L accounts for the account keys used in the tax procedure
6 MM
Materialwirtschaft
16.1 Country Version India in Standard R/3 System
Verwendung
As of SAP R/3 Enterprise Core 4.70 (SAP_APPL 470), Country Version India is no longer
delivered as an add-on but as part of the standard R/3 System.
Integration of functions in the SAP Easy Access menu
The functions for withholding tax have been integrated into the SAP Easy Access menu, under
Accounting -> Financial Accounting -> Accounts Payable -> Withholding Tax ->
India and Accounting -> Financial Accounting -> Accounts Receivable -> Withholding
Tax -> India.
You can access all other functions using the area menu J1ILN, which you can call from the
SAP Easy Access screen using the transaction code J1ILN.
Country Version India Implementation Guide
The Country Version India Implementation Guide (IMG) has been integrated into the standard
Reference IMG (see Changes to Structures for Country Version India).
Release Notes
You can access release notes from previous add-on releases using the links below.
SAP Library Documentation
The SAP Library documentation for Country Version India is also delivered on the standard
SAP Library documentation CD (see below).
New and Changed Functions
For information about new and changed functions for Country Version India, see the other
release notes for this release.
Auswirkungen auf den Datenbestand
You do not need to change any data.
Auswirkungen auf das Customizing
IMG activity
What to do
Activate Country Version India for Specific Fiscal Years
Delete the entry ZIND and
create a new entry for IND.
Siehe auch
SAP Library -> Financials or Logistics -> Country Versions -> Asia-Pacific -> India.
Release Notes from Country Version India Add-On (FI)
Release Notes from Country Version India Add-On (SD)
SAP AG
1
SAP-System
Page 9
Release Notes from Country Version India Add-On (MM)
16.2 Condition-Based Tax Calculation (New)
Verwendung
As of SAP R/3 Enterprise Core 4.70 (SAP_APPL 470), a new method for calculating taxes
in Brazil is available, which makes use of the standard condition technique. Tax rates, tax laws,
and special indicators that influence whether tax line items are included in the nota fiscal are all
stored in the system as condition records. An additional tax calculation procedure, TAXBRC, is
delivered for this new method, in addition to the existing one for Brazil, TAXBRJ.
Auswirkungen auf den Datenbestand
You can continue to calculate taxes using the former method: when the system processes the tax
procedure assigned to the country (TAXBRJ), it calculates the taxes externally by calling
function module J_1BCALCULATE_TAXES. We do, however, recommend that you assign the
new procedure TAXBRC and use the condition-based tax calculation functions, as it enables you
to flexibly adapt the tax calculation logic to cover new legal requirements or special customer
needs.
You will need to migrate your existing tax rate table entries to condition records, which you
can do directly from the Tax Manager's Workplace described below. You can check all tables
and subsequently convert the entries, whereby the system generates condition records. After the
initial migration, each time you create or change a tax rate table entry, the system automatically
generates a condition record as needed.
Auswirkungen auf das Customizing
If you want to employ the new condition-based tax calculation, you need to activate it and
carry out all related Customizing activities, under Financial Accounting -> Financial
Accounting Global Settings -> Tax on Sales/Purchases -> Basic Settings -> Brazil
-> Condition-Based Tax Calculation, all of which are new:
o
Activate Condition-Based Tax Calculation
o
Map MM Tax Values to Nota Fiscal Fields
o
Map SD Tax Values to Nota Fiscal Fields
o
Map MM Tax Laws to Nota Fiscal Fields
o
Define Internal Codes for Tax Conditions
o
Assign Internal Codes for Tax Conditions to Condtion Types
o
Assign Tax Rate Tables to Condition Tables
In addition, you need to assign the new tax calculation procedure TAXBRC to the country in
Customizing, under Financial Accounting -> Financial Accounting Global Settings ->
Tax on Sales/Purchases -> Basic Settings -> Assign Country to Calculation Procedure.
A new Customizing tool called the Tax Manager's Workplace is available that enables you to
SAP AG
2
SAP-System
Page 10
make all tax-related settings for Brazil. You access it under the same path as above through
Tax on Sales/Purchases, then Calculation -> Settings for Tax Calculation in Brazil ->
Access Tax Manager's Workplace, or alternatively by entering transaction J1BTAX. You can
use the Tax Manager's Workplace regardless if you use condition-based tax calculation; it
simply brings all tax activities to a single transaction (only the Migration, Nota-Fiscal Mapping,
and Condition Mapping options under the Condition Setup pulldown menu are relevant only for
condition-based tax calculation).
16.3 Changes to Structures for Country Version India
Verwendung
As of SAP R/3 4.7, Country Version India is no longer delivered as an add-on, but forms part
of the standard system.
SAP has discontinued the Country Version India Implementation Guide (IMG) and has added its
activities have been added to the standard Reference IMG as follows:
Activities relating to withholding tax are now located in Customizing for Financial
Accounting (FI), under Financial Accounting Global Settings -> Withholding Tax.
Activities relating to excise duty and excise invoices are in Customizing for Logistics -
General, under Tax on Goods Movements -> India.
As far as the activities under Preparatory Activities are concerned, two of them (Activate
Country Version India for Accounting Interface and Activate Processes) are no longer
relevant and have been removed from the IMG entirely. The activity Execute Country
Installation Program is already included in the standard IMG under the name Localize Sample
Organizational Units. And the other two activities (Activate Country Version India for Specific
Fiscal Years and Activate Business Transaction Events) have been added to the standard IMG.
For information about other changes to the IMG relating to changes in the functions in Country
Version India, see the other release notes.
16.4 Release Notes from Country Version India Add-On (MM)
Verwendung
The Release Notes from Releases 3.0A and 4.0A of Country Version India for Materials
Managment (MM) are listed below. For more Release Notes, see the alias globalization in
SAPNet, and choose Media Center -> Country-Specific Documentation -> Country Version
India - Release Notes.
Release 3.0A
o
CENVAT Credit on Capital Goods After Budget 2000 (Changed)
o
Multiple Goods Receipts for Single Excise Invoices
SAP AG
3
SAP-System
Page 11
o
Enhancements to CVD Solution
o
Pricing Date Control in Excise
o
Order Price Unit in Excise
o
Alternate Assets MODVAT Capitalization
o
Enhancements for 57 F4
o
User Exits for Customer Validations
Release 4.0A
o
Procurement Transactions for Excise Invoices
o
New Transactions Based on User Roles for Incominng Excise Invoices
o
Capture Excise Invoices with Reference to Multiple POs for the Same Vendor
o
Capture Excise Invoice and Post CENVAT in a Single Step
o
Open Schedule Quantity Defaulted in Excise Capture for Scheduling Agreement
o
Accounting Document Simulation for CENVAT Postings
o
Rejection Codes for Excise Invoices
o
Single-Screen Transaction for All Excise-Related Entries
o
Stock Transfer Orders Through MM Route
o
Excise Invoices for Multiple Import Purchases
o
Customs Invoices Can Be Captured Using Logistics Invoice Verification and Conventional
Invoice Verification
o
Material Type at Line Item Level
o
Excise Invoice Capture Without PO
o
Excise Invoice Without PO - Capture and Post in a Single Step
o
Recalculation of Duty and Excise Defaults Restore Feature Available
o
Split of Nondeductible Taxes During Excise Invoice Capture
o
Error or Warning Messages Displayed at the Time of Saving
o
Reversal of Excise Duty
o
MIGO Solution Available as a Note 0408158 (Featuring All Functionalities as in MB01)
o
Excise Invoice Defaults in Excise Popup at Goods Receipt
o
Split Accounting Lines for CENVAT Posting
o
Authorization for Incoming Excise Invoices Extended
o
Authorization Available for Part I Entry at GR
o
Authorization Available for Register Update Transaction
o
User Exit Available for Incoming Excise Invoice Transaction for Defaulting Values
SAP AG
4
SAP-System
Page 12
o
User Exit Available for Incoming Excise Invoice Transaction Before Database Update
o
User Exit Available for Register Update for Validations on Fetched Records Based on
Selection Criteria
o
User Exit Available for Register Update of RGSUM Register
o
User Exit Available for Excise Invoice Create for Other Movements to Default the Excise
Details
o
Register Update Separately Handled for Receipts and Issues Based on Classification Code
o
Ship-From Vendor Can Be Defaulted and Captured in Incoming Excise Invoices for Other
Movements
o
Removal Time Can Be Captured in Excise Invoices for Other Movements
o
Field Selection of Incoming Excise Invoices
o
Transaction Code Customizing for Incoming Excise Invoices
o
Excise Group Setting for Part I Indicator for Blocked Stock, Stock Transfer Order, and
Consumption Stock
o
Multiple Goods Receipts and Multiple/Single Credit Settings Available at Excise Group
Level
o
Rejection Code Master Setting for Posting on Hold Is Available
o
Stock Transport Orders -
VA01 - Need to display an error popup message on line item check
Hi All,
I'm working on a user exit (report MV45AFZZ, form routine USEREXIT_FIELD_MODIFICATION).
I already have all the logic necessary - the one final piece that is left is to display an error pop-up message if the line item quantity is less than a certain number.
The pop-up should display when the enter key is pressed in the quantity field. Also, the pop-up should display if the SAVE button is pressed.
I tried using
MESSAGE 'Please increase quantity' TYPE 'E'.
This worked, but unfortunately it caused VA01 to terminate when I click off the pop-up. This is strange, since type 'E', unlike type 'A', should not do that.
I also tried POPUP_TO_INFORM, but that's just an informational message which does not prevent saving.
Any ideas ?
Regards,
Roman D.You can try this fm
CALL FUNCTION 'DD_POPUP_TO_CONFIRM_CANCEL'
EXPORTING
textline1 = text-902
textline2 = text-903
title = text-901
start_column = 25
start_row = 6
defaultpos = 'C'
IMPORTING
answer = cancel_rc.
CASE cancel_rc.
WHEN 'A'.
WHEN 'C'.
LEAVE PROGRAM.
WHEN OTHERS.
ENDCASE.
Based upon user inputs you can handle conditions (CANCEL_RC) accordingly. -
DECODE OR CASE - Which is better and why
Oracle version: 11.2
Problem: We have a huge table with 10M records, which needs to be processed daily.
While loading data in table we have to handle condition if flag is =1 then '111' else '000'
To implement this which one is efficient solution? .. using CASE or DECODE and why?
Example:
SQL> select flag,case when flag='Y' then '111' else '000' end from (select 'Y' as flag from dual union all select 'N' from dual);
F CAS
Y 111
N 000
SQL> select flag,decode(flag,'Y','111','000') from (select 'Y' as flag from dual union all select 'N' from dual);
F DEC
Y 111
N 000Hi,
For this job, they're equally efficient.
For any job, where DECODE doesn't require a lot more code than CASE, they will be equally efficient.
I recommend (almost) always using CASE. It's easier to understand and debug, and, if written correctly, will never be slower than DECODE.
The only situation where I use DECODE is for very simple tasks (like the one you posted) where this is used inside a very complicated expression, and the slightly less coding needed for DECODE makes the larger statement easier to read.
Maybe you are looking for
-
Can i buy an iphone or ipod with a credit money from alot of gift cards?
Can i buy an iphone or ipod without a credit card because i have money as credit in my apple account from gift cards so i wonder if i can buy anything beside apps,music....etc ?
-
Hello Everyone, Are line item level coupons available where you tie a promotion to a particular item? I know you can set it up where if you buy A01 you get A02 free, but is there a way to set that up as a 1-to-1 ratio? Let me explain a little furth
-
Cannot purchase records/"processing of credit card data not possible"
Since last Tuesday I cannot buy records at iTunes store (Austria). Whenever I click the "purchase" button the systems sends back the message that "currently the processing of credit card data is not possible". That's interesting as I have been handli
-
Disk i/o error on sleep wake ONLY
I'm having a currious and worrisome problem. For the past few weeks I've been inindated by a problem where after waking from a lengthy sleep, my late 2011 MBP will hang for about 5 minutes with a spinning beachball. I checked the console error log an
-
Smart View 11.1.1.2 Data Connection Manager empty
Hi all, we recently trialled Smart View 11.1.2.1 with APS 11.1.1.2, only to find that combination is not compaitble. However when we now go into the Smart View Connection Manager, and select the "All" view, nothing is listed ( i'd normally expect the