Use BPM to Append in log message on FTP

Hi there,
I've got this small problem.
We use a Async Sync bridge in order to send messages into the ECC system. The input message is a multiline message and we create a comma separated file as logging.
This file (alls messages grouped into one csv file) is written on a File server.
Untill this point there is no issue yet.
But can we also arrange this in the FTP adapter settings. If not, is there some other way to get this working (maybe adding another step) like calling a FTP script when the complete message is processed.
Is this just a matter of adding a Receiver Determination step or send step in some kind of way.
If there are any questions please ask.
thanks and Greets
Edited by: Patrick Pot on Jan 3, 2008 9:06 AM

Hi Shobhit,
Pl. find one way for generating error messages on the screen.
IWDAttributeInfo ainfo=wdContext.nodeVn_Abc().getNodeInfo().getAttribute ("cc");
wdComponentAPI.getMessageManager().reportInvalidContextAttributeException(wdContext.currentVn_AbcElement(),ainfo,"Hi", false);
or second thing is as follows :
String strMsg="Please Provide Employee ID "+ wdContext.currentVn_AbcElement().getCc();
WDMessage msg=new WDMessage(wdComponentAPI.getComponent(),"My_MSG2",WDMessageType.ERROR,strMsg);
//Where My_MSG2 is the key of message pool entry you are creating at runtime...
wdComponentAPI.getMessageManager().reportContextAttributeMessage(wdContext.currentVn_AbcElement(),ainfo,msg,null,false);
Regards,
Anupama

Similar Messages

  • Split message using BPM

    Hi Experts
    I am getting the request through HTTP which i want to split using BPM and send each splitted message to synchronous step and get the response for each splitted message
    I have gone through the following blog
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    I am able to split the message into multiple messages but unable to send each splitted message to synchronous step and get the response.
    I am getting " NO Receiver Found" error.
    How to send each splitted message to synchronous step and get the response.
    Please suggest.
    Regards
    Sowmya

    Hi Sowmya,
    I referred to the same blog and the scenario was a success. Please note that in this scenario
    "Receiver Determination plays a key role.
    Three Receiver Determinations are required. One for the Sender to BPM and two others for BPM to the corresponding output files.
    In the Interface Determination for the two Receivers, specify the corresponding Interfaces."
    You are just a few steps from success.
    Rgds
    joel

  • Splitting of fields using BPM

    hi
      my scenerio is about file to JDBC .  my flat file contains some 20 rows,just i want to split into 4 rows and then transfer into sql server.
      how i want to split the fields using BPM.
    thx in advance.
    Message was edited by:
            tamilarasan kandasamy

    Hi,
    <i>my scenerio is about file to JDBC . my flat file contains some 20 rows,just i want to split into 4 rows and then transfer into sql server</i>.
    is it 4 rows or 4 msgs..?? i hope , if 4 rows then it is merge , or it is split.
    Create the target structure as you required.Use the MM and IM to do accordingly, you can do without BPM.
    Any way see the below links to split.
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI.
    /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    Different types of Mapping in XI - /people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
    Multiple mappings into one Im - Multiple message mappings in one integration scenario
    Regards
    Chilla..
    <i>Points rewarded if it is useful..</i>

  • Using BPM

    Hi Friends,
                  I Am new to XI . i would like to know when to use BPM , and what is the difference between BPM and Normal scenarios.
    Also can u guys give me a sample scenario where BPM is used.
    What are the advantages or disadvantages of using BPM.
    Thanks,
    Nilakantan.S

    when to use BPM
    1.Control/Monitor the messages in XI
    2. Collect/Merge the messages in XI
    3. Split the messages in XI
    4. To Multicast an Message
    5. Send an Alert
    for sample scenarios
    refer
    Walkthrough with BPM
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/integrationProcess%28ccBPM%29inXI&
    What are the advantages or disadvantages of using BPM.
    Business Process Management (BPM) has become a critical part of enterprise development.business process management
    Business process management (BPM) is a systematic approach to improving an organization's business processes. BPM activities seek to make business processes more effective, more efficient, and more capable of adapting to an ever-changing environment. BPM is a subset of infrastructure management, the administrative area of concern dealing with maintenance and optimization of an organization's equipment and core operations.
    A business process is a set of coordinated tasks and activities, conducted by both people and equipment, that will lead to accomplishing a specific organizational goal. The Business Process Management Initiative (BPMI), a non-profit organization, exists to promote the standardization of common business processes, as a means of furthering e-business and business-to-business (B2B) development. To this end, the organization has developed the Business Process Modeling Language (BPML), an Extensible Markup Language (XML)-based metalanguage for modeling business processes.
    BPM(Business Process Management) is a structured approach that models an enterprise's human and machine tasks and the interactions between them as processes. BPM software uses a dashboard interface that offers a high-level view of the operation that typically crosses departmental boundaries. The dashboard integrates with all the applications that perform processes as well as related databases and can be used to trigger the start of a unit of work.
    Evolving from document management, workflow and enterprise application integration (EAI), a BPM system can monitor and analyze tasks in realtime and set off alerts when specified limits are exceeded or a response is not received within a specified time.
    Management for People/Machine Systems
    For decades, systems that are entirely automated have more or less taken care of themselves. However, operations requiring a mix of people and machine procedures employ BPM as a higher-level management system that keeps track of them both.
    Over time, a BPM system can provide historical data of human-machine interactions that might be extremely difficult to obtain from information systems, especially disparate systems from several departments or systems running on different platforms.
    The BPM Suite (BPMS)
    A BPM system may comprise a variety of independent packages or a comprehensive business process management suite (BPMS), which includes tools for modeling and analysis, application integration, business rules support, business intelligence (BI), activity monitoring and optimization. Advanced BPMSs provide a development tool for creating forms-based applications, which are often the start of many business processes.
    The following r excellent websites on BPM giving the need for BPM :
    An introduction to Business Process Management
    http://www.avelon.nl/downloads/Introduction_BPM.pdf
    business process management
    http://whatis.techtarget.com/definition/0,,sid9_gci1088464_tax304528,00.html
    BUSINESS PROCESS MANAGEMENT WITH SAP NetWeaveru2122
    http://www.sap.com/platform/netweaver/pdf/BWP_NetWeaver_BPM.pdf
    Business Process Management Essentials
    http://www.glintech.com/downloads/BPM%20Essentials%20with%20Open%20Source.pdf
    Business Process Management
    http://www.seeburger.es/fileadmin/es/pdf/SEEBURGER_-_Business_Integration_Server__TA000714BPM_.pdf
    BPM Process Patterns Repeatable Designs for BPM Process Models
    http://edocs.bea.com/albsi/docs55/pdfs/BPM%20Process%20Patterns%20White%20Paper.pdf
    Business Process Management -Modeling to Execution
    http://www30.sap.com/korea/company/events/techday05/img/data_06.pdf
    BUSINESS PROCESS MANAGEMENT (BPM)
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ed49db90-0201-0010-c4a5-c520866a19c7
    BPM Process Patterns:Repeatable Design for BPM Process Models
    http://www.bptrends.com/publicationfiles/05%2D06%2DWP%2DBPMProcessPatterns%2DAtwood1%2Epdf
    Patterns: SOA Foundation - Business Process Management Scenario
    http://www.redbooks.ibm.com/redbooks/pdfs/sg247234.pdf
    A BPM Roadmap
    Clubhouse Las Vegas- A BPM Roadmap
    Edited by: malini balasubramaniam on Sep 22, 2008 7:27 AM

  • Not displaying Log Message

    Hi All,
    I facing problem in displaying the log message.
    Here is what I am doing.
    I have created a RDF Report, In that In Before Report Trigger I have called Packaged.Procedure.
    (Packaged.Procedure has all code that  is needed.
    I have used the
    fnd_file.put_line(fnd_file.log,'Message') to display message in log.
    But when I ran the report I am getting the expected output. But when in Log I am not seeing the Message.
    Please help me how to display message. Or is there any way to display message in Log.
    Note: I didn't register the package as Concurrent Program. I have Concurrent program of type Oracle Report.
    In package I didn't use parameter ERRBUFF and RETCODE, since it is necessary only if we register as Concurrent program.
    Thanks in advance.
    Regards,
    Uva.

    Hi!
    Lets try these once again even if u followed previously....
    1. First go to SXI_CACHE and do cache refresh once inorder to reflect the IR and ID Objects once again....
    2. Also do Adapter Cache refresh once again some times adapters may not reflect the updated changes and then now make some changes in the SUBject and save and activate it..
    3. THis Point is Optional Suppoe if you are using any FTP FILE ADAPTER
    Check the source and destination folders are same as give in your channel and FTP also please check the file name mentioned is exactly same and make sure there may not be any spaces
    4. If possible if u r admin do once J2EE Soft Restart instead of restarting entire server..or else instead of doing hard restart..
    5. After making changes and saving and activating try the scenario once aand also go to Run time work bench and communication channel Monitoring onceagain check the status...
    6. Most important thing is Go To RWB--> Message Monitoring--> Check the status of the message in both Integration Engine and Adapter ENgine so that you can get where it is failing and also where it was strucked....whether in Integration server side or else Adapter Engine side...
    7. Also please check one again SXMB_MONI, SMQ1 and SMQ2 and ST01 ( which is used to Trace the message by using this ST01),,,
    I hope it works....also check once mapping side once again...
    Regards:
    Amar Srinivas Eli

  • In SXMB_MONI with(Green Flag) "Message Scheduled Outbound Side" (using BPM)

    Hi All,
    I had a Scenario where I am using BPM (to collect the Idocs received from Sender SAP R/3 system) and create a File as target structure. But one of the entry i found as (Green Flag) with status "Message Schedule Outbound Side". But the remaining messages are processed successfuly through the same BPM.
    I even found that the when i double click on the PE of the "Green flag entry". its leading to "qRFC Monitor(Inbound Queue) with empty entries" instead it should lead me to the workflows Log screen. Since other successfully messages are leading to workflow log when i double click on the PE.
    Please let me know your comments on this.
    Thanks,
    Shailaja

    Hi Gouri,
    I am getting gray flag in the column (Status - XML Message Status) and green flag in Colum (C- Outbound Status). So this Greem flag itself is creating the problem, because of this itself my messages is not getting processed and not delivered to target system.
    I have even checked SXI_CACHE, when i click on the Integration Process-- Right click on my BPM and  select the "Activation Log" .. here a message which i had
    I  Language not set. Using system default E
    The container element MULTI_INVOIC02 is written, but not read or exported
    The container element MULTI_INVOIC02 is written, but not read or exported
    So the  "MULTI_INVOIC02 " is used in the Container Operation  & Multimapping of my BPM. I suspect that error as taken place in doing Corelation. Do you have any comments on this. If i get any error in Corelation .. how can i debug my BPM.
    Thanks,
    Shailaja

  • Job log messages in BPM

    Hi All,
    I am doin Business Process Monitoring for monitoring batch jobs of a satellite system so that we will be getting tickets when some job is cancelling.
    for cancellation of jobs SD tickets are generating.
    now the requirement is to genarate a SD ticket for the successful job completion.
    in BPm we have one option as "job log messages" in Background job monitoring type.
    can we do it from there? How will the information be displayed in the ticket for job completion?
    we are defining some threshold values also in that option. how those threshold values will help in generating SD ticket.
    can anyone please suggest some idea.
    thanks
    Tripti

    Hi,
    You can monitor job log message with Business Process Monitoring in two ways (for an alert description see http://help.sap.com/saphelp_smehp1/helpdata/en/99/b45f54119044f19d389b2cad3430bc/frameset.htm)
    a) Error messages:
    Use case: You want to create alerts/notifications if background job creates more than N error messages in the job log.
    -> Use the upper limit for yellow/red alerts.
    -> Example: Job canceled ->monitor message of class 00 and with ID 564 (type A)
    b) Success messages:
    Use case: You want to create alerts/notifications if background job creates less than N success messages in the job log (Usually you want to watch the create of follow documents or the successful update of documents)
    -> Use the lower limit for yellow/red alerts
    -> Example: Job finished without error -> monitor message of class 00 and with ID 517 (type S).
    In both cases you will get a green rating - but no notification - if conditions for yellow/red alert are not met. Notifications (manual and automatic creation) are allowed for yellow and red alerts only.
    See also the documentation for Job Scheduling Management:
    http://help.sap.com/saphelp_smehp1/helpdata/en/c5/7edcbd58ce4e29bc1baf1c4761d71f/frameset.htm
    Best regards,
    Martin

  • Using BPM (Blocks) when Incoming message has multilple rows

    Hi All,
    I am using BPM in my scenario.I have a message with multiple rows coming.I want to check for a condition for each row of the incoming message.I am trying to use a block(Mode: For Each) and using a switch step inside this block.But in a block if u want to check for each line, we need to define a multiline container element as Source Interface message.Since I am already having multilple rows, I cannot give multiline option.Can someone give me some example scenarios where this type of scenarios are handled.
    Thanks in Advance.
    Soumya

    Hi,
    Here I am picking a file with multiple rows
    The Sender Message Type structure is
    <ns:File_MT xmlns:ns="http://File/send">
      <recordset>
        <Slno />
        <Goods_Receipt_Date />
        <Material_Code />
        <Quantity />
        <Plant_Code />
        <Storage_loc />
        <Batch_Number />
        <PO_Number />
        <Item_Number />
        <Special_Stock_Indicator />
      </recordset>
    </ns:File_MT>
    Here the row recordset has multiple occurences.
    For my BPM I have defined an Abstract Message Interface of similar structure.
    1)I am using a receive step to receive the message.
    2)I am using a transformation step for structure change.
    3)Then I have to check a condition whether each of the fields, ie material number,plant code etc are null or not.
    I am using a switch for that.In the switch I have 2 branches-for error records and correct records.
    Now in the eror record branch, I want to append error records to a container using a container operation and finally send it to another system.
    Since my Source message is already having multilple rows.ie 0...unbounded for recorset, I can't define a multiline for container operation.The container operation expects a multiline container element when using append statement.
    How should I go about this?Should I define a Loop after the transformation step?
    Can you give me any example scenarios where transformation steps are used to change a source message with mutilple rows are used?I referred the FlightBooking Example, http://sap.com/xi/XI/Demo/Agency-SplitMultiplebookingOrder but in that they are not using the MessageTypes which are already defined, in the mapping.
    Can anyone help?
    Thanks and Regards,
    Soumya.

  • Message Spiltting Without Using BPM in XI-7.0

    We are using XI-7.0.
    We need to spilt the message from 1 to many without using BPM based on following conditions.
    We need to spilt the one message in many messages depending on the segment records of ZORDER3 and ZORDER2.
    If IDOC message do not have segment ZORDER3 then message needs to be spilt based on the segment records of ZORDER2.
    In the following example, one IDOC message would come from SAP system and that message needs to spilt into 7 messages for the vendor's system.
    Any help will be appreciated.
    <u>Source message: IDOC-ZORDER</u>
    <i>Segment:ZORDER1(Max occ-1)
    PO:4600000010
    LineItem:00010
    Plant:5000
               Segment:ZORDER2(Max occ-999)
               ServiceCode-100000
                              Segment:ZORDER3(Max occ-99)
                              CostCenter:CC123456789
                              CostDesc:CCTest1
                              CocstCenter:CC23456795
                              CostDesc:CCTest2
                               WBSElement:WBS45698712
                               CostDesc:WBSTest1
                               WOrderNo:WO56987412
                               CostDesc:WOTest1
              ServiceCode-200000
                              Segment:ZORDER3(Max occ-99)
                              CocstCenter:CC78956795
                              CostDesc:CCTest7
                               WBSElement:WBS492871
                               CostDesc:WBSTest5
                               WOrderNo:WO98757412
                               CostDesc:WOTest6
    <u>Target Message Structure</u>
    POData(1:1)
              Level1(1:1)
              PO&LineItemNo:460000001000010
              Plant:5000
              ServiceCode-100000
              Level2(1:1)
              costobjectID:CC123456789
              costobjectDesc:CCTest1</i>Thanks in advance!
    MP

    Mrudula,
    If you give the target structure and occurrences of it , then it will be more helpful. Also please quote on wht basis the message needs to be splitted, coz the condition is not clear, Please give the condition too.
    Best regards,
    raj.

  • Multi-Mapping and Message Split using BPM

    Hi All,
    Could anyone pls let me know clearly how message mapping can be done for this weblog
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    Thanks,
    Ram

    Hi,
    When you are doing Message mapping after adding the Messaget types for source and target messages. You can click on the "" button in the target message and add one more tab. You can go to Message tab as shown in the 5th image and click "" button to add one more message type. Then do the mapping as usual.
    <b>Based on the value of the element(name), the node of input(details)should be directed to one of the two message types</b>
    Here in this blog it is done based on the Name.
    You need to use IFTHENELSE boolean function and do the mapping.
    Thanks,
    Prakash

  • Idoc(receiver) message splitting using BPM

    Hi,
    could you provide some blogs which is useful for Idoc (as a Receiver) message splitting (1:N scenario) using BPM.
    I have gone thru some of the Blogs, i didn't find good one according to this scenario.
    Thanks
    Praba

    Hi Michal,
    Thanks for ur reply.
    You said " if you have one message and want to have multiple IDOCs
    there is no need for a BPM -
    you just need to change IDOC occurance - that's all"
    I agree to your point.
    My scenario is more or less same but "With single message , i need to generate multiple Idocs" based on synchronous proxy response from R3. That is the reason we already gone with BPM.
    Already i used the BPM in my interface due to req.  It was working. Earlier i was posting single Idoc to R3 with multiple Header segment (each Header segment has one quantity)
    Now due to req. change, for each single quantity (quantity is my source Message Type field), i need to post single Idoc to R3  if i get response from R3.
    My XI version PI 7.0 SP14
    Idoc structure:
       <xsd:attribute name="SEGMENT" type="xsd:string" fixed="1" use="required"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
       </xsd:complexType>
    - <xsd:complexType name="WPUWBW.WPUWBW01";>
    - <xsd:annotation>
       <xsd:documentation>POS interface: Upload goods movements</xsd:documentation>
       </xsd:annotation>
    - <xsd:sequence>
      <xsd:element name="EDI_DC40" type="EDI_DC40.WPUWBW.WPUWBW01"; />
       <xsd:element name="E1WPG01" type="WPUWBW01.E1WPG01"; minOccurs="0"
       maxOccurs="9999999999" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
       </xsd:sequence>
       <xsd:attribute name="BEGIN" type="xsd:string" fixed="1" use="required"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
       </xsd:complexType>
       </xsd:schema>
    Already I am using this Idoc structure in various interfaces also. If i edit the occurance of the this Idoc and import in External definition with same name, I feel it afffect mapping in other interfaces also.
    Inputs are highly appreciated.
    Edited by: Prabaharan Rangasamy on May 22, 2009 4:14 PM

  • Splitting Message using BPM

    hi,
    I am not able to see the split in BPM when using SWITCH.
    Scenario: IDOC->XI->Multiple Receivers with error handling using BPM
    In BPM SWITCH i have 2 steps.
    1st branch step has Transformation0, Receiver Determination0 and Send0
    2nd branch step has Transformation1, Receiver Determination1 and Send1
    Receivers will be differnt. Container elements have 2 receivers for Receiver0 and Receiver1
    When the IDOC is triggered i can see only one message in SXMB_MONI.
    I don't see any failure steps in SXMB_MONI_BPE.
    In the ID, i have 2 receivers configured.
    Why aren't the messages being processed?
    Thanks,
    Tirumal

    Hi Tirumal,
    Switch is condtional step. It is not for Split. It is like If-Else condition. If you want to split the messages in the same time, then go for Fork step.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/24/e2283f2bbad036e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/6a/db283fd0ca8443e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/14/d5283fd0ca8443e10000000a114084/frameset.htm
    Hope this helps,
    regards,
    Moorthy

  • Using GenericPortlet sublcass .. cannot get any log messages to come out.

    Hi all ..
    I'm having a lot of problems getting any exceptions or log messages dumped from my portlet to help me debug.
    I'm currently using subclass of javax.portlet.GenericPortlet and not a sublcass of com.sun.portal.providers.jsp.JSPProvider. Does that matter? Anyone know if there are issues that I might be running into here?
    More details ..
    I've tried making nice PortletException wrappers around all sorts of other exceptions .. and even using the API call:
    GenericPortlet.getPortletContext().log(<msg>,<throwable> )
    I've tweaked every debug/log/show exception config setting I can find .. including setting logger.log.level=ALL in:
    /etc/opt/SUNWps/portlet/PDConfig.properties
    It'll mostly fail with nada .. zilch .. zero. No hint or reason why. Occasionally I'll get something useful and I'll see an exception I made .. but the other 95% of the time I get no hint.
    I've a script that searches for any file touched in /opt/SUNW*, /var/opt/SUNW* and /etc/opt/SUNW*. I regularly get the following files touched:
    /var/opt/SUNWam/debug/portletcontainer.log
    /var/opt/SUNWam/debug/<myportlet>.log
    /var/opt/SUNWam/debug/desktop.debug
    Can anyone tell me where I should expect to see PortletExceptions logged? How do I turn that feature on .. just in case I've missed the config I need to change? Has anyone had any luck using the PortletContext.log(<msg>,<throwable) API calls? Is there some config that controls where that goes? (I would've assumed it all goes in the <myportlet>.log file .. but not for me.)
    Many thanks for your time ..
    Curtis.
    p.s. Below is an example of some of the messages I do see.
    One instance I get "ERROR: Content not available" .. I get a series of
    rather unhelpful internal exceptions that (for example) complain the portlet threw an exception of some sort. If only the root cause had been printed out it would be possible to nail exactly what's going on in my code that's the issue. Unfortunately this style of "black box" debugging is taking me 10 times (literally .. honestly!) longer than it should. I have to comment out stuff and slowly add it back in again .. if only I could've seen the exception.
    (NOTE: I modifed PrefPortlet.java example .. still called the same at the minute :-) )
    From log file /var/opt/SUNWam/debug/desktop.debug ..
    06/09/2004 09:25:08:066 PM PDT: Thread[Thread-76,5,main]
    ERROR: ProviderCaller.run(): exception thrown from PrefPortlet
    com.sun.portal.providers.ProviderException: PortletWindowProvider.getContent():container exc
    eptioncom.sun.portal.container.ContainerException: PortletContainer.getMarkup():getting cont
    ent com.sun.portal.container.ContentException: PortletContainer.getMarkup(): Cannot get cont
    ent
    at com.sun.portal.providers.portletwindow.PortletWindowProvider.getContent(PortletWi
    ndowProvider.java:284)
    at com.sun.portal.desktop.context.ReusableProviderCaller.run(ReusableProviderCaller.
    java:158)
    com.sun.portal.container.ContainerException: PortletContainer.getMarkup():getting content co
    m.sun.portal.container.ContentException: PortletContainer.getMarkup(): Cannot get content
    at com.sun.portal.container.portlet.impl.PortletContainer.getMarkup(PortletContainer
    .java:201)
    [snip]
    (not much help really)
    From the file /var/opt/SUNWam/debug/<myportlet>.log (my specific portlet log) ..
    2004/06/09 21:25:08.058 PDT | Curtis First Port | SEVERE | Thread-76 | Portle
    tAppEngineServlet.HandleError()() - Error: null | LifecycleManagerImpl.getPortlet(),
    can not get portlet.
    x -----------------------------------------------------------------------------
    X javax.portlet.PortletException: LifecycleManagerImpl.getPortlet(), can not get por
    tlet.
    X at com.sun.portal.portletappengine.impl.LifecycleManagerImpl.getPortlet(Life
    cycleManagerImpl.java:163)
    X at com.sun.portal.portletappengine.PortletAppEngineServlet.service(PortletAp
    pEngineServlet.java:187)
    X at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    [snip]
    (still not much help)
    Note .. i sometimes get useful exceptions dumped to that last file .. but
    it's rare .. I just can't seem to spot the pattern when they will and won't
    get printed.
    From file /var/opt/SUNWam/debug/portletcontainer.log
    2004/06/09 21:25:07.414 PDT | null | INFO | Thread-76 | Portle
    tContainer.invokePAE(): invoking:
    app name /<myportlet>
    portlet name PrefPortlet
    action RENDER | -
    2004/06/09 21:25:08.063 PDT | null | SEVERE | Thread-76 | Portle
    tContainer:executeAction(): Exception thrown from render() of <myportlet>|PrefPortlet
    |PrefPortlet | -
    [snip]
    (the least helpful of all!!)
    When I simply comment out the new code I added, recompile, and view the portlet again .. it works fine. If I could only see the root cause exception!!

    Ok .. weirder and weirder ...
    I left this for a while .. and then went back to my xterms where I was working .. and one of them I saw this:
    # Jun 9 21:55:14 troy server1 appservd[7440]: [ID 702911 daemon.alert] SEVERE ( 7440): hefalump - Problem setting up PAL array!
    Jun 9 21:55:14 troy java.io.FileNotFoundException: http://pie1.some.thing.com/portal/arraylist.xml
    Jun 9 21:55:14 troy at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:789)
    Jun 9 21:55:14 troy at java.net.URL.openStream(URL.java:913)
    Jun 9 21:55:14 troy at com.tarantella.portal.bell.test.WebtopHostFinder.<init>(WebtopHostFinder.java:42)
    Jun 9 21:55:14 troy at com.some.portal.test.PrefPortlet.init(PrefPortlet.java:72)
    Jun 9 21:55:14 troy at com.sun.portal.portletappengine.impl.LifecycleManagerImpl.createPortlets(LifecycleManagerImpl.java:329)
    Jun 9 21:55:14 troy at com.sun.portal.portletappengine.impl.LifecycleManagerContextListenerImpl.contextInitialized(LifecycleManagerContextListenerImpl.java:13)
    Jun 9 21:55:14 troy at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3255)
    Jun 9 21:55:14 troy at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2525
    Jun 9 21:55:14 troy at com.sun.portal.portletappengine.impl.LifecycleManagerImpl.init(LifecycleManagerImpl.java:109)
    That is exactly the information I'm looking for!!!
    I've no idea how it got there .. I think the appservd process just dumped it there .. after I saw this I grep'ed the entire set of files in /opt/SUNW* /var/opt/SUNW* /etc/opt/SUNW* for "hefalump" (my unique 'log' key) and it's not in any log file.
    Anyone know what's going on?
    Curtis.

  • Multi-mapping with message bundling but without using BPM

    Hi all,
    I have a requirement to bunch specific no. of records (say 50) from source message and create separate target messages for those bunches. For example, if the source message has 120 records, then there should be three separate target messages created containing 50, 50 and 20 records each.
    I am wondering whether this multi-mapping is possible without using BPM, as the typical no. of records in the source message are in the range of 600 to 800, and rarely (twice or thrice a month) they shoot up to 2000. So my concern is whether BPM would affect the performance. We are using PI at SP12.
    Regards,
    - Shankar.

    Sorry for late reply.. Well the sender is a file system, which sends a single XML file containing multiple records. (I mean I have a sender file adapter that polls periodically from a specific path and picks up the file when it is available)
    The no. of records in the source file may be different in each run. The requirement on the receiver system is that it can handle a file which has maximum of 'n' records only (say 50 in my example)
    Now the sender file can contain any no. of records. It may contain 10 on some day, or 200 the next day, or 120 on the third day. But on the receiver side, I want the files to be created such that each will contain AT MAX 50 records.
    So, if source file has <=50 records, then there will be only 1 target file having the same no. of records.
    If source file has between 51 to 100 records, then there will be two target files. One will have 50 records, and the second will have remaining records.
    And so on..
    Regards,
    - Shankar.

  • Message mapping when using BPM?

    We are doing a test to see if you can do a split of a string using standard functions, UDF or BPM.
    We discovered that standard function has some of the functionality but if you are going to solve the problem that way the solution will be very complex. You will get no flexi bility in how to design the string and all the feilds will have to have fix length. So Standard functions are not the solution for us.
    UDF works realy great. Write your java function and map it and everything are running.
    We wont to test BPM as well. and i just started to look at it and how to solve it. I'm a newbee on BPM and for start I'm wondering how the message mapping should look to use in the BPM?
    Sourcemessage looks as follow:
    <Header>
       <Line>  
          <SegmentA>   0 to unbounded
          <SegmentB>   0 to unbounded
          <SegmentC>   0 to unbounded
    SegmentA contains a value to be copied to a segment in the target.
    SegmentB contains a date to be copied to a targetelement.
    SegmentC contains a string that we want to split into several elements in the target structure.
    Targetmessage looks as follow:
    <Header>
       <LineA>   1 to 1   (Will get the value from SegmentA in the sourcemessage.)
       <LineB>   1 to 1   (Will get the value from SegmentB in the sourcemessage.)
       <LineC>   0 to unbounded
          <ElementA>   0 to 1   (Will get a part of the string from SegmentC in the sourcemessage.)
          <ElementB>   0 to 1   (Will get a part of the string from SegmentC in the sourcemessage.)
          <ElementC>   0 to 1   (Will get a part of the string from SegmentC in the sourcemessage.)
    To able to get the messages into BPM I need a interfacemapping and to do the interfacemapping I need to do a messagemapping. How should that messagemapping be configured?

    > Now i want to try to replace that UDF with a BPM (Integration Process).
    An UDF is part of a mapping and an Integration Process is used if you want to realize a more complex scenario then sending a message from System A to System B. In BPM you can do things like collecting messages, use timeouts, ...
    But if you want to use a mapping in a BPM you define your mapping in your Integration Repository (like in a standard scenario without BPM) and then you can use the mapping in the Integration Process.
    That's why i say it's maybe possible to realize your mapping without UDF (for example only with standard functions), but it makes no difference if you use BPM.
    If you want to try finding a solution without UDF, i would suggest to open a new thread for this question.
    Hope this helps.
    Regards
    Patrick

Maybe you are looking for