Batch reading request doesn't prefix field names by table name

A batch reading request doesn't prefix field names by table name and I've got a AmbigiousException which is normal because there is the same fields in the 2 tables.
The following code :
//call a ReadAllQuery and return a list of AffaireImpl
List<Affaire> listeAffaire =  affaireDao.getAffaireCorrespondantes(lccJrd, lnaAnnee, lnaOrdre, lcNataffCode, lnaNoSuite);
for (Affaire affaire : listeAffaire) {
   //there is a one to Many mapping on Affaire to Dossier, with Transparent Indirection, Read-Ony and Batch Reading
   //this metod generate the wrong batch reading method
   List<Dossier> listeDossiers = affaire.getDossier();
generates the following requests:
ReadAllQuery(eu.curia.litige.model.AffaireImpl) --
SELECT * FROM LA_AFF WHERE ( ((LCC_JRD = 'C') AND (LNA_ANNEE = 8)) AND (LNA_ORDRE = 8))
ReadAllQuery(eu.curia.litige.model.DossierImpl) --
SELECT t0.*
FROM LA_DOSSIER t0, LA_AFF t1
WHERE
(((t0.LNA_NO_SUITE = t1.LNA_NO_SUITE) AND ((t0.LCC_JRD = t1.LCC_JRD) AND ((t0.LC_NATAFF_CODE = t1.LC_NATAFF_CODE) AND ((t0.LNA_ANNEE = t1.LNA_ANNEE) AND (t0.LNA_ORDRE = t1.LNA_ORDRE)))))
AND UPPER(LCC_JRD) = 'C' AND UPPER(LNA_ORDRE) = '8' AND UPPER(LNA_ANNEE) = '8')+
but the request should be :
SELECT t0.*
FROM LA_DOSSIER t0, LA_AFF t1
WHERE
(((t0.LNA_NO_SUITE = t1.LNA_NO_SUITE) AND ((t0.LCC_JRD = t1.LCC_JRD) AND ((t0.LC_NATAFF_CODE = t1.LC_NATAFF_CODE) AND ((t0.LNA_ANNEE = t1.LNA_ANNEE) AND (t0.LNA_ORDRE = t1.LNA_ORDRE)))))
AND t1.LCC_JRD = 'C' AND t1.LNA_ORDRE = '8' AND t1.LNA_ANNEE = '8')+
It's strange because this is the only place the batch reading doesn't prefix and uses a UPPER.
For now we have disabled the batch reading, but it decreases the performanes (the list of affaire can be hudge).
Any Idea?
We use TopLink 10.1.3 on a Oracle 10g Database.
Edited by: krampstudio on 2 déc. 2011 07:40
Edited by: krampstudio on Dec 7, 2011 11:57 AM

Here the mapping (I've also remove the tags of some of the direct mapping fields to simplify the reading)
     <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
         <opm:class>eu.curia.litige.model.AffaireImpl</opm:class>
         <opm:alias>Affaire</opm:alias>
         <opm:primary-key>
            <opm:field table="LA_AFF" name="LC_NATAFF_CODE" xsi:type="opm:column"/>
            <opm:field table="LA_AFF" name="LCC_JRD" xsi:type="opm:column"/>
            <opm:field table="LA_AFF" name="LNA_ANNEE" xsi:type="opm:column"/>
            <opm:field table="LA_AFF" name="LNA_NO_SUITE" xsi:type="opm:column"/>
            <opm:field table="LA_AFF" name="LNA_ORDRE" xsi:type="opm:column"/>
         </opm:primary-key>
         <opm:events xsi:type="toplink:event-policy"/>
         <opm:querying xsi:type="toplink:query-policy">
            <toplink:does-exist-query xsi:type="toplink:does-exist-query">
               <toplink:existence-check>check-database</toplink:existence-check>
            </toplink:does-exist-query>
         </opm:querying>
         <opm:attribute-mappings>
            <opm:attribute-mapping xsi:type="toplink:one-to-many-mapping">
               <opm:attribute-name>dossier</opm:attribute-name>
               <opm:read-only>true</opm:read-only>
               <opm:get-method>getDossier</opm:get-method>
               <opm:set-method>setDossier</opm:set-method>
               <opm:reference-class>eu.curia.litige.model.DossierImpl</opm:reference-class>
               <opm:target-foreign-key>
                  <opm:field-reference>
                     <opm:source-field table="LA_DOSSIER" name="LCC_JRD" xsi:type="opm:column"/>
                     <opm:target-field table="LA_AFF" name="LCC_JRD" xsi:type="opm:column"/>
                  </opm:field-reference>
                  <opm:field-reference>
                     <opm:source-field table="LA_DOSSIER" name="LNA_ANNEE" xsi:type="opm:column"/>
                     <opm:target-field table="LA_AFF" name="LNA_ANNEE" xsi:type="opm:column"/>
                  </opm:field-reference>
                  <opm:field-reference>
                     <opm:source-field table="LA_DOSSIER" name="LNA_ORDRE" xsi:type="opm:column"/>
                     <opm:target-field table="LA_AFF" name="LNA_ORDRE" xsi:type="opm:column"/>
                  </opm:field-reference>
                  <opm:field-reference>
                     <opm:source-field table="LA_DOSSIER" name="LC_NATAFF_CODE" xsi:type="opm:column"/>
                     <opm:target-field table="LA_AFF" name="LC_NATAFF_CODE" xsi:type="opm:column"/>
                  </opm:field-reference>
                  <opm:field-reference>
                     <opm:source-field table="LA_DOSSIER" name="LNA_NO_SUITE" xsi:type="opm:column"/>
                     <opm:target-field table="LA_AFF" name="LNA_NO_SUITE" xsi:type="opm:column"/>
                  </opm:field-reference>
               </opm:target-foreign-key>
               <toplink:batch-reading>true</toplink:batch-reading>
               <toplink:container xsi:type="toplink:list-container-policy">
                  <toplink:collection-type>oracle.toplink.indirection.IndirectList</toplink:collection-type>
               </toplink:container>
               <toplink:indirection xsi:type="toplink:transparent-collection-indirection-policy"/>
               <toplink:selection-query xsi:type="toplink:read-all-query">
                  <toplink:container xsi:type="toplink:list-container-policy">
                     <toplink:collection-type>oracle.toplink.indirection.IndirectList</toplink:collection-type>
                  </toplink:container>
               </toplink:selection-query>
            </opm:attribute-mapping>
            <opm:attribute-mapping xsi:type="toplink:direct-mapping">
               <opm:attribute-name>lccJrd</opm:attribute-name>
               <opm:field table="LA_AFF" name="LCC_JRD" xsi:type="opm:column"/>
            </opm:attribute-mapping>
            <opm:attribute-mapping xsi:type="toplink:direct-mapping">
               <opm:attribute-name>lcNataffCode</opm:attribute-name>
               <opm:field table="LA_AFF" name="LC_NATAFF_CODE" xsi:type="opm:column"/>
            </opm:attribute-mapping>
            <opm:attribute-mapping xsi:type="toplink:direct-mapping">
               <opm:attribute-name>lnaAnnee</opm:attribute-name>
               <opm:field table="LA_AFF" name="LNA_ANNEE" xsi:type="opm:column"/>
            </opm:attribute-mapping>
            <opm:attribute-mapping xsi:type="toplink:direct-mapping">
               <opm:attribute-name>lnaNoSuite</opm:attribute-name>
               <opm:field table="LA_AFF" name="LNA_NO_SUITE" xsi:type="opm:column"/>
            </opm:attribute-mapping>
            <opm:attribute-mapping xsi:type="toplink:direct-mapping">
               <opm:attribute-name>lnaOrdre</opm:attribute-name>
               <opm:field table="LA_AFF" name="LNA_ORDRE" xsi:type="opm:column"/>
            </opm:attribute-mapping>
         </opm:attribute-mappings>
         <toplink:descriptor-type>independent</toplink:descriptor-type>
         <toplink:caching>
            <toplink:cache-invalidation-policy xsi:type="toplink:time-to-live-cache-invalidation-policy">
               <toplink:time-to-live>30000</toplink:time-to-live>
            </toplink:cache-invalidation-policy>
         </toplink:caching>
         <toplink:instantiation/>
         <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
         <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
         <toplink:tables>
            <toplink:table name="LA_AFF"/>
         </toplink:tables>
      </opm:class-mapping-descriptor>

Similar Messages

  • How to find Field Name and Table Name

    Hi All,
    I got some output values from the legacy system with me but need to know whats the actual field name and table name to which i need to transfer these values. How can i do it, since which theres is not field name or despcription given for the data.
    Is there any way i can do it.
    Points will be rewarded for all useful answers.
    Regards
    AB

    Hi All,
    I got some output values from the legacy system with me but need to know whats the actual field name and table name to which i need to transfer these values. How can i do it, since which theres is not field name or despcription given for the data.
    Is there any way i can do it.
    Points will be rewarded for all useful answers.
    Regards
    AB
    Hi Abuser,
            now u have legacy data. now u want to do upload this data from legacy to r/3 by using one sap transaction. yes ok na..
      first of all u want to know the data is relevant to the which transaction...
       without knowing the transaction u cant trasfer the data..
    then open transaction put cursor on i/p field and click on f1
    and find out the field name & table..
    this is one method to find the field name and table name.

  • Field NAme and Table Name

    Hi All,
    I got some output values from the legacy system with me but need to know whats the actual field name and table name to which i need to transfer these values. How can i do it, since which theres is not field name or despcription given for the data.
    Is there any way i can do it.
    Points will be rewarded for all useful answers.
    Regards
    AB

    if you know the transaction code you use to post the uploaded data in SAP, you just need to do BDC recording in using transation SM35. Record the whole process and create a program from the recording... and you wont even need to know the tables and field names-- almost everything will be done for you....
    All you need to do is replace record data with upload data.
    You can also try to look for a standard Function Module / BAPI which can do the processing for you and provide it with a table containing the upload data ...
    Reward points if useful

  • Delivery note field name and table name in MIGO

    hi experts,
    i want to fetch delivery note for my material document  in MIGO.
    Also based on MIGO delivery note NUMBER , i need to fetch MIRO document number i.e  mir4 dcoument number.
    kindly provide field name and table names for delivery note .
    thnaks &r egards,
    raghul

    hi karthik,
    Thanks for your quick reply.
    Actually i developed a zreport which consists of fields
    1. vendor
    2. refrence
    3. po
    4. material
    5. material document
    6. qty
    7. amount
    8. movement type
    9. plant
    These data i fetched from MB51  by using submit logic.
    All above fields are in one internal table.
    Now Based on MB51 reference  number , i want to fetch
    1. MIR4 number
    2. delivery note
    IN MIR4 tcode.
    Refrence number from MB51 and delivery note in MIR4 document are  same  .
    kindly give me suggestions how to get delivery note and MIR4 number ( inv number) in MIR4 TCODE
    thanks & regards,
    Raghul

  • Fields Names and Table Names

    Hi,
    I am sorry about that.I missed some text.
    Client wants to enhance a report.Please help me with tehnical names and table names for the following
    Infotype                   Field Names
    1515          Date of Tasks
    1          Job Key Code
    1          Position code
    442          Regular Payments
    442          Payment Model
    1005          Paygrade Level
    1005          Paygrade Level
    1005          Reference Salary
    1051          Salary Survey
    1051          Job from Survey
    15          Wage Type
    15          Amount
    6          Address Record Type
    6          House Number and Street
    6          Address line 2
    6          City
    6          Country Key
    6          Zip/Postal Code
    6          State
    6                     Country
    Thanks in advance,
    Usha
    Edited by: usha usha on Oct 16, 2008 11:31 AM

    Hi,
    I have done that but sturcture names are there.I want data from tables instead of structure names.Below are details.I just want to check whether they are correct or not
    1515     TERMN     Date of Tasks      HRP1515
    1     STELL     Job Key Code     PA0001
    1     PLANS     Position code     PA0001
    442     REGPD     Regular Payments     PA0442
    442     PAYMO     Payment Model     PA0442
    1005     SLMIN     Paygrade Level     T710
    1005     SLMAX     Paygrade Level     T710
    1005     SLREF     Reference Salary      T710A
    1051     SCODE     Salary Survey      T710S
    1051     JCODE     Job from Survey     HRP1051
    15     LGART     Wage Type     PA0015
    15     BETRG     Amount     PA0015
    6     ANSSA     Address Record Type     PA0006
    6     STRAS     House Number and Street     PA0006
    6     LOCAT     Address line 2      PA0006
    6     ORT01     City     PA0006
    6     LAND1     Country Key     PA0006
    6     PSTLZ     Zip/Postal Code     PA0006
    6     BEZEI     State     T005U
    6     LANDX     Country     T005
    Thanks
    Usha

  • Physical table name - abstract table name mapping in CMP Bean

    Hello,
    I am using a EJB 2.x bean deployed on a SJSAS 9 server. EJB has problem associating the EJB to the actual table
    Details are as follows:
    EJB name: AccountCMP
    Actual tablename : account
    Error
    ejb store called
    IM: postInvokeentity3.AccountBean145996470_ConcreteImpl@d6be89
    EJB5071: Some remote or transactional roll back exception occurred
    com.sun.jdo.api.persistence.support.JDODataStoreException: JDO76400: Got a JDBC SQLException while executing the SQL statement:
    insert into "ACCOUNTCMP"("DESCRIPTION", "ACCOUNTNAME", "BALANCE", "ACCID") values ( ?, ?, ?, ?).
    Please examine the SQLException for more information.
    NestedException: java.sql.SQLException: ORA-00942: table or view does not exist
    FailedObjectArray: [entity3.AccountBean145996470_JDOState@5332ca]
    Please note that the insert statement has the ejb-name (I think so, as my CMP EJB is called ACCOUNTCMP) instead of the actual tablename (account).
    I do have the account.dbschema file and sun-cmp-mappings.xml in the NB 5.5 project, but the mappings.xml file is not included in the jar by NB. Is that expected, or an problem.
    sun-cmp-mappings.xml
    <sun-cmp-mappings>
      <sun-cmp-mapping>
        <schema>account</schema>   
        <entity-mapping>
          <ejb-name>AccountCMP</ejb-name>
          <table-name>account</table-name>
          <cmp-field-mapping>
    ejb-jar.xml
    <enterprise-beans>
            <entity>
                <ejb-name>AccountCMP</ejb-name>
                <local-home>entity3.AccountLocalHome</local-home>
                <local>entity3.AccountLocal</local>
                <ejb-class>entity3.AccountBean</ejb-class>           
                <persistence-type>Container</persistence-type>
                <prim-key-class>entity3.AccountPK</prim-key-class>
                <reentrant>false</reentrant>
                <cmp-version>2.x</cmp-version>           
                <abstract-schema-name>account</abstract-schema-name>  Thank you for your help.

    Hello,
    I found out the issue. sun-cmp-mappings.xml file is mandatory, and dont know why, netbeans excludes this file from the jar. I had to edit project.properties file to negate this exclusion.
    Another problem was that my table did not have a primary key (and hence by schema file did not have it also). CMP bean code generator did not like this.
    Once I fixed these two problems, my CMP started working fine.
    Thank you all

  • How to get the column name and table name with value

    Hi All
    I have one difficult requirement
    I have some column values and they have given some alias column names but i need to find the correct column name and table name from the database.
    For example value is "SRI" and i dont know the table and exact column name so is there any possibilities to find the column name and table name for the given value
    Thanks & Regards
    Srikkanth.M

    Searching all the database for a word...
    Courtesy of michaels...
    michaels>  var val varchar2(5)
    michaels>  exec :val := 'as'
    PL/SQL procedure successfully completed.
    michaels>  select distinct substr (:val, 1, 11) "Searchword",
                    substr (table_name, 1, 14) "Table",
                    substr (t.column_value.getstringval (), 1, 50) "Column/Value"
               from cols,
                    table
                       (xmlsequence
                           (dbms_xmlgen.getxmltype ('select ' || column_name
                                                    || ' from ' || table_name
                                                    || ' where upper('
                                                    || column_name
                                                    || ') like upper(''%' || :val
                                                    || '%'')'
                                                   ).extract ('ROWSET/ROW/*')
                       ) t
    --        where table_name in ('EMPLOYEES', 'JOB_HISTORY', 'DEPARTMENTS')
           order by "Table"or
    11g upwards
    SQL> select table_name,
           column_name,
           :search_string search_string,
           result
      from (select column_name,
                   table_name,
                   'ora:view("' || table_name || '")/ROW/' || column_name || '[ora:contains(text(),"%' || :search_string || '%") > 0]' str
              from cols
             where table_name in ('EMP', 'DEPT')),
           xmltable (str columns result varchar2(10) path '.')
    TABLE_NAME                     COLUMN_NAME                    SEARCH_STRING                    RESULT   
    DEPT                           DNAME                          es                               RESEARCH 
    EMP                            ENAME                          es                               JAMES    
    EMP                            JOB                            es                               SALESMAN 
    EMP                            JOB                            es                               SALESMAN 
    4 rows selected.

  • How to find the column name and table name with a value

    Hi All
    How to find the column name and table name with "Value".
    For Example i have value named "Srikkanth" This value will be stored in one table and in one column i we dont know the table how to find the table name and column name
    Any help is highly appricatable
    Thanks & Regards
    Srikkanth.M

    2 solutions by Michaels (the latter is 11g upwards only)...
    michaels>  var val varchar2(5)
    michaels>  exec :val := 'as'
    PL/SQL procedure successfully completed.
    michaels>  select distinct substr (:val, 1, 11) "Searchword",
                    substr (table_name, 1, 14) "Table",
                    substr (t.column_value.getstringval (), 1, 50) "Column/Value"
               from cols,
                    table
                       (xmlsequence
                           (dbms_xmlgen.getxmltype ('select ' || column_name
                                                    || ' from ' || table_name
                                                    || ' where upper('
                                                    || column_name
                                                    || ') like upper(''%' || :val
                                                    || '%'')'
                                                   ).extract ('ROWSET/ROW/*')
                       ) t
    --        where table_name in ('EMPLOYEES', 'JOB_HISTORY', 'DEPARTMENTS')
           order by "Table"or
    SQL> select table_name,
           column_name,
           :search_string search_string,
           result
      from cols,
           xmltable(('ora:view("'||table_name||'")/ROW/'||column_name||'[ora:contains(text(),"%'|| :search_string || '%") > 0]')
           columns result varchar2(10) path '.'
    where table_name in ('EMP', 'DEPT')
    TABLE_NAME           COLUMN_NAME          SEARCH_STRING        RESULT   
    DEPT                 DNAME                ES                   RESEARCH 
    DEPT                 DNAME                ES                   SALES    
    EMP                  ENAME                ES                   JONES    
    EMP                  ENAME                ES                   JAMES    
    EMP                  JOB                  ES                   SALESMAN 
    EMP                  JOB                  ES                   SALESMAN 
    EMP                  JOB                  ES                   SALESMAN 
    EMP                  JOB                  ES                   PRESIDENT
    EMP                  JOB                  ES                   SALESMAN 
    9 rows selected.

  • Table names to find Program names and Table names

    Hi All,
    I want to find Program names and Tables names where Transaction codes are not been created.
    If TCodes are created I can find from TSTC.
    But programs and tables which does not have tcodes.
    How can I find them?

    Hi Praveen Kumar 
        You know the program name go to se38 and find out if u know table name go to se11 and find out .if you want to see both where there are used in which program go to se80 it would be easy.
    How to trace in se80 . select programe and down give programe name you will gte it.

  • The table with Name of 'Table Name' does not exist.An error occurred when loading the Model.

    The table with Name of 'Table Name' does not exist.An error occurred when loading the Model.
    We get this error when we try to check the properties of an analysis server using SQL Server Management studio(right click the instance name
    and check properties). We have resolved this issue twice by Stopping the SQL Server analysis service,removing db folders from Analysis Server Data folder and starting the services back on. The db folder that we removed was advised by the BI team.
    The SQL Server Analysis Server is 2012 SP1

    Hi RB_ORIPW,
    The table with name of 'XXX' doesn't exist.
    An error occurred when loading the model(Micorsoft.AnalysisServices)
    If I understanding correctly, you encounter the error randomly, now what you want it that avoid this issue completely, other than stop the services, detele the db filder and restart the services, right?
    The error might be caused by that the data file is corrupted. However, we cannot give you the exact reason that cause this issue. You can troubleshoot this issue by using the Windows Event logs and msmdsrv.log.
    You can access Windows Event logs via "Administrative Tools" --> "Event Viewer".  SSAS error messages will appear in the application log.
    The msmdsrv.log file for the SSAS instance that can be found in \log folder of the instance. (C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Log)
    Here is a blog about data collection for troubleshooting Analysis Services issues, please see:
    Data collection for troubleshooting Analysis Services issues
    Besides, here is fix that describe the similar issue, and it was fixed in Cumulative Update 7 for SQL Server 2012 SP1, please refer to the link below to see the details.
    http://support.microsoft.com/kb/2897263/en-us
    Regards,
    Charlie Liao
    If you have any feedback on our support, please click
    here.
    Charlie Liao
    TechNet Community Support

  • Field symbols as Table name and in where condition in a select statement

    Hello All,
    I have a scenario where I need to get user input on table name and old field value and new field value. Then based on user input, I need to select the record from the database. The column name for all the tables in question is different in the database, however there data type is the same and have same values.
    I am not able to use a field symbol for comparing the old field value to fetch the relevant record in my where clause.
    I cannnot loop through the entire table as it has 10 millilon records, please advice on how to add the where clause as field symbol as the table name is also dynamically assigned.
    Here is my code:
    DATA: TAB       LIKE SY-TNAME,
          TAB_COMP1 LIKE X031L-FIELDNAME,
          TAB_COMP2 LIKE X031L-FIELDNAME,
          NO_OF_FLD TYPE N.
    DATA: BEGIN OF BUFFER,
            ALIGNMENT TYPE F,
            C(8000)   TYPE C,
          END OF BUFFER.
    FIELD-SYMBOLS: <WA>   TYPE ANY,
                  <COMP1> TYPE ANY,
                  <COMP2> TYPE ANY.
    GET TABLE NAME GIVEN BY USER IN LOCAL VARIABLE
      TAB = TAB_NAME.
    CREATE FIELD NAME BASED ON THE TABLE NAME ENTERED.
      CASE TAB_NAME.
      WHEN 'OIUH_RV_GL'.
          KEY FIELD
            TAB_COMP1  = 'GL_GL_SYS_NO'.
            NO_OF_FLD  = 1.
      WHEN 'OIUH_RV_OPSL'.
          KEY FIELD
            TAB_COMP1  = 'OPSL_GL_SYS_NO'.
            NO_OF_FLD  = 1.
      WHEN 'OIUH_RV_OTAX'.
          NOT THE ONLY KEY FIELD
            TAB_COMP1  = 'OTAX_GL_SYS_NO'.
            TAB_COMP2  = 'OTAX_TAX_POS_NO'.
            NO_OF_FLD  = 2.
      WHEN 'OIUH_RV_GTAX'.
          NOT THE ONLY KEY FIELD
            TAB_COMP1  = 'GTAX_GL_SYS_NO'.
            TAB_COMP2  = 'GTAX_TAX_POS_NO'.
            NO_OF_FLD  = 2.
      WHEN OTHERS.
            EXIT.
      ENDCASE.
    SET FIELD SYMBOL WITH APPROPRIATE TYPE TO BUFFER AREA.
    ASSIGN BUFFER TO <WA> CASTING TYPE (TAB).
    How to add where clause and remove the if condition in the select -- endselect
    SELECT * FROM (TAB) INTO <WA>. 
      ASSIGN COMPONENT TAB_COMP1 OF STRUCTURE <WA> TO <COMP1>.
      IF NO_OF_FLD = 2.
        ASSIGN COMPONENT TAB_COMP2 OF STRUCTURE <WA> TO <COMP2>.
      ENDIF.
      IF <COMP1> = OLD_SYS_NO.
        code for updating table would come here
          WRITE: 'MATCH FOUND'.
          EXIT.
      ENDIF.
    ENDSELECT.
    Please advice. Thanks much.
    Edited by: Shipra Jhunjhunwala on Jul 22, 2009 1:33 PM
    Edited by: Shipra Jhunjhunwala on Jul 22, 2009 1:34 PM
    Edited by: Shipra Jhunjhunwala on Jul 22, 2009 1:35 PM

    1. Create single column table for holding field name depending on the table entered.
    2. Take input from user: for e.g. table_name
    3. Using case load single column table with required fields
       for e.g.
      CASE TAB_NAME.
       WHEN 'OIUH_RV_GL'.
             Append 'GL_GL_SYS_NO' to KEY_FIELD --> KEY_FIELD is the single line internal table as mentioned in step 1.
       WHEN 'OIUH_RV_OPSL'.
             Append 'OPSL_GL_SYS_NO'.
       WHEN 'OIUH_RV_OTAX'.
             Append 'OTAX_GL_SYS_NO' to KEY_FIELD.
               APPEND 'OTAX_TAX_POS_NO' to KEY_FIELD.
       WHEN 'OIUH_RV_GTAX'.
             Append 'GTAX_GL_SYS_NO' to KEY_FIELD.
               APPEND 'OTAX_TAX_POS_NO' to KEY_FIELD.
       WHEN OTHERS.
          EXIT.
       ENDCASE.
       Now depending on the table name you have required column ready
    4. Create dynamic internal table using following sudo code
       Fill the fieldcatlog using the single column field table and DD03L table, See what all columns from DD03L you want to fill in field catlog table
       loop at internal table with all the fields.
        move it to field catalog.
        append field catalog.
       endloop.
    5. Pass this field catalog table to static method create_dynamic_table method
       DATA table TYPE REF TO DATA. --> data object for holding handle to dynamic internal table.
       call method cl_alv_table_create=>create_dynamic_table
       exporting
          it_fieldcatalog = fieldcatalog_tab
       importing
          ep_table = table.
    6. Now assign table reference to field symbol of type table.
       ASSIGN table->* to <field-tab>.
    7. Also create work area <field-wa> using refrence of table.
       create data object wa LIKE LINE OF <field-tab>.
       ASSIGN wa->* to <field-wa>.
    8. Also define field symbol for field name.
       for e.g. <field_name>
    4. Dynamic internal table is ready
    5. Now execute the select statement as follows:
       SELECT (KEY_FIELD)
         INTO <ITAB> --> created dynamically above
          FROM (TABLE_NAME)
         WHERE (WHERE).  --> WHERE is single line internal table having line type of CHAR72. So for every old value there will be one line
         Where condition is same as like we give in static way only difference in this case it will stored in internal table line wise.
        In this case you need to append all your where condition line by line in to WHERE.     
    5. To fill this dynamic internal table using ASSIGN COMPONENT <Comp_number> OF STRUCTURE <field-wa> TO <field-name>
       So in this case if first field of structure STRUCT1 is user_id then sudo-code will be
       loop at internal table containing list of fields into field_wa --> single column field table
           ASSIGN COMPONENT field_wa OF STRUCTURE <field-wa> TO <field>. "Here field_wa is wa area for single column internal table holding all the fieldnames.
           Now <field-name> points to user_id field. Move some value into it as nornally we do with variables.
           Move <your_new_value> to <field-name>. --> Assign new value
            or
            <field-name> = <your_new_value>.
       Endloop.
    6. After completing all the fields one row will be ready in <field_wa>.
       APPEND <field_wa> to <field_tab>.
    Hope this helps you.
    Thanks,
    Augustin.

  • Field names and table names

    Hi Experts,
    What r the table names and field names for
    FLSA Description
    Stock Option Eligible
    Career Level
    Full time/Part time

    > Full time/Part time--> T503T-PSERK
    ~Suresh

  • How to identify field names and table names as per the client requirement

    Dear All,
    i am preparing reports for my client of their own requirement, but in sap how can i find the field name, table names like  for eg: doc.no, issue,revision no, revision date, date of issue,date of completion, job card no,identificatin no, part no , accept,inspected,testedby, remarks, issue, process.
    so please tell what is the path to find the field names and table nae

    Hi,
    You can select the field which field name and table you want to know, just press F1 button, one more window will open. There you need to select the technical information icon, then you will get the required field name and its table.
    Regards,
    V. Suresh

  • Fields having  same table name

    hello guru
    i am making a report having following fields
    plant
    material
    material description
    opening date
    qty rec
    qty issue
    closing date
    here the problem is that
    the table name and field name is same
    for opening date & closing date
    qty receive & qty issue .
    refer t.code mb5b  mm module .
    please help
    regards
    rakesh

    Hi
    In that Tcode
         Slection date:  It is only on e field.(BUDAT).
    This field declared using select options satement internally.
    U should give range of dates.
    If it is helpful rewards points.
    Regards
    Pratap.M

  • What program name and table name?

    Assuming I am just a SAP user and not an ABAP programmer, how would I know the name of the program and the table/s being used by the report (like an ALV report) which I have on my screen.
    Thanks.

    Keep cursor on any filed and press F1 after that u need to press 'Technical Settings' in that window u can get Field name, Table name and Program name as well.

Maybe you are looking for