Tagging tables for accessibility

Hello,
I've created a PDF with Adobe Acrobat 9 from a Word 2007 document. I am going through and making it 508 compliant. Luckily Adobe picked up most of the tags from Word and TH and TD cells are labelled correctly...usually. I've come across some tables whose TD and TH cells aren't labeled, though, and I don't know how to fix. Should I untag the whole table and retag each cell individually? Do I retag cells within an overlapping table tag?
Also, sometimes Adobe's autotag inserts additional cells that I'm not sure how to get rid of without having to clear the whole structure.
See above- this is how Adobe tagged my table. Sorry it's a bit blurry.
Why does the 4th TH cell cover 5 cells? How could I fix that? And why is the 1st cell in the 3rd row of data split into 2 TD cells?
Any advice would be appreciated! Thanks!

Hi,
Your screen shot has the appearance of a header row that has cells merged/spanned.
The overlay will try to place <TD> cells in the columns that the <TH> cell spans under the <TH> overlay.
Using Acrobat to "Add Tags to Document" you are getting a "best - guess".
For tables, this "best - guess" is always problematic.
You say the PDF came from Word 2007. In Word, assure the first row (header row) gets identified in Word as a repeating row.
Use either Adobe PDFMaker or Word's Save As to PDF (either with appropriate configuration to support accessible, tagged output) to provide an output Tagged PDF.
Then work in Acrobat Pro to dress up the table as appropriate.
Between work with the Table Editor and edits within the Tags panel the table can be render accessible (usable & Section 508 compliant).
Be well...

Similar Messages

  • Method :Want to Use Z-Table for Accessing Data

    Dear All,
      I am new to BADI. I have implented one HR-PAYROLL Badi.
      In this BADI I am having one method . I want to Use One Z-table for accessing data from
      that table . Not able define the table in method.
      Kindly tell me how to do it .
      Thanking you in Advance
      Siladitya

    Hello Siladitya
    I assume your problem is the definition of an itab for selecting data from your Z-table. In case of classes you have to use table types and workareas, e.g.:
    METHOD name_of_interface_method.
    DATA:
      lt_itab    TYPE TABLE OF <name of z-table>,
      ls_record  TYPE <name of z-table>.
      SELECT * FROM <name of z-table> INTO TABLE lt_itab.
      LOOP AT lt_itab INTO ls_record.
      ENDLOOP.
    ENDMETHOD.
    Regards
      Uwe

  • Condition table for access sequence (taxes calculation procedure)

    Hi,
    We need to perform tax calculation procedure in which there will be fields in condition table for a particular access sequence such that whenever we give the Country, Region and city in the condition table it will pick up the corresponding tax value.
    Condition table field -- KOTABNR.
    Path -->
    FI --  **** -- Taxes on sales / purchase -- Check calculation procedure -- Access sequences.
    Select tax calc say for country US with jurisdiction and check acess sequence. There we have condition table referred to as 53 and we can see the fields by clicking on fields.
    How to create a new condition table.
    Please guide me through asap.
    Thanks and regards,
    Priyajit Ghosh

    Hi,
    This does not allow us to create a new condition table. However we are allowed to change a standard SAP standard condition table. Is there any way to create a new Z table (condition table) . Please revert back asap.
    Thanks and regards,
    Priyajit

  • 1)unexpected Exception:page fault accessing tag table 2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table

    i am trying to call WCF service by using Jsr 172 method
    but i got the two error
    1)unexpected Exceptionage fault accessing tag table
    2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table
    does anybody knows about how to solve this error.
    Plz help me
    thanks in advance!!!!!!!!!!!
      My Code is:-----
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.container.MainScreen;
    public class webservice extends UiApplication
        public webservice()
            pushScreen(new myscreen());
        public static void main(String[] args)
            webservice t=new webservice();
            t.enterEventDispatcher();
    final class myscreen extends MainScreen implements FieldChangeListener
        //taking this program from :-http://blog.bayestech.com/?p=78
         public myscreen()
             setTitle("HI");
             ButtonField g=new ButtonField("OK",ButtonField.CONSUME_CLICK);
             g.setChangeListener(this);
             add(g);
        public void fieldChanged(Field field, int context)
            try
                testServiceCall();
            catch (RemoteException e)
                Dialog.alert(e.getMessage());
                Dialog.alert(e.toString());
         public void testServiceCall() throws RemoteException
                TestService_Stub service = new TestService_Stub();
                //String  message = service.helloWorld();
               // Dialog.alert(message);
              // String  message2=service.echoName("ankush,nilesh,chetan,ravi");
                //Dialog.alert(message+"  second message  "+message2);
                // Object addition_output=service.addition(7,2);
                 //Dialog.alert("your addition is" +  String.valueOf(addition_output));
                 String  login_message = service.logOn_method("abcdefg","aaaaa");
                 Dialog.alert("login successfully");
                 Dialog.alert(login_message);
    //////////////TestService_Stub class file///////////////////////
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.namespace.QName;
    import javax.microedition.xml.rpc.Operation;
    import javax.microedition.xml.rpc.Type;
    import javax.microedition.xml.rpc.ComplexType;
    import javax.microedition.xml.rpc.Element;
    import net.rim.device.api.ui.component.Dialog;
    public class TestService_Stub implements TestService,javax.xml.rpc.Stub
        ///calling web services by using jsr-172 method
        //website link :- http://blog.bayestech.com/?p=78
        private String[] _propertyNames;
        private Object[] _propertyValues;
      //  private Object[] _propertyValues1;
        public TestService_Stub()
            _propertyNames = new String[] { ENDPOINT_ADDRESS_PROPERTY };
           // _propertyValues = new Object[] { "http://test.bayestech.com/Services/TestService.asmx" };
          // _propertyValues = new Object[] { "http://soft21/testWCF/Service.svc" };
            _propertyValues = new Object[] { "< url name >" };
     protected void _prepOperation(Operation op)
            for (int i = 0; i < _propertyNames.length; ++i)
                op.setProperty(_propertyNames[i], _propertyValues[i].toString());
     public String logOn_method(String usr_name,String password_name ) throws java.rmi.RemoteException
          Object inputObject[] = new Object[]
                  usr_name,
                  password_name
          Operation op = Operation.newInstance( _qname_operation_logOn, _type_logOn, _type_logOnResponse );
          _prepOperation( op );
          op.setProperty( Operation.SOAPACTION_URI_PROPERTY, "<soap action name >" );
          Object resultObj;
          try
              resultObj = op.invoke( inputObject );
              Dialog.alert((String)resultObj);
          catch( JAXRPCException e )
              Throwable cause = e.getLinkedCause();
              if( cause instanceof java.rmi.RemoteException )
                  throw (java.rmi.RemoteException) cause;
              Dialog.alert(e.getMessage());
              throw e;
          return (String )((Object[])resultObj)[0];
     protected static final QName _qname_operation_logOn = new QName( "<soap action name>", "logOn" );
        protected static final QName _qname_logOnResponse = new QName( "<soap action name>", "logOnResponse" );
        protected static final QName _qname_logOn = new QName( "<soap action name>", "logOn" );
        protected static final Element _type_logOn;
        protected static final Element _type_logOnResponse;
        static
     _type_logOn = new Element( _qname_logOn, _complexType( new Element[] {
                 new Element( new QName( "<soap action name>", "usr_name" ), Type.STRING, 0, 1, false ),
                 new Element( new QName( "<soap action name>", "password_name" ), Type.STRING, 0, 1, false )}), 1, 1, false );
            _type_logOnResponse = new Element( _qname_logOnResponse, _complexType( new Element[] {
                  new Element( new QName( "<soap action name>", "logResult" ), Type.INT, 0, 1, false )}), 1, 1, false );
        private static ComplexType _complexType( Element[] elements )
            ComplexType result = new ComplexType();
            result.elements = elements;
            return result;
        public void _setProperty(String name, Object value) {
            // TODO Auto-generated method stub
        public Object _getProperty(String name) {
            // TODO Auto-generated method stub
            return null;
        public String echoName(String name) throws RemoteException {
            // TODO Auto-generated method stub
            return null;
        public String helloWorld() throws RemoteException {
            // TODO Auto-generated method stub
            return null;
    i am trying to call WCF service by using Jsr 172 method
    but i got the two error
    1)unexpected Exceptionage fault accessing tag table
    2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table
    does anybody knows about how to solve this error.
    Plz help me
    thanks in advance!!!!!!!!!!!
      My Code is:-----
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.container.MainScreen;
    public class webservice extends UiApplication
        public webservice()
            pushScreen(new myscreen());
        public static void main(String[] args)
            webservice t=new webservice();
            t.enterEventDispatcher();
    final class myscreen extends MainScreen implements FieldChangeListener
        //taking this program from :-http://blog.bayestech.com/?p=78
         public myscreen()
             setTitle("HI");
             ButtonField g=new ButtonField("OK",ButtonField.CONSUME_CLICK);
             g.setChangeListener(this);
             add(g);
        public void fieldChanged(Field field, int context)
            try
                testServiceCall();
            catch (RemoteException e)
                Dialog.alert(e.getMessage());
                Dialog.alert(e.toString());
         public void testServiceCall() throws RemoteException
                TestService_Stub service = new TestService_Stub();
                //String  message = service.helloWorld();
               // Dialog.alert(message);
              // String  message2=service.echoName("ankush,nilesh,chetan,ravi");
                //Dialog.alert(message+"  second message  "+message2);
                // Object addition_output=service.addition(7,2);
                 //Dialog.alert("your addition is" +  String.valueOf(addition_output));
                 String  login_message = service.logOn_method("abcdefg","aaaaa");
                 Dialog.alert("login successfully");
                 Dialog.alert(login_message);
    //////////////TestService_Stub class file///////////////////////
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.namespace.QName;
    import javax.microedition.xml.rpc.Operation;
    import javax.microedition.xml.rpc.Type;
    import javax.microedition.xml.rpc.ComplexType;
    import javax.microedition.xml.rpc.Element;
    import net.rim.device.api.ui.component.Dialog;
    public class TestService_Stub implements TestService,javax.xml.rpc.Stub
        ///calling web services by using jsr-172 method
        //website link :- http://blog.bayestech.com/?p=78
        private String[] _propertyNames;
        private Object[] _propertyValues;
      //  private Object[] _propertyValues1;
        public TestService_Stub()
            _propertyNames = new String[] { ENDPOINT_ADDRESS_PROPERTY };
           // _propertyValues = new Object[] { "http://test.bayestech.com/Services/TestService.asmx" };
          // _propertyValues = new Object[] { "http://soft21/testWCF/Service.svc" };
            _propertyValues = new Object[] { "< url name >" };
     protected void _prepOperation(Operation op)
            for (int i = 0; i < _propertyNames.length; ++i)
                op.setProperty(_propertyNames[i], _propertyValues[i].toString());
     public String logOn_method(String usr_name,String password_name ) throws java.rmi.RemoteException
          Object inputObject[] = new Object[]
                  usr_name,
                  password_name
          Operation op = Operation.newInstance( _qname_operation_logOn, _type_logOn, _type_logOnResponse );
          _prepOperation( op );
          op.setProperty( Operation.SOAPACTION_URI_PROPERTY, "<soap action name >" );
          Object resultObj;
          try
              resultObj = op.invoke( inputObject );
              Dialog.alert((String)resultObj);
          catch( JAXRPCException e )
              Throwable cause = e.getLinkedCause();
              if( cause instanceof java.rmi.RemoteException )
                  throw (java.rmi.RemoteException) cause;
              Dialog.alert(e.getMessage());
              throw e;
          return (String )((Object[])resultObj)[0];
     protected static final QName _qname_operation_logOn = new QName( "<soap action name>", "logOn" );
        protected static final QName _qname_logOnResponse = new QName( "<soap action name>", "logOnResponse" );
        protected static final QName _qname_logOn = new QName( "<soap action name>", "logOn" );
        protected static final Element _type_logOn;
        protected static final Element _type_logOnResponse;
        static
     _type_logOn = new Element( _qname_logOn, _complexType( new Element[] {
                 new Element( new QName( "<soap action name>", "usr_name" ), Type.STRING, 0, 1, false ),
                 new Element( new QName( "<soap action name>", "password_name" ), Type.STRING, 0, 1, false )}), 1, 1, false );
            _type_logOnResponse = new Element( _qname_logOnResponse, _complexType( new Element[] {
                  new Element( new QName( "<soap action name>", "logResult" ), Type.INT, 0, 1, false )}), 1, 1, false );
        private static ComplexType _complexType( Element[] elements )
            ComplexType result = new ComplexType();
            result.elements = elements;
            return result;
        public void _setProperty(String name, Object value) {
            // TODO Auto-generated method stub
        public Object _getProperty(String name) {
            // TODO Auto-generated method stub
            return null;
        public String echoName(String name) throws RemoteException {
            // TODO Auto-generated method stub
            return null;
        public String helloWorld() throws RemoteException {
            // TODO Auto-generated method stub
            return null;

    Vishnu,
    I'm working on Ludwig's testcase.
    Ludwig's testcase is based on read-only View Objects.
    Is it also the case in your application ?
    I was unable to reproduce with VOs based on EOs.
    With read-only VOs, you can avoid the ArrayIndexOutOfBoundsException by setting the "Key Attribute" property for the PK of the Master VO.
    See the ADF Developer's Guide, topic "7.9.3 What You May Need to Know About Enabling View Object Key Management for Read-Only View Objects"
    URL: http://download-uk.oracle.com/docs/html/B25947_01/bcvoeo009.htm#BABJEEFA
    Regards,
    Didier.

  • Data area for accessing table is too small., error key: RFC_ERROR_SYSTEM_FA

    Hi all,
    I build a java applicatio to call a sap function.
    This FM have only an import parameter as structure, the last field of this structure is 16000 characters long.
    When I start the application if the long field is empty all works fine, but if I fill it the java compiler send me this runtime error:
    [code]
    Exception in thread "main" com.sap.aii.proxy.framework.core.BaseProxyException:
    Data area for accessing table is too small.,
    error key: RFC_ERROR_SYSTEM_FAILURE
         at com.sap.aii.proxy.framework.core.AbstractProxy.send$(AbstractProxy.java:150)
         at bi9032.BI_9032_PortType.zhr_Bi_9032(BI_9032_PortType.java:16)
         at bi9032.Startapp.main(Startapp.java:50)
    [/code]
    Any one can me explain the problem?
    It's possible that I can't pass a large data quantity?
    thanks and regards,
    enzo
    Message was edited by: Enzo Porcasi

    I understood that it's a sap problem,
    so I will write in the abap forum,
    bye
    enzo

  • Possible to Turn Off Tagging for Accessibility?

    Question: Is it possible to skip or disable tagging for accessibility option during conversion of a Word doc to PDF?
    I convert 90+ doc's to PDF to deliver my project twice yearly. Most files are 200 pages +. ADOBE often falls over during conversion. Usually it appears the tagging phase is problematic. Sometimes for especially large files, Acrobat prompts to skip tagging in order to speed up conversion. When I accept [Yes] to turn off tagging, the PDF is generated very rapidly with no issues. I would like to turn of tagging permanently.
    How do I do this, if possible. I have consulted Help, and checked all the menu options, but cannot figure out if possible nor how to accomplish.
    Thanks for any help you can give.

    30 seconds after posting, found the answer to my own question.
    In MS Word, Under Adobe PDF > Conversion Settings > Settings Tab, uncheck Enable Accessibility...

  • How to Lock a data base table for write access.

    Hi All,
    I have a requirement where in I have to insert a bunch of data into a standard table using some function module. I want to lock the table for the others to insert/modity the records during my insertion. Please help me provide the procedure how to lock a table for write access for others.
    thanks and regards,
    Naresh

    Hi,
    See to this link it may help you.
    http://help.sap.com/saphelp_47x200/helpdata/en/af/22ab01dd0b11d1952000a0c929b3c3/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/af/22ab01dd0b11d1952000a0c929b3c3/frameset.htm

  • How to access a table for changes

    I'm iterating through the Pgf objects in a flow, and for each one I look for table anchors. I find the table anchor, then what do I do to access its Tbl object and do things with it? I'm just trying to find out if there are any changebars in the table. I don't think using Doc.FirstTblInDoc will help me because I'm starting with a TblAnchor text item.
    I run this code on a doc that has only one paragraph with a table anchor in it:
    function test() {
        doc = app.ActiveDoc;
        var pgf = doc.MainFlowInDoc.FirstTextFrameInFlow.FirstPgf;
        while ( pgf.ObjectValid() ) {
        var textitems = pgf.GetText(Constants.FTI_TblAnchor);
        var aa = textitems[0];
        Console('what is this: '+aa);
        pgf = pgf.NextPgfInFlow;
    This prints "what is this: [object TextItem]".
    Seems like I should be able to do something like this to get the Tbl object:
    myTable = textitems[0].idata;
    Am I warm? Once I get the Tbl object, I'm hoping it's a simple matter of using GetText to get changes, then finding a changebar.
    Thanks,
    Mark

    Here's the working code I ended up using to search through a table and find out if it had any changebars.
    Mark
    // Find a changebar in tables. The context is iterating through the Pgfs in a doc.
    function findChangebarInTable(pgf) {
        var tableitems = pgf.GetText(Constants.FTI_TblAnchor);
        // If no table anchors, return now.
        if (tableitems.length == 0) { return; }
        for (var i = 0; i < tableitems.length ; i += 1) {
            // get table using table anchor.
            var table = tableitems[i].obj;
            cellChangebar = searchCells(table);
            // If there's a changebar in any table, return.
            if (cellChangebar) {
                return true;
    // Search the cells of the table for a changebar.
    function searchCells(table) {
        var tcell = table.FirstRowInTbl.FirstCellInRow;
        while (tcell.ObjectValid()) {
            // Get changed items in this cell.
            var cellitems = tcell.GetText(Constants.FTI_CharPropsChange);
            for (var i=0; i < cellitems.len ; i +=1) {
                // Find out if the Cell has a changebar.
                // The result of the bitwise AND (&) must be greater than 0 or no changebar.
                var c = cellitems[i].idata & Constants.FTF_CHANGEBAR;
                if (c > 0) {
                    return true;
            tcell = tcell.NextCellInTbl;

  • Tax condition table for an access sequence

    Hi,
    I serched in the forums to find t.code or menu path for creating a tax condition table for MWST tax condition type, but no body has given any specific answer.  most of them have given the SD or MM related condition tables.
    My requirement is, I want to create a key combination for "MWST" TAX condition type.  Please let me know the process of creating the key combination for TAX condition type. 
    Thanks in advance.
    Anil

    Hi
    MWST is the standard progarm access sequence
    condition type  is base to calculation of main the tax procedure
    but the thing the access sequence and conition type are pure MM, SD Work,
    if you need to table :
    T685,T685A,T685T,
    are else you use Z table with the help of technical consultants'
    Thanks
    Madhu

  • CONDITION TABLE FOR ADDING IN ACCESS SEQUENCE.

    Dear
    I want to create new condition table for tax procedure access sequence.
    Can somebody tell me the T-code or Path where I can check or Create new condition table which will help in getting the key combination (TAX CODE) in FV11.
    Thanks,
    Dhanu

    hi,
    path to create new condition table
    spro->mm->purchasing->conditions->define pricing determination procedure->maitain condition table.
    here u can maitain condition table, further u can assign the same in access sequence.
    in OBYZ  t-code as it is for taxes
    regards,
    sujit

  • Designing for Accessibility

    I am trying to create accessible pdf from an InDesign original.  I have watched the videos and tried very hard, and it seems much easier to create accessible epub than accessible pdf.  Is there an interest group on accessibility? here or elsewhere? where I can talk with like-minded folks?
    We publish a newsletter four times a year, 8 pages, 2 columns, pretty for print.  In the past we have also put all these articles on the web.
    New management is asking us to publish "pdf only".  That is excluding all our print-handicapped users, of which there are many.  I am scrambling to product accessible pdf, and it is not easy.
    Can I put "bookmarks" into InDesign that will be carried out into PDF so that I can use them as PDF Open Parameters?  I want to direct people to a specific article within the pdf file (say on page 5).  I see how to do it, but it seems you have to enter the bookmarks in the PDF file itself, after creating it.  This makes changes very awkward as all the PDF work has to be re-done every time you recreate the file.  If I could put them into InDesign and have them available to all formats, that would be wonderful.
    Ideally, I would like to have an InDesign master from which I could extract to html, or pdf, or ebook, or Kindle, and carry all the tagging, table of contents, etc. in a logical reading order to the distribution format.
    I would love to talk with someone else who is already doing this!
    Thank you,
    Joyce

    Can I put "bookmarks" into InDesign that will be carried out into PDF so that I can use them as PDF Open Parameters?  I want to direct people to a specific article within the pdf file (say on page 5).  I see how to do it, but it seems you have to enter the bookmarks in the PDF file itself, after creating it. 
    You can use either generate Bookmarks in InDesign using the Bookmarks panel (Window > Interactive > Bookmarks).
    Or, better, you can use the Layout > Table of Contents feature, and check Include in PDF (or some such) when you export the PDF. You'll have to read about creating a table of contents in Help or watch a video.
    Remember, bookmarks are not the same thing as hyperlinks. Hyperlinks are found in the Hyperlinks panel.
    It sounds like you're learning InDesign as you're doing this. You might get a book like Real World InDesign, or watch Lynda.com videos to help you with some of these techniques.
    I don't know of an Accessibility interest group.
    You should definitely watch these Adobe TV videos:
    Preparing Accessible PDFs with Adobe InDesign CS5.5: Part I
    Preparing Accessible PDFs with Adobe InDesign CS5.5: Part II

  • Creation of New Table for Delivery Output Type.

    Hi Guys,
    I need to replace an existing table by creating a new Table in the existing Access Sequence with the combination of "Ship to Party/Product Hierarchy".
    Logistics>Shipping>basic Shipping functions>Output determination>Maintain Condition Tables-->maintain output condition table for deliveries.
    I am choosing a new table by the name 902, but i am not getting the field " PRODH Product Hierarchy" on the right hand side to choose from.
    I checked the field catelog also. Firstly the field catelog was also not having the field, and then i added the field in it by choosing new entries.
    I guess i am missing some step in between, thats why the new field (PRODH) is not showing on the right hand side while creation of the condition table.
    One more thing, when i am seeing the Field Catelog, i am able to see a very large number of fields, then why only a few are appearing during creation of a new table??????
    Can you guys correct me and let me find a way.????
    Thanks very much indeed.
    Regards,
    Vivek

    Hi If u have already the field in FC u can add with new entries .
    Try with ,enter t- code <b>SE11</b>, enter <b>KOMB</b>- it will ask for access key get from basis and add u r Field catalog
    Field catalog for condition key: output determination
    If at all u want a new field tao add to u r FC u Can try with userexit.
    1)ADDING OF NEW FIELDS IN PRICING  
    In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields.
       The fields which are not in either of the two tables KOMK and KOMP
    cannot be used in pricing .Sometimes a need arises when the pricing
    is to be based on some other criteria which is not present in the form of fields in either of the two tables.
      This problem can be solved by using USEREXITS which are provided for pricing in SD.
      Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is
    USEREXIT_PRICING_PREPARE_TKOMP  or
    USEREXIT_PRICING_PREPARE_TKOMK
    Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.
    In the case of userexit which will be called when invoicing is done ,these
    are provided in the include RY60AFZZ which is in the standard SAP
    program SAPMV45A. The name of the userexits are same. i.e
    USEREXIT_PRICING_PREPARE_TKOMP  or
    USEREXIT_PRICING_PREPARE_TKOMK
    These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely
    created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that
    has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.
    Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose
    includes are provided in each of them .
    To create the field in header data(KOMK) the include provided is KOMKAZ
    and to create the field in item data(KOMP) the include provided is KOMPAZ.
    One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.
    2)The other method of finding userexit is to find the word USEREXIT in the
    associated program of the transaction for which we want to determine userexit using SE38.
    3)The other method of finding userexits is to find the include in case of SD/MM applications where the userexits are located ,this can be found in the SAP reference IMG generally in the subfolder under SYSTEM MODIFICATION.
    Some other examples of userexits in SD are:<b></b>
    Message was edited by:
            SHESAGIRI GEDILA

  • Sales Order Unable to Use New Condition Tables for Tax Condition Type

    Dear All,
    I am currently working on SAP R/3 4.0. I have a new requirement for my tax where I need to create new condition tables other than the 4 standard SAP tables which are Customer/Material, Division/Customer, Departure Country/Destination Country, Domestic Taxes and Export Taxes. My new tables consists of Departure Country/Destination Country/Shipping Point/Tax Code. The requirement is that the tax code is based on the chosen destination country and shipping point. The problem I am facing now is that no matter what types of table I create or even I generate with reference to the standard table, the access sequence will only refer to the 4 standard SAP tables above. Even if I put my own table in the highest priority for the access sequence, the same thing happens. My sales order will only pick up date from the standard table.
    I wonder if anyone encountered the same problem as me.
    Kindly advise.
    Thank you.
    Regards,
    Yvonne

    Hi
    Yvonne
    I suggest fist check a simple thing ,whether u have successfully determined shipping point for each line item ,it is possible that just adding a line item will not trigger shipping point determination . So after u update the shipping point on line level u can rerun pricing and check agian if u r getting it .
    Secondly for tax purposes I suggest   Try to have Customer and material tax classification approach  this allows to u have long term flexibiliy and also reduces your maintenance activity . As if u change or add number of shipping points and business changes using the sequence of shipping point ,the logic of just using shipping point will not work.
    In Tax classification u cna add new condition table for each new tax category and use it in different access sequences.
    This information can be passed on to FI using Different Tax code for Different combination.
    I hope this helps
    Regards
    Mandar

  • Z table for Closing Stock

    Hi ,
    My  requirement is to make Z table for closing stock.
    As ours is a pharma firm  and we have implemented SAP in Aug 2008.
    Now for  closing stk  we are using S033 and MSEG table to get opening stk
    SELECT SUM( mzubb ) SUM( magbb ) INTO (w_dr_menge , w_cr_menge)
            FROM s033
           WHERE sptag < so_fkdat-low
             AND werks = werks
             AND matnr = matnr.
      w_opening_balance = w_dr_menge - w_cr_menge.
    and for closing stk = opening stk - sale + receive.
    Now the problem is  when we want to retrieve data for closing stk for last month ,it is checking all the records since Aug 2008  for opening stk and it is taking too much time to retrieve data.
    Can anyone plz suggest any alternative for thsi problem.
    I will really appriciate your help.
    Regards,
    Archana

    Hi
    done this before. for sure you will experience an performance problem in your current setup. what we did is we create a program that calculates the ending inventory of the month then beginning inventory of the following month we are executing this in every end of the month. In that case when we need to access the previous month the ztable must be use. make sure that your program can do rerun of the ending and beginning of stock because there are chances of previous posting of reversals.
    Thanks,
    Best regards,
    Etrafanob

  • New Condition TAble for Inbound Delivery

    Hello
    i want to maintain a new Condition table for the Inbound delivery picking with the combination of _Delivery type/Plant
    so that the Inbound created for the particular plant alone uses the particular output type.
    Where in IMG can i configure the new Condition table for this combination for the Inbound delivery ?

    Hi,
    Go to SPRO > Logistics Execution > Shipping > Basic Shipping Functions > Output Control > Output Determination > Maintain Output Determination for Inbound Deliveries > Here perform following;
    - Define Condition Table for Inbound Delivery
    - Define Output Types for Inbound Delivery
    - Define Access Sequence for Inbound Delivery
    - Maintain Output Determination Procedure
    - Assign Output Determination Procedures

Maybe you are looking for

  • Purchase order status open

    Hi Experts, Due to some other reasons we tried clear GR/IR clearing a/c. i will explain clearly. We have some purchase orders pertaining to 2006 year. we have not done MIGO and we did MIRO, So that we could not able to clear GR/IR A/C. SO, we have po

  • How to retrieve the  drive letter of the current directory with an applet ?

    The subject says it all. I have this html file and when launched it should get the current drive's letter. This is how it's done in java, but I dunno how to make it in an applet version. import java.*; import java.io.File; public class test { public

  • Double counting an insert in the db

    When I run the following code – the INSERT INTO occurrence seems to repeat itself – Thus, I am double counting each word: Example, if I have three words, (Help, Hope & Peace) – each word is placed in the word table – but, when inserted into the occur

  • ARQ: Manager Id manual selection from the list???

    Hi, I had discussed in my other thread here that, in some of the cases, a user may not have manager id for some reason either in HR or AD. For such users, the option is to select manager id manually from the list by pressing F4. The problem is that,

  • Issues Opening An Existing Captivate 7 File

    I'm having issues opening an existing Captivate 7 file, I had worked on this file this morning it opened properly, saved it and then opened again and a pop-up window appeared. I have attached a snapshot of this message. I had tried to open other file