Problem with Context in IDoc

Hi Experts,
I have the following source fields:
1 <Recordset>
      <Record>
         <LineIdentifier>ITEM</LineIdentifier>
         <Data>D1<Data>
      </Record>
      <Record>
         <LineIdentifier>ITEM</LineIdentifier>
         <Data>D2</Data>
      </Record>
2 <Recordset>
      <Record>
         <LineIdentifier>ITEM</LineIdentifier>
         <Data>D3<Data>
      </Record>
Target : 2 Idocs to be created!
For each recordset, an IDoc needs to be created. For Idoc 1, there should be 2 segment of E1EDP01 to be created(coz 2 ITEM) and Idoc 2, there should be 1 segment of E1EDP01).
I have done it as follows:
Check if LineIdentifier (context is recordset)  = ITEM then map Record to UDF createItemrecord as follows
for(int i =0; i < record.length; i++)
     result.addValue(record<i>);
Then map it to RemoveContext and SplitByValue. The result is Idoc 1 has 1 segment of E1EDP01 (Value D1) and IDoc 2 has 1 segment of E1EDP01 (value D2).
The expected result is => Idoc1 -> E1EDP01(D1) and E1EDP01(D2) and Idoc 2 -> E1EDP01(D1) and E1EDP01(D3)
Please explain how this can be achieve.
thanks a lot.
Rewards guaranteed!!!
Regards,
Tush
Edited by: Tush Mangad on Aug 14, 2008 8:53 AM

I have found that XSL mapping does this quite well
An example to create Sales Order IDocs
Note that square brackets in the generate statement have been interpreted by this editor as a strikethrough
Input file
<?xml version="1.0" encoding="UTF-8"?>
<input>
     <row>
          <ordernum>ORD1</ordernum>
          <orderitem>ITEM1</orderitem>
          <data>ABC</data>
     </row>
     <row>
          <ordernum>ORD1</ordernum>
          <orderitem>ITEM2</orderitem>
          <data>DEF</data>
     </row>
     <row>
          <ordernum>ORD2</ordernum>
          <orderitem>ITEM1</orderitem>
          <data>GHI</data>
     </row>
</input>
XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
     <xsl:output method="xml" indent="yes"/>
     <!-- -->
     <xsl:template match="/">
          <CRMXIF_ORDER_SAVE_M01>
               <xsl:apply-templates select="//input"/>
               <!--  -->
          </CRMXIF_ORDER_SAVE_M01>
     </xsl:template>
     <!-- -->
     <xsl:template match="input">
          <xsl:variable name="sales_order" select="//row"/>
          <xsl:for-each select="$sales_order">
               <xsl:if test="generate-id(.)=generate-id($sales_order[ordernum=current()/ordernum])">
                    <!-- New Order Number -->
                    <xsl:if test="position()!=1">
                         <xsl:text disable-output-escaping="yes">&lt;</xsl:text>/E101CRMXIF_BUSTRANS<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
                         <xsl:text disable-output-escaping="yes">&lt;</xsl:text>/IDOC<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
                    </xsl:if>
                    <xsl:text disable-output-escaping="yes">&lt;</xsl:text>IDOC BEGIN=<xsl:text disable-output-escaping="yes">&quot;</xsl:text>1<xsl:text disable-output-escaping="yes">&quot;&gt;</xsl:text>
                    <EDI_DC40 SEGMENT="1">
                         <TABNAM>EDI_DC40</TABNAM>
                         <MANDT>010</MANDT>
                         <DOCREL>620</DOCREL>
                         <STATUS>30</STATUS>
                         <DIRECT>1</DIRECT>
                         <OUTMOD>2</OUTMOD>
                         <IDOCTYP>CRMXIF_ORDER_SAVE_M01</IDOCTYP>
                         <MESTYP>CRMXIF_ORDER_SAVE_M</MESTYP>
                         <SNDPRT>LS</SNDPRT>
                         <RCVPRT>LS</RCVPRT>
                    </EDI_DC40>
                    <xsl:text disable-output-escaping="yes">&lt;</xsl:text>E101CRMXIF_BUSTRANS SEGMENT=<xsl:text disable-output-escaping="yes">&quot;</xsl:text>1<xsl:text disable-output-escaping="yes">&quot;&gt;</xsl:text>
                    <!-- Build Sales Order BUSTRANS data -->
                    <xsl:call-template name="bustrans_Template">
                         <xsl:with-param name="bustrans" select="current()"/>
                    </xsl:call-template>
                    <!-- Build Sales Order BUSTRANS_ITEM data -->
                    <xsl:call-template name="bustransItem_Template">
                         <xsl:with-param name="bustransItem" select="current()"/>
                    </xsl:call-template>
               </xsl:if>
               <!-- -->
               <!-- Same Order Number - multiple items encountered -->
               <!-- Build Sales Order BUSTRANS_ITEM data -->
               <xsl:if test="generate-id(.)!=generate-id($sales_order[ordernum=current()/ordernum])">
                    <xsl:call-template name="bustransItem_Template">
                         <xsl:with-param name="bustransItem" select="current()"/>
                    </xsl:call-template>
               </xsl:if>
               <!-- -->
               <xsl:if test="position()=last()">
                    <xsl:text disable-output-escaping="yes">&lt;</xsl:text>/E101CRMXIF_BUSTRANS<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
                    <xsl:text disable-output-escaping="yes">&lt;</xsl:text>/IDOC<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
               </xsl:if>
          </xsl:for-each>
     </xsl:template>
     <!-- -->
     <xsl:template name="bustrans_Template">
          <xsl:param name="bustrans"/>
          <APPL_SNAME>CRMXIF_BUSTRANS</APPL_SNAME>
          <!-- Business Transaction: Sales -->
          <E101CRMXIF_SALES_X SEGMENT="1">
               <APPL_SNAME>CRMXIF_SALES_X</APPL_SNAME>
               <DATAX>X</DATAX>
               <E101CRMXIF_SALES SEGMENT="1">
                    <APPL_SNAME>CRMXIF_SALES</APPL_SNAME>
                    <!-- Sold-To Party's External Reference -->
                    <PO_NUMBER_SOLD>
                         <xsl:value-of select="ordernum"/>
                    </PO_NUMBER_SOLD>
               </E101CRMXIF_SALES>
          </E101CRMXIF_SALES_X>
     </xsl:template>
     <!-- -->
     <xsl:template name="bustransItem_Template">
          <xsl:param name="bustransItem"/>
          <!-- Business Transaction: Item -->
          <E101CRMXIF_BUSTRANS_ITEM SEGMENT="1">
               <APPL_SNAME>CRMXIF_BUSTRANS_ITEM</APPL_SNAME>
               <OBJECT_TASK>I</OBJECT_TASK>
               <!-- Item Number in Document -->
               <ITEM_NUMBER>
                    <xsl:value-of select="orderitem"/>
               </ITEM_NUMBER>
               <!-- Product ID -->
               <PRODUCT_ID>
                    <xsl:value-of select="data"/>
               </PRODUCT_ID>
          </E101CRMXIF_BUSTRANS_ITEM>
     </xsl:template>
</xsl:stylesheet>
Result
<?xml version="1.0" encoding="UTF-8"?>
<CRMXIF_ORDER_SAVE_M01 xmlns:fo="http://www.w3.org/1999/XSL/Format">
     <IDOC BEGIN="1">
          <EDI_DC40 SEGMENT="1">
               <TABNAM>EDI_DC40</TABNAM>
               <MANDT>010</MANDT>
               <DOCREL>620</DOCREL>
               <STATUS>30</STATUS>
               <DIRECT>1</DIRECT>
               <OUTMOD>2</OUTMOD>
               <IDOCTYP>CRMXIF_ORDER_SAVE_M01</IDOCTYP>
               <MESTYP>CRMXIF_ORDER_SAVE_M</MESTYP>
               <SNDPRT>LS</SNDPRT>
               <RCVPRT>LS</RCVPRT>
          </EDI_DC40>
          <E101CRMXIF_BUSTRANS SEGMENT="1">
               <APPL_SNAME>CRMXIF_BUSTRANS</APPL_SNAME>
               <E101CRMXIF_SALES_X SEGMENT="1">
                    <APPL_SNAME>CRMXIF_SALES_X</APPL_SNAME>
                    <DATAX>X</DATAX>
                    <E101CRMXIF_SALES SEGMENT="1">
                         <APPL_SNAME>CRMXIF_SALES</APPL_SNAME>
                         <PO_NUMBER_SOLD>ORD1</PO_NUMBER_SOLD>
                    </E101CRMXIF_SALES>
               </E101CRMXIF_SALES_X>
               <E101CRMXIF_BUSTRANS_ITEM SEGMENT="1">
                    <APPL_SNAME>CRMXIF_BUSTRANS_ITEM</APPL_SNAME>
                    <OBJECT_TASK>I</OBJECT_TASK>
                    <ITEM_NUMBER>ITEM1</ITEM_NUMBER>
                    <PRODUCT_ID>ABC</PRODUCT_ID>
               </E101CRMXIF_BUSTRANS_ITEM>
               <E101CRMXIF_BUSTRANS_ITEM SEGMENT="1">
                    <APPL_SNAME>CRMXIF_BUSTRANS_ITEM</APPL_SNAME>
                    <OBJECT_TASK>I</OBJECT_TASK>
                    <ITEM_NUMBER>ITEM2</ITEM_NUMBER>
                    <PRODUCT_ID>DEF</PRODUCT_ID>
               </E101CRMXIF_BUSTRANS_ITEM>
          </E101CRMXIF_BUSTRANS>
     </IDOC>
     <IDOC BEGIN="1">
          <EDI_DC40 SEGMENT="1">
               <TABNAM>EDI_DC40</TABNAM>
               <MANDT>010</MANDT>
               <DOCREL>620</DOCREL>
               <STATUS>30</STATUS>
               <DIRECT>1</DIRECT>
               <OUTMOD>2</OUTMOD>
               <IDOCTYP>CRMXIF_ORDER_SAVE_M01</IDOCTYP>
               <MESTYP>CRMXIF_ORDER_SAVE_M</MESTYP>
               <SNDPRT>LS</SNDPRT>
               <RCVPRT>LS</RCVPRT>
          </EDI_DC40>
          <E101CRMXIF_BUSTRANS SEGMENT="1">
               <APPL_SNAME>CRMXIF_BUSTRANS</APPL_SNAME>
               <E101CRMXIF_SALES_X SEGMENT="1">
                    <APPL_SNAME>CRMXIF_SALES_X</APPL_SNAME>
                    <DATAX>X</DATAX>
                    <E101CRMXIF_SALES SEGMENT="1">
                         <APPL_SNAME>CRMXIF_SALES</APPL_SNAME>
                         <PO_NUMBER_SOLD>ORD2</PO_NUMBER_SOLD>
                    </E101CRMXIF_SALES>
               </E101CRMXIF_SALES_X>
               <E101CRMXIF_BUSTRANS_ITEM SEGMENT="1">
                    <APPL_SNAME>CRMXIF_BUSTRANS_ITEM</APPL_SNAME>
                    <OBJECT_TASK>I</OBJECT_TASK>
                    <ITEM_NUMBER>ITEM1</ITEM_NUMBER>
                    <PRODUCT_ID>GHI</PRODUCT_ID>
               </E101CRMXIF_BUSTRANS_ITEM>
          </E101CRMXIF_BUSTRANS>
     </IDOC>
</CRMXIF_ORDER_SAVE_M01>

Similar Messages

  • Problem with HR inbound IDoc

    Hi,
    I have a problem with processing inbound IDocs from an external payroll system to infotype 0008.  The process is quite simple; salary changes from the payroll system is recorded to the corresponding employee's infotype 0008.  When testing I noticed that that the new record is recorded as is.  For example if there is already an existing record with the validity dates 01.01.2010 - 31.12.9999 and the new record in the IDoc is 01.01.2011 - 31.12.9999, the new record is written as is.  I would expect the system to delimit the old record correctly - similar to what would happen if you maintain records online.  There is no error checking or any kind of processing done by the system. 
    I did some debugging and found out that the function module linked to process code HRMD writes the information directly to the database.  If this is a standard way of doing this, it is really unusual.
    Has anybody else encountered this?  Any pointers?
    Thanks.
    Edited by: Theo Droste on Jan 20, 2011 11:56 AM

    Hi
    This is correct, the ale programme writes the data directly to the database, I have faced this isssue on occassion. I once raised an oss message on this as well, and sap confirms this is what happens. If it is a sap to sap ale, it somehow seems to work, - this could be because the outgoing idocs are created by sap itself  but if it is a non sap to sap ale the onus is on us to ensure that the external system sends the correct data to sap in the way we intend it to be displayed.
    that is how it has been in my experience. It is unusual, but apparently not impossible. Please let us know if you find out anything different.

  • Problem with conText

    Hello,
    I use Oracle 8i and I have a problem with conText.
    In fact, there are no result even if threre must have.
    I create my table by setting the type of the text row as clob.
    CREATE TABLE artefact(targetTool, keyWord clob);
    Then, I create an index with the command:
    CREATE INDEX ind3 ON artefact(keyWord) INDEXTYPE IS CTX.CONTEXT
    Then, I insert the values as a classic insert.
    And finally, I search with the Query:
    SELECT targetTool FROM artefact WHERE CONTAINS(keyWord,'test')>0;
    My table has a keyWord row which contains the sentence :"This is a test" but there is no result.
    Thank you.
    PS:All the query are done through a Java application
    PS2:Excuse my English, I'm not english.

    Please try to follow the quick start example: http://otn.oracle.com/products/text/x/Samples/Quick_Start/index.html

  • Problem with Context in mapping

    Hi.
    I  have a big problem with my mapping.
    My input look like this.:
    - <Rec>
    - <raw>
      <Rec_type>B</Rec_type>
      <Record_data>0000340H150000006269 N2007020105070000727001000009000540006599350000000000</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000350H1500000062690000107074030000610000000060800000004910001080 80620000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000360H15000000626900001070740000107079030000610000000060800000004920000000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000370H15000000626900001070740000107432030000000000000000000000000000000000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000380H1500000062690000115008010004995000000499900000041630001610 83470000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000390H1500000062690000115008050003997000000400300000033320001660 83470000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000400H1500000062690000115008030002996000000300000000024980001640 83470000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000410H1500000062690000115008040003995000000399900000033300001630 83470000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000420H1500000062690000115483010004850000000480100000040250000300 83110000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000430H15000000626900001154830000107432010000000000000000000000000000000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000440H15000000626900001154830000107079010001453000000144000000011710000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000450H15000000626900001154830000115124010003397000000336100000028590000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000460H1500000062690000115502020004012000000399900000029470001240 73570000727001</Record_data>
      </raw>
    My target is an iDoc with this structure.:
    IDOC
    - E1OILT1
    - -   xxxx
    - -   xxxx
    - -   E1OILT2
    - -   E1OILT2
    - -   E1OILT2
    - -   E1OILT3
    - -   E1OILT3
    For each B-record I'm going to produce an iDoc.
    My problem is that all "C"-records shall into the first E1OILT3-segment and
    all "D"-records shall into the second E1OILT3-segment.
    It works well with the C-record but not with the D-records.
    D is depend on C, but C dont need to have a D-record.
    C could also have several D-records.
    Don't know if I explained this good enough but i hope  someone could give me an hint whats wrong with my context.
    Thanks

    then i think you need to write some JAVA code to do this.
    Create a User-Defined Function.
    and start using some of the ResultList Methods.
    check the blogs to how to do this.
    it will take you some time beacuse you need to understand the concept of Context if you don't know already.
    there is some methods like "addValue" that create a new Value.
    Regards,
    Roi Grosfeld

  • Problem with context search in iFS

    Hello , here is my problem with iFS.
    We have installation of Oracle 8.1.7 Enterprise edition with interMedia and iFS 1.1 on same server (Windows NT Server 4.0/512 RAM). During install everything went fine.
    I had uploaded about 200 MB files in the iFS (pdf's and html's).
    The problem is when I try to use context based search. If I search for file's name everything is fine, but when I search for a word that is in a file it almost immediately gives mi "0 file(s) found", and I'm sure that there are files that have that word in their body's.
    What can be the problem?
    Any sugestions will be in help.
    Thanks in advance.

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by mark_d_Drake ():
    That's the way it works. Content Indexing is not on insert, it occurs when the ctxsrv process runs. See the IntermediaText doc for more information.
    <HR></BLOCKQUOTE>
    Documents's content is stored in the GLOBALINDEXEDBLOB column of the IFSSYS.ODMM_CONTENTSTORE table.
    There is an text index GLOBALINDEXEDBLOB_I built on this column.
    To make the context search possible just update this index using the following command in SQL*Plus:
    SQL> exec ctx_ddl.sync_index('GLOBALINDEXEDBLOB_I');
    If you want this index be updated automatically when new documents are uploaded/changed/deleted in iFS then start the ctxsrv utility on the computer where your Oracle database resides. To do this issue the following command in OS command line:
    ctxsrv -user ctxsys/ctxpwd@db_alias
    just replace here ctxpwd and db_alias with real values you specified during the installation.
    null

  • Problem with Context - calculated Value

    I have a problem with my WebDynPro-Project.
    The Errors which is shown by the NWDS:
    "Web Dynpro Generation: Metadata constraint of Component KeyMappingComponent is violated: CalculatedAttributeProvider "//WebDynpro/Controller:de.vwfsag.keymapping.ui.KeyMappingComponent/CalculatedAttributeProvider:BusinessAttributeDataSprache", Role "Attribute": A minimum of 1 object(s) is required"
    What I've done:
    - changed valueproperties calculated from "true" to "false" and back.
    The problem is that the set und get methods remained after resetting the calculateproperty to "false".
    I've tried several time to switch the property but now I got more remained set and get methods (..._1, ..._2, ...), which I can't delete in the NWDS.
    What I also tried was to change the .wdcontroller"-file of my controller-component, but this file is generated so after a rebuild the ".wdcontroller"-file is still corrupted.
    I think the conclusion should be something to delete these methods or change the calculatedproperty in some files you can't access directly from the NWDS.
    I hope anyone could help me out with this?
    Greetz Christian
    Edited by: christian.zuehlsdorf on Dec 14, 2009 6:24 PM

    Tushar Sinha wrote:Tushar Sinha wrote:Hey Sinha,
    thank you fr your answer!
    >
    > Just try deleting the attribute for which you tried setting the calculated property as true and then false, try repairing your project, reload and build again. Hopefully this should get you rid of the getters and setters.
    That was the first thing I already tried. I deleted the whole context und then rebuild and repair and rebuild... But none of that help.
    >
    > Do, not manually try deleting the getters/setters manually for any attribute as it is autogenerated for an attribute.
    These getters/setters only have part of the configuration with no context-attribute-bind, which in fact seems to be the problem for the build-process.

  • Problem with context binding

    Hi all,
    I have the following problem with my context element.
    I have this structure in my context:
    DynamicText (valueNode)
      Person (valueAttribute)
      SourceRegistration (valueAttribute)
      Persons (valueNode in node DynamicText)
        Persons (valueAttribute in node Persons)
    Now im trying to fill this context data in my code like this:
    IPublicTESTComponent.IDynamicTextElement dynamicText = wdContext.createDynamicTextElement();
    dynamicText.setSourceRegistration("sourceRegistration");
    dynamicText.setPerson("person");
    Collection personList = new ArrayList();
    for (int i=0; i<4; i++) {
      IPersonsElement dynamicPerson = wdContext.createPersonsElement();
      dynamicPerson.setPersons("test person: " +i);
      personList.add(dynamicPerson);
    wdContext.nodePersons().bind(personList);
    wdContext.nodeDynamicText().bind(dynamicText);
    On this code i receive the following fault message:
    com.sap.tc.webdynpro.progmodel.context.ContextException: Node(TESTComponent.DynamicText.Persons): cannot bind or add elements because the node has no valid parent
    How can I bind the persons on this context please?

    Hi
    The problem in the code I see DynamicText node must be supplied before Persons one because it's a parent node.
    Binding the Persons node depends on property "singleton" setted on the node. If 'singleton'==false
    wdContext.nodeDynamicText().bind(dynamicText);
    wdContext.nodeDynamicText().getDynamicTextElementAt(0).nodePersons().bind(personList);
    If 'singleton'==true ensure that 'initializeLeadSelection' property of DynamicText node is TRUE then use
    wdContext.nodeDynamicText().bind(dynamicText);
    wdContext.nodePersons().bind(personList);
    BR
    Sergei

  • Problem with context root

    Hi,
    i have a big problem with the context root in jdeveloper 10 g, for this i can´t found a file using "getClass().getResourceAsStream", i don't know why?, i think that is the context root,
    the project uses a class WebParametersServlet extends HttpServlet, "WebParameters.SITE_ROOT" read it of a xml.
    Please help me.

    same app, but with two diff context root ?
    A web app packaged in WAR can have only one context root. Package a web app in two different WARs for two different context roots.
      weabpp1.war web.xml
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-web-app>
      <context-root>context-1</context-root>
    </weblogic-web-app>
      weabpp2.war web.xml
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-web-app>
      <context-root>context-2</context-root>
    </weblogic-web-app>

  • Problem with extension of idoc in XI

    Hello All,
    I've extended an Idoc in R/3 with new segment.
    That new idoc extension i've mentained in t/code IDX2
    Also, i've imported the new extended idoc in XI in IR.
    Next i've done the related mapoping for the new segment in IR.
    In ID, do i need to change the old idoc name with new extension idoc which i'm using in the Receiver Agreement
    After doing all these above modifications..i've receving the below mentioned error message
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
      <SAP:P1>I::000</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error: I::000</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Pls. let me know how i need to proceed further.
    Thanks in advance!!!
    Regards
    Prasad

    Hello Prasad,
    Go through these discussions....
    <IDOC_ADAPTER> ATTRIBUTE_IDOC_METADATA
    Re: ERROR: "IDOC_ADAPTER" / "ATTRIBUTE_IDOC_METADATA"
    File2IDoc Adapter Error
    Hope the above links are very helpful to you..
    Thanks,
    Satya Kumar

  • Problems with context-sensitive HTML made from importing FM 10 to RH9

    This worked in October and it doesn’t work now.
    Start with a clean, well-formatted Frame 10 book with multiple chapters.  Chapters, Heading 1, 2 and 3 headings have various FM Markers TopicAlias with ID for calling the help.
    Example of FM marker: ID_HELP_SYSTEM_DEFAULT
    Import FM book to RH 9 –pointed to an AllStyles.fm doc as a template, pagination on the above 4 headings, cross-refs mapped, on the Other Settings page the Context Sensitive Help Marker is set to TopicAlias.
    Import looks spiffy;  great TOC, Index, formatting, links, everything is exactly like I expected. Create chm file help. It looks great too. This part works well IMO.
    My.h file is formatted with Hex number to match the application’s call.
    Example:
    #define ID_HELP_SYSTEM_DEFAULT 0x3F131
    #define ID_HELP_EDITDATASET_TOOLBAR 0x3F132
    Rename my mapping h file to BSSCDefault.h and put in root directory replacing the one RH makes.  [When RoboHelp makes an h file, the numbers it assigns do not match what my application calls for. Changing these is not an option. I have hundreds of mapped IDs.]
    Reopen RH  and view the BSSCDefault. h file from RH. It has magically changed the Hex numbers to 6 digit numbers.
    Example:
    ID_HELP_SYSTEM_DEFAULT              258353      Saving Project Defaults as System Defaults
    ID_HELP_EDITDATASET_TOOLBAR  258354      Editing Datasets Using the Mouse
    The Mapped IDs are blue and are not locked.  My FM TopicAlias Markers are all listed as Map IDs, I have Map#s for them and they point to the correct topic.  The center panel  shows Assign as grayed out. The project that worked in October looked just like this too, I checked.
    Recomplie. Place new chm file in application. It will open from the menu item for Help, it will open from F1 but it will not open from any of the mapped Help buttons.
    I uninstalled/reinstalled RH 9 and tried reimporting/compileing with an unpatched version. No change, still borked.
    There has not been a change in the application; there are no new IDs in this version. I tried the new compiled help in an older version of my application and it will not work. Same behavior.
    Any suggestions? Anyone else have this problem? What am i missing?

    I dont use the settings file, I use a FrameMaker doc as a template. It has all my styles and I set the others before the import. There arent very many.
    But, since you import from Frame, would you look at this and verify?
    Looking at Map File in the Edit Map IDs dialog On the left the panel the Map ID is listed, then the Map # and finally the topic title.
    Do your Topics show a notation at the end?
    Example: Averaging Datasets #CSH_71
    Then on the Topic panel if you find that same topic you see
    Topic symbol -Averaging Datasets   [and the Topic properties show “no map ids for this topic]
    Bookmark symbol -Averaging Dataset#CSH_71 [topic properties show the map id when you select it]
    Bookmark symbol -Averaging Datasets#IX_averaging_datasets
    Bookmark symbol-Averaging Datasets#XREF_25075_Averaging Datasets
    I understand the Index and cross ref markers, but the isolated book mark is odd. You would think the notation would be on the topic
    The chm file from October works in my latest build, and the developers swearz they changed NOTHING in the way it is called. I still have to talk to QM who do the builds just in case.

  • Problem with non-updated idocs

    Hi,
    we have a problem after upgrading from 3.5 to 7.0. Lots of extractors end
    in an error-message concerning non-updated idocs. Every day several
    extractors have this problem. This are not always the same extractors. As
    a result we must repair many extractions manually.
    I know the procedure of how to repair, but I want te know how I can prevent
    extractors from running into this problem in the first place.
    Any suggestions?
    This is the problem-message that we get...
    Non-updated Idocs found in Source System
    Diagnosis
    IDocs were found in the ALE inbox for Source System that are not updated.
    Processing is overdue.
    Error correction:
    Attempt to process the IDocs manually. You can process the IDocs
    manually using the Wizard or by selecting the IDocs with incorrect
    status and processing them manually.

    It has been happening on our env as well (BI 7.0 SP 12), time to time one load or the other gets into this problem and it waits yellow for few hrs before turning red.
    I can correct the IDOC and move on or run the load again it works fine.. but the process chain gets held up not going to the next stage for hrs..
    any resolution on your problem..
    thanks
    Mayil

  • Problems with processing outbound IDocs in background processes

    Hello everybody,
    I have a question for working with ABAP-PSS Ports.
    The behvaiour is that I want to send master data, for example customers, to a function module. This function module works like an converter which process and writes the files in the filesystem.
    Following situation:
    - I have defined a partner System with different message types, for example DEBMAS and everthing what is necessary to replicate data to partner systems.
    - I have defined also a Port like ABAP-PPS Port for calling my own function module.
    - If I runs the program I process only 50 Idocs per process because otherwise i can happen that there are to many look entries in the system and the job crashs. (For example all customers are around 50000 Idocs).
    Now my problem is that the worker for processing idocs starts each process in the foreground and in parallel.
    But this is very strange! Because then all dialog processes are reserved and the system will be very slow!
    How can I configure the Port or what have I to implement in my fucntion module to start processing in background (this is the very important point) and maybe allow the program only to use one or two process at the same time?
    I have found on the function module EDI_DOCUMENT_CLOSE_PROCESS which I the parameter "Background". What thas this mean? I have set B for this but it has no effect!
    Regards
    Christian

    I know that for inbound interface it is possible to define if in foreground or background and if parallel processing is allowed.
    Who knows how I can do this also for outbond?

  • Problems with context in JAXB and ActiveX bridge

    Hello!
    I'm using Java ActiveX Bridge for accesing from Navision to a digital invoice API developed by spanish Industry, Commerce and Tourism Department.
    I successfully executed the invoice creation process from a standalone java application. However, it doesn't work through activex bridge.
    I suspect the problem is probably related to a classloader woe. Here's the first code snippet I used:
      public static void marshal(es.mityc.facturae31.Facturae paramFacturae, String paramString)
        try
          logger.info("Loading context es.mityc.facturae31");
          JAXBContext localJAXBContext = JAXBContext.newInstance("es.mityc.facturae31");
          logger.info("Creating marshaller"); The obtained exception is:
    java.lang.NullPointerException
         at javax.xml.bind.ContextFinder.find(ContextFinder.java:279)
         at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
         at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)
         at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:244)
         at es.mityc.facturae.utils.MarshallerUtil.marshal(MarshallerUtil.java:85)
         at com.mailgrafica.navifacturae.Facturae31.firmar(Facturae31.java:3153)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at sun.plugin.javascript.JSInvoke.invoke(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
         at sun.plugin.com.MethodDispatcher.invoke(Unknown Source)
         at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
         at sun.plugin.com.BeanDispatchImpl.invoke(Unknown Source)Then, I changed code to make sure the context creation method receives a classloader which loads classes from appropiate jar file (Facturae-API.jar):
          URL[] urls = { new URL("file:///c:/Archivos de programa/Java/jre6/axbridge/lib/Facturae-API.jar"),
                    new URL("file:///c:/Archivos de programa/Java/jre6/axbridge/lib/lib/jaxb-api.jar"),
                    new URL("file:///c:/Archivos de programa/Java/jre6/axbridge/lib/lib/jaxb-impl.jar"),
                    new URL("file:///c:/Archivos de programa/Java/jre6/axbridge/lib/lib/jsr173_1.0_api.jar")};
          ClassLoader oldcloader = Thread.currentThread().getContextClassLoader();
          URLClassLoader cloader = new URLClassLoader(urls, oldcloader);
          Thread.currentThread().setContextClassLoader(cloader);
          logger.info("Created URLClassloader");
          logger.info("Loading context es.mityc.facturae31");
          JAXBContext localJAXBContext = JAXBContext.newInstance("es.mityc.facturae31", cloader);
          logger.info("Creating marshaller");
          Marshaller localMarshaller = localJAXBContext.createMarshaller();
          FacturaeNamespacePrefixMapper localFacturaeNamespacePrefixMapper = new FacturaeNamespacePrefixMapper();
          localMarshaller.setProperty("com.sun.xml.bind.namespacePrefixMapper", localFacturaeNamespacePrefixMapper);
          FileOutputStream localFileOutputStream = new FileOutputStream(paramString + ".xsig");
          logger.info("Starting the marshal process");
          System.out.println("Starting the marshal process");
          localMarshaller.marshal(paramFacturae, localFileOutputStream);  // Exception now is produced here.  Now the exception is:
    javax.xml.bind.JAXBException: class es.mityc.facturae31.Facturae nor any of its super class is known to this context.
         at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:478)
         at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
         at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
         at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:75)
         at es.mityc.facturae.utils.MarshallerUtil.marshal(MarshallerUtil.java:92)
         at com.mailgrafica.navifacturae.Facturae31.firmar(Facturae31.java:3153)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at sun.plugin.javascript.JSInvoke.invoke(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
         at sun.plugin.com.MethodDispatcher.invoke(Unknown Source)
         at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
         at sun.plugin.com.BeanDispatchImpl.invoke(Unknown Source)Could anybody help me? Thanks in advance.

    According problem 1: this is not normal behavior and you could try first to restart Bridge holding down option key to reset the preferences.
    But if you experience this also on the server I don't know if this solutions works. And according to problem 2, you should open a case on Adobe support using the little contact button top right on this page, not many users (including me) of this forum are using a server or know a lot about of that workflow :-(
    You could try a forum search also on the word server (Search for forum only works when you are on the mainpage with al the post for Bridge for some strange reason...)

  • Problem with Context-aware

    Hello,
    I have MSE 3310 ,which is connected toWCS.
    The problem that I can not see the exact location for the devices on the heatmap.
    they told me that they have already registered the Context- aware.
    can you help me please with this.
    What do I need to see the locations of the devices

    Please try to follow the quick start example: http://otn.oracle.com/products/text/x/Samples/Quick_Start/index.html

  • Problems with PORDCR101/2 IDOC Type

    Hi All,
    I am new to SDN so not sure of the protocol so please bear with me.
    I am trying to use IDOC type PORDCR101 to create purchase orders.
    In the segment E1BPMEPOHEADER I have mapped the the DOC_TYPE to NB (with the corresponding E1BPMEPOHEADERX set to X)
    But I am still getting a strange error message
    Document type ZU not allowed with doc. category F (Please check input)
    ZU is a bespoke requestion that exists in the system, but nowhere is this mapped. The standard NB Purchase order type exists in the system.
    If anybody can shed some light, I can provide the complete mapping if this is useful.
    thanks
    Shashi

    Hi G.Ganesh Kumar,
    The partner profile in WE20 the Partner Type is set correctly, the inbound parameters have message type PORDCR1 set correctly with the BAPI process code.
    I have no problem generating the idoc, I get the error 51 with the above description when the idoc tries to post.
    Shashi

Maybe you are looking for