Plz help me on the hangman code

Consider the venerable "hangman" game, in which a player attempts to guess a word one letter at a time. If you are unfamiliar with hangman, simply google it; you'll be playing in no time.
Consider the following abstract view of hangman. The input is an unknown word and a sequence of character guesses. There is also an implicit parameter, which is the number of incorrect guesses that may be made before losing the game. Even though you wouldn't implement an interactive hangman game this way, let's model this as:
static public int hangman (String puzzle, String guesses, int limit)
Requires: puzzle != null, guesses != null, limit >=0
Effects: returns the number of the guess that solves the
puzzle within the given limit on incorrect guesses.
If the puzzle is not solved within the limit, returns -1.
e.g.
hangman ("cat", "abct", 1) is 4 (solved)
hangman ("cat", "abct", 0) is -1 (hit the limit)
hangman ("cat", "abcd", 5) is -1 (gave up)
I wrote the following code but it gives me an error of array index out of bounds exception though it compiles correctly. If someone can help me in correcting the code or point out my mistake.
public class hangman
public static int hang(String puz,String gue,int lim)
     int i,j,flag=0,ret=0;
     char p[],g[];
     p=puz.toCharArray();
     g=gue.toCharArray();
     one:
          for(i=0;i<g.length;i++)
               two:
               for(j=0;j<p.length;j++)
                    if(g==p[j])
                         //take the element off the p array and resize p
                         if(p.length==1)
                         break one;
                         else
                         char b[]=new char[p.length];
                         for(int k=j+1;k<p.length;k++)
                              p[k-1]=p[k];
                              b=p;
                              p=new char[p.length-1];
                         for(int l=0;i<p.length;l++)
                         p[l]=b[l];
                         continue one;
                    else
                    if(j==p.length-1)
                         flag++;
                    else
                    continue two;
          if(flag>lim)
          return -1;
          else
          return 0;
public static void main(String args[])
int ret;
ret=hang("cat","abct",1);
System.out.println(ret);

I wrote the following code but it gives me an error
of array index out of bounds exception though it
compiles correctly.I just want to point out a fundamental misunderstanding that this statement suggests you have.
Compiling just converts your source code into equivalent bytecode. The only errors you'll get during compilation are if the syntax is bad (like you forgot a semicolon, misspelled a method name, have an extra closing brace, etc.) or if you're trying to ues a vairialbe that the copmiler can't be sure will have been initialized, etc.
Compilation does NOT execute your code, and it has no way to determine the logical problem with, for instance, int[] arr = new int[0];
int x = arr[999]; The fact that x has zero elements and you're trying to access element 999 only comes to light at execution time.
So "I get an error at runtime even though it compiles fine" is kind of meaningless.
Note that I'm not trying to pick on you here. I just want to shift your thinking away from this fundamental misconception you seem to have.

Similar Messages

  • When i try to open photoshop this shows up Please uninstall and reinstall the product.  If this problem still occurs, please contact Adobe technical support for help, and mention the error code shown at the bottom of this screen.  Error: 16

    i had to take my photoshop file into a hardrive because my dad was going to give me a new Mac and when things didn't work out and went back to my old one i use the time capsule thing to save everything before but didn't give me photoshop so i physically moved the file and tried to open it but then this error shows up
    Please uninstall and reinstall the product.
    If this problem still occurs, please contact Adobe technical support for help, and mention the error code shown at the bottom of this screen.
    Error: 16
    and when i click the uninstall app on the file it tells me this
    The alias “Uninstall Adobe Photoshop CS6 2” can’t be opened because the original item can’t be found
    and when i click fix alias i click on photoshop and the app just turns into photoshop and i just run in circles
    please help thank you

    Run the cleaner tool and reinstall.
    Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6
    Download CS6 products
    Mylenium

  • I Need Help to Access The Source Code From A Form to Know the Calculation Formula

    Hi,
    I Need Help to Access The Source Code From A Form to Know the Calculation Formula. The application is a windows form application that is linked to SQL Server 2008. In one of the application forms it generates an invoice and does some calculations. I just
    need to know where behind that form is the code that's doing the calculations to generate the invoice, I just need to get into the formula that's doing these calculations.
    Thank you so much.

    Hi, 
    Thanks for the reply. This is a view and [AmountDue] is supposed to be [CurrentDueAmount] + [PastDueAmount] - [PaidAmount]. The view is not calculating [PaidAmount] right . Below is the complete code of the view. Do you see anything wrong in the code ?
    Thanks. 
    SELECT     [isi].[InvoiceID], [ii].[DueDate], [SubInvoiceID] = [isi].[ID], [INV_FacilityID] = [if].[ID], [if].[FacilityID],
    [iff].[FacilityFeeID], [LoanID] = NULL, [isi].[PortfolioID], [isi].[Portfolio], 
                          [PaymentType] = [isis_fee].[SectionType], [Name]
    = [iff].[Name], [ReceivedAmount], [dates].[CurrentDueAmount], 
                          [PastDueAmount] = CASE WHEN ISNULL([ReceivedAmount],
    0) > 0 THEN [pastdue].[PastDueFeeAmount] + ISNULL([ReceivedAmount], 0) 
                          WHEN ISNULL([ReceivedAmount], 0) 
                          < 0 THEN /* We bring past due to zero and
    apply reset to current. */ CASE WHEN [pastdue].[PastDueFeeAmount] + ISNULL([ReceivedAmount], 0) 
                          < 0 THEN 0 ELSE [pastdue].[PastDueFeeAmount]
    + ISNULL([ReceivedAmount], 0) END WHEN ISNULL([ReceivedAmount], 0) = 0 AND 
                          [pastdue].[PastDueFeeAmount] < 0 THEN 0 ELSE
    [pastdue].[PastDueFeeAmount] END, [PaidAmount] = CASE WHEN ISNULL([ReceivedAmount], 0) 
                          < 0 THEN /* We bring past due to zero and
    apply rest to current. */ CASE WHEN [pastdue].[PastDueFeeAmount] + ISNULL([ReceivedAmount], 0) 
                          < 0 THEN - ([pastdue].[PastDueFeeAmount]
    + ISNULL([ReceivedAmount], 0)) ELSE 0 END WHEN ISNULL([ReceivedAmount], 0) = 0 AND 
                          [pastdue].[PastDueFeeAmount] < 0 THEN - [pastdue].[PastDueFeeAmount]
    ELSE 0 END, [AmountDue] = [unpaid].[UnpaidFeeAmount], [ID] = [iff].[FacilityFeeID]
    FROM         [dbo].[INV_SubInvoice] isi JOIN
                          [dbo].[INV_Invoice] ii ON [isi].[InvoiceID]
    = [ii].[ID] JOIN
                          [dbo].[INV_Facility] [if] ON [isi].[ID] = [if].[SubInvoiceID]
    JOIN
                          [dbo].[INV_FacilityFee] iff ON [if].[ID] = [iff].[INV_FacilityID]
    JOIN
                              (SELECT     [sis_fee].[ID],
    [sis_fee].[SectionTypeCode], [SectionType] = [st_fee].[Name], [sis_fee].[INV_FacilityFeeID]
                                FROM      
       [dbo].[INV_SubInvoiceSection] sis_fee JOIN
                   [dbo].[INV_SectionType] st_fee ON [sis_fee].[SectionTypeCode] = [st_fee].[Code]
                                WHERE      [INV_FacilityFeeID]
    IS NOT NULL AND [StatusCode] = 'BILL') isis_fee ON [iff].[ID] = [isis_fee].[INV_FacilityFeeID] JOIN
                              (SELECT     [iffa].[SectionID],
    [AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]), 
                   [AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedFeeAmount]), 
                   [ReceivedAmount] = SUM([iffa].[ReceivedFeeAmount])
                                FROM      
       [dbo].[INV_FacilityFeeAccrual] iffa
                                GROUP BY [iffa].[SectionID])
    dates ON [isis_fee].[ID] = [dates].[SectionID] LEFT JOIN
                              (SELECT     *
                                FROM      
       [dbo].[INV_FacilityFeeAccrual]) unpaid ON [dates].[SectionID] = [unpaid].[SectionID] AND 
                          [dates].[AccrualDeterminationDateMax] = [unpaid].[AccrualDeterminationDate]
    LEFT JOIN
                              (SELECT     [SectionID],
    [PastDueFeeAmount] = SUM([PastDueFeeAmount])
                                FROM      
       [dbo].[INV_FacilityFeeAccrual]
                                GROUP BY [SectionID]) pastdue
    ON [dates].[SectionID] = [pastdue].[SectionID]
    UNION
    SELECT     [isi].[InvoiceID], [ii].[DueDate], [SubInvoiceID] = [isi].[ID], [INV_FacilityID] = [if].[ID], [if].[FacilityID],
    [FacilityFeeID] = NULL, [il].[LoanID], [isi].[PortfolioID], [isi].[Portfolio], 
                          [PaymentType] = [isis_loan].[SectionType], [Name]
    = [il].[Name], [ReceivedAmount], [CurrentDueAmount], [PastDueAmount] = CASE WHEN ISNULL([ReceivedAmount], 
                          0) > 0 THEN [PastDueAmount] + ISNULL([ReceivedAmount],
    0) WHEN ISNULL([ReceivedAmount], 0) 
                          < 0 THEN /* We bring past due to zero and
    apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0) 
                          < 0 THEN 0 ELSE [PastDueAmount] + ISNULL([ReceivedAmount],
    0) END WHEN ISNULL([ReceivedAmount], 0) = 0 AND 
                          [PastDueAmount] < 0 THEN 0 ELSE [PastDueAmount]
    END, 
                          [PaidAmount] = CASE WHEN [isis_loan].[SectionTypeCode]
    = 'LOAN_PRIN' THEN 0 ELSE CASE WHEN ISNULL([ReceivedAmount], 0) 
                          < 0 THEN /* We bring past due to zero and
    apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0) 
                          < 0 THEN - ([PastDueAmount] + ISNULL([ReceivedAmount],
    0)) ELSE 0 END WHEN ISNULL([ReceivedAmount], 0) = 0 AND 
                          [PastDueAmount] < 0 THEN - [PastDueAmount]
    ELSE 0 END END, 
                          [AmountDue] = CASE WHEN [isis_loan].[SectionTypeCode]
    = 'LOAN_PRIN' THEN [CurrentDueAmount] ELSE [unpaid].[AmountDue] END, [ID] = [il].[LoanID]
    FROM         [dbo].[INV_SubInvoice] isi JOIN
                          [dbo].[INV_Invoice] ii ON [isi].[InvoiceID]
    = [ii].[ID] JOIN
                          [dbo].[INV_Facility] [if] ON [isi].[ID] = [if].[SubInvoiceID]
    JOIN
                          [dbo].[INV_Loan] il ON [if].[ID] = [il].[INV_FacilityID]
    JOIN
                              (SELECT     [sis_loan].[ID],
    [sis_loan].[SectionTypeCode], [SectionType] = [st_loan].[Name], [sis_loan].[INV_LoanID]
                                FROM      
       [dbo].[INV_SubInvoiceSection] sis_loan JOIN
                   [dbo].[INV_SectionType] st_loan ON [sis_loan].[SectionTypeCode] = [st_loan].[Code]
                                WHERE      [INV_LoanID]
    IS NOT NULL AND [StatusCode] = 'BILL') isis_loan ON [il].[ID] = [isis_loan].[INV_LoanID] JOIN
                              (SELECT     [iffa].[SectionID],
    [AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]), 
                   [AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[ExpectedPrincipalAmount]), 
                   [ReceivedAmount] = SUM([ReceivedPrincipalAmount])
                                FROM      
       [dbo].[INV_LoanPrincipalAmortization] iffa
                                GROUP BY [iffa].[SectionID]
                                UNION
                                SELECT     [iffa].[SectionID],
    [AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]), 
                  [AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedInterestAmount]), 
                  [ReceivedAmount] = SUM([ReceivedInterestAmount])
                                FROM      
      [dbo].[INV_LoanCashInterestAccrual] iffa
                                GROUP BY [iffa].[SectionID]
                                UNION
                                SELECT     [iffa].[SectionID],
    [AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]), 
                  [AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedInterestAmount]), 
                  [ReceivedAmount] = SUM([ReceivedInterestAmount])
                                FROM      
      [dbo].[INV_LoanPIKInterestAccrual] iffa
                                GROUP BY [iffa].[SectionID])
    dates ON [isis_loan].[ID] = [dates].[SectionID] LEFT JOIN
                              (SELECT     [AmountDue]
    = [UnpaidPrincipalAmount], [SectionID], [AccrualDeterminationDate]
                                FROM      
       [dbo].[INV_LoanPrincipalAmortization]
                                UNION
                                SELECT     [AmountDue]
    = [UnpaidInterestAmount], [SectionID], [AccrualDeterminationDate]
                                FROM      
      [dbo].[INV_LoanCashInterestAccrual]
                                UNION
                                SELECT     [AmountDue]
    = [UnpaidInterestAmount], [SectionID], [AccrualDeterminationDate]
                                FROM      
      [dbo].[INV_LoanPIKInterestAccrual]) unpaid ON [dates].[SectionID] = [unpaid].[SectionID] AND 
                          [dates].[AccrualDeterminationDateMax] = [unpaid].[AccrualDeterminationDate]
    LEFT JOIN
                              (SELECT     [PastDueAmount]
    = SUM([PastDuePrincipalAmount]), [SectionID]
                                FROM      
       [dbo].[INV_LoanPrincipalAmortization]
                                GROUP BY [SectionID]
                                UNION
                                SELECT     [PastDueAmount]
    = SUM([PastDueInterestAmount]), [SectionID]
                                FROM      
      [dbo].[INV_LoanCashInterestAccrual]
                                GROUP BY [SectionID]
                                UNION
                                SELECT     [PastDueAmount]
    = SUM([PastDueInterestAmount]), [SectionID]
                                FROM      
      [dbo].[INV_LoanPIKInterestAccrual]
                                GROUP BY [SectionID]) pastdue
    ON [dates].[SectionID] = [pastdue].[SectionID]
    UNION
    SELECT     [isi].[InvoiceID], [ii].[DueDate], [SubInvoiceID] = [isi].[ID], [INV_FacilityID] = [if].[ID], [if].[FacilityID],
    [FacilityFeeID] = NULL, [il].[LoanID], [isi].[PortfolioID], [isi].[Portfolio], 
                          [PaymentType] = 'PIK Interest Applied', [Name]
    = [il].[Name], [ReceivedAmount], [CurrentDueAmount] = - [dates].[CurrentDueAmount], 
                          [PastDueAmount] = - CASE WHEN ISNULL([ReceivedAmount],
    0) > 0 THEN [PastDueAmount] + ISNULL([ReceivedAmount], 0) WHEN ISNULL([ReceivedAmount], 0) 
                          < 0 THEN /* We bring past due to zero and
    apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0) 
                          < 0 THEN 0 ELSE [PastDueAmount] + ISNULL([ReceivedAmount],
    0) END WHEN ISNULL([ReceivedAmount], 0) = 0 AND 
                          [PastDueAmount] < 0 THEN 0 ELSE [PastDueAmount]
    END, [PaidAmount] = - CASE WHEN ISNULL([ReceivedAmount], 0) 
                          < 0 THEN /* We bring past due to zero and
    apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0) 
                          < 0 THEN - ([PastDueAmount] + ISNULL([ReceivedAmount],
    0)) ELSE 0 END WHEN ISNULL([ReceivedAmount], 0) = 0 AND 
                          [PastDueAmount] < 0 THEN - [PastDueAmount]
    ELSE 0 END, [AmountDue] = - [AmountDue], [ID] = [il].[LoanID]
    FROM         [dbo].[INV_SubInvoice] isi JOIN
                          [dbo].[INV_Invoice] ii ON [isi].[InvoiceID]
    = [ii].[ID] JOIN
                          [dbo].[INV_Facility] [if] ON [isi].[ID] = [if].[SubInvoiceID]
    JOIN
                          [dbo].[INV_Loan] il ON [if].[ID] = [il].[INV_FacilityID]
    JOIN
                              (SELECT     [sis_loan].[ID],
    [sis_loan].[SectionTypeCode], [SectionType] = [st_loan].[Name], [sis_loan].[INV_LoanID]
                                FROM      
       [dbo].[INV_SubInvoiceSection] sis_loan JOIN
                   [dbo].[INV_SectionType] st_loan ON [sis_loan].[SectionTypeCode] = [st_loan].[Code]
                                WHERE      [INV_LoanID]
    IS NOT NULL AND [StatusCode] = 'BILL' AND [sis_loan].[SectionTypeCode] = 'LOAN_INT_PIK') isis_loan ON 
                          [il].[ID] = [isis_loan].[INV_LoanID] JOIN
                              (SELECT     [iffa].[SectionID],
    [AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]), 
                   [AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedInterestAmount]), 
                   [ReceivedAmount] = SUM([ReceivedInterestAmount])
                                FROM      
       [dbo].[INV_LoanPIKInterestAccrual] iffa
                                GROUP BY [iffa].[SectionID])
    dates ON [isis_loan].[ID] = [dates].[SectionID] LEFT JOIN
                              (SELECT     [AmountDue]
    = [UnpaidInterestAmount], [SectionID], [AccrualDeterminationDate]
                                FROM      
       [dbo].[INV_LoanPIKInterestAccrual]) unpaid ON [dates].[SectionID] = [unpaid].[SectionID] AND 
                          [dates].[AccrualDeterminationDateMax] = [unpaid].[AccrualDeterminationDate]
    LEFT JOIN
                              (SELECT     [PastDueAmount]
    = SUM([PastDueInterestAmount]), [SectionID]
                                FROM      
       [dbo].[INV_LoanPIKInterestAccrual]
                                GROUP BY [SectionID]) pastdue
    ON [dates].[SectionID] = [pastdue].[SectionID]

  • HT4061 My iphone 4 is lost, who can help me find the iccid code of the SIM card in my iphone,my iphone's IMEI:01**********117.  Thanks a lot.

    My iphone 4 is lost, who can help me find the iccid code of the SIM card in my iphone,my iphone's IMEI:01**********117. 
    plaese send the iccid code to my E-mail Box.
    Thanks a lot.
    <Personal Information Edited by Host>

    Will do, if that's the only option I have. Thanks for the quick response

  • I ordered mac OS and I got the email for License and I didnt get the attachement for content code. Please help me getting the content code.

    I ordered mac OS and I got the email for License and I didnt get the attachement for content code. Please help me getting the content code.

    It's a two email process, one email has a locked pdf with the redemption code. The second email has the password to unlock the pdf. They come separetly, so you may have to wait for the 2nd to arrive.

  • Can u plz help me with the code to add BWART field to the DS:2LIS_04_P_COMP

    I want to add BWART field from AUFM table to the DS:2LIS_04_P_COMP.
    The AUFM table has key fields as :MBLNR,MJAHR and ZEILE.Can someone plz help with the code to put in the existing function module.I see that both 2LIS_04_P_COMP and AUFM have common field AUFNR process order.
    Plz help ASAP.

    I want to add BWART field from AUFM table to the DS:2LIS_04_P_COMP.
    The AUFM table has key fields as :MBLNR,MJAHR and ZEILE.Can someone plz help with the code to put in the existing function module.I see that both 2LIS_04_P_COMP and AUFM have common field AUFNR process order.
    Plz help ASAP.

  • Plz help me from the error - "org.apache.jasper.jasperException"

    I am getting error with this code ,plz help me out ,i wanna correct this urgently
    I've set the Environment variables JAVA_HOME and
    CATALINA_HOME and here is my coding and error report
                   hello.html
    <head><title>Database</title></head>
    <body>
    <form method="get" action="add.jsp">
    <pre>
    <center>Enter ur Name :<input type="text" name="nam" >
    <br><input type="submit" value=" Add ">
    </center></pre>
    </form>
    </body>
    </html>
                   add.jsp
    <%@ page language="java" %>
    <%@ page import="java.sql.*" %>
    <html>
    <head><title>JSP</title></head>
    <%! String name;
    Connection con=null;
    Statement st=null;
    %>
    <body>
    <% name=request.getParameter("nam");
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    //I have created a User DSN sjp
    con = DriverManager.getConnection("jdbc:odbc:sjp");
    st = con.createStatement();
    st.executeUpdate("insert into detail values('"+name+"')");
    catch(Exception e)
    con.close();
    st.close();
    %>
    <h1> Name Added</h1>
    </body>
    </html>
                   Error
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:207)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
         at java.lang.Thread.run(Thread.java:534)
    root cause
    java.lang.NullPointerException     at org.apache.jsp.add_jsp._jspService(add_jsp.java:66)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
         at java.lang.Thread.run(Thread.java:534)
    Apache Tomcat/4.1.31

    hi,
    when i use the code
    if(st != null)st.close();
    if(con != null ) con.close();
    that works good ,the old error has been corrected.
    but it's now throwing an SQLException[b] "datasource name not found and default driver not specified" why this occurs and also can u give me the explanation for the old error????
    I am sure that i have created an user DSN, i am 100% sure about it .even though there is an error.
    Deepak.
    Deepak.C

  • Need help in optimizing the ABAP code

    Hi,
    Can anyone help me in optimizing the code. Here the select statement has select within the loop. Need help in optimization.
    WHEN '0CO_PC_PCP_03'.
    LOOP AT C_T_DATA INTO TBL_KKBW_ITEM.
          W_TABIX = SY-TABIX.
          IF TBL_KKBW_ITEM-CURRENCY_TYPE EQ '20'.
    SELECT SINGLE KALNR KALKA KADKY TVERS KADAT KOKRS INTO (W_KALNR, W_KALKA, W_KADKY, W_TVERS,  
                    TBL_KKBW_ITEM-COSTING_DATE,
                    TBL_KKBW_ITEM-CONTROLLING_AREA)           
                    FROM KEKO                                  
                       WHERE KLVAR EQ TBL_KKBW_ITEM-COSTING_VARIANT                              
                        AND  KADKY EQ TBL_KKBW_ITEM-COSTING_DATE
                        AND  TVERS EQ TBL_KKBW_ITEM-COSTING_VERSION                           
                        AND  MATNR EQ TBL_KKBW_ITEM-HEADER_MATERIAL                             
                        AND  WERKS EQ TBL_KKBW_ITEM-HEADER_PLANT.
               IF SY-SUBRC EQ 0.                                
              SELECT SINGLE KOSTL INTO TBL_KKBW_ITEM-COST_CENTER
                              FROM CKIS WHERE KOSTL NE SPACE   
                                         AND  KALNR EQ W_KALNR 
                                         AND  KALKA EQ W_KALKA 
                                         AND  KADKY EQ W_KADKY 
                                         AND  TVERS EQ W_TVERS.
              IF SY-SUBRC NE 0.                                
                CLEAR TBL_KKBW_ITEM-COST_CENTER.               
              ENDIF.                                           
            ENDIF.                                             
            MODIFY C_T_DATA FROM TBL_KKBW_ITEM INDEX W_TABIX.
          ELSE.
            DELETE C_T_DATA INDEX W_TABIX.
          ENDIF.
        ENDLOOP.
    Thanks,
    Rani.

    hi
    plz use the below code :
    WHEN '0CO_PC_PCP_03'.
    SELECT  KALNR KALKA KADKY TVERS KADAT KOKRS INTO it_keko "declare internal table with the mentioned fields
    " also select the fields to be used in where condition
    FROM KEKO
    for all entries in c_t_data
    WHERE KLVAR EQ c_t_data-COSTING_VARIANT
    AND KADKY EQ c_t_data-COSTING_DATE
    AND TVERS EQ c_t_data-COSTING_VERSION
    AND MATNR EQ c_t_data-HEADER_MATERIAL
    AND WERKS EQ c_t_data-HEADER_PLANT.
    "sort the tables on the fields used in where.
    IF SY-SUBRC EQ 0.
    SELECT  KOSTL "and other fields to be used in where
    INTO it _ckis
    FROM CKIS
    for all entries in c_t_data
    WHERE KOSTL NE SPACE "use c_t_data
    AND KALNR EQ W_KALNR
    AND KALKA EQ W_KALKA
    AND KADKY EQ W_KADKY
    AND TVERS EQ W_TVERS.
    IF SY-SUBRC NE 0.
    CLEAR TBL_KKBW_ITEM-COST_CENTER.
    ENDIF.
    it_data[] = c_t_data. "declare it_data same as the extract structure
    delete it_data where CURRENCY_TYPE  NE '20'.
    LOOP AT it_data assigning <fs_data>. "use field symbols
    read from it_keko into wa_keko
    where
    KLVAR EQ <fs_data>-COSTING_VARIANT
    AND KADKY EQ <fs_data>-COSTING_DATE
    AND TVERS EQ <fs_data>-COSTING_VERSION
    AND MATNR EQ <fs_data>-HEADER_MATERIAL
    AND WERKS EQ<fs_data>-HEADER_PLANT
    binary search.
    if sy_subrc = 0.
    similarly read from the second itab
    ENDIF.
    ENDLOOP.
    c_t_data[] = it_data[].
    Pls let me know in case of any issues
    Regards,
    Aparna
    Edited by: Aparna KS on Jun 13, 2010 11:01 PM

  • Plz help to run the web service

    I have developed one web service & also deployed on tomcat 5.0 using Axis1.1. I have checked the wsdd & wsdl files in the browser.
    It is all ok.
    when sending some request from web service client
    by the following method & parameters
    SDNScan(java.lang.String,java.lang.String,double)
    It goes to the server end & also perform scanning from the database.
    but while sending List[] object back from web service server to the client it displays following message on the browser
    (500)Internal Server Error
    I am using Tomcat5.0 & Apache Axis with j2sdk1.4
    Is there any deployment problem I am facing..
    Plz hel me.
    The full stack trace is given below:
    AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (500)Internal Server Error
    faultActor:
    faultNode:
    faultDetail:
    {}string: return code: 500
    <html><head><title>Apache Tomcat/5.0.27 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.io.IOException: No serializer found for class biz.infrasofttech.aml.database.DatabaseDynaDAO in registry org.apache.axis.encoding.TypeMappingImpl@18bdc7a
    org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
    org.apache.axis.SOAPPart.writeTo(SOAPPart.java:272)
    org.apache.axis.SOAPPart.getAsString(SOAPPart.java:483)
    org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:375)
    org.apache.axis.Message.getContentType(Message.java:399)
    org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:887)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    </pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.0.27</h3></body></html>
    (500)Internal Server Error
    at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:630)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:128)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
    at org.apache.axis.client.Call.invoke(Call.java:2553)
    at org.apache.axis.client.Call.invoke(Call.java:2248)
    at org.apache.axis.client.Call.invoke(Call.java:2171)
    at org.apache.axis.client.Call.invoke(Call.java:1691)
    at biz.infrasofttech.aml.processes.SDNSearchWSSoapBindingStub.performSDNScanWeb(SDNSearchWSSoapBindingStub.java:233)
    at biz.infrasofttech.aml.processes.SDNSearchWSProxy.performSDNScanWeb(SDNSearchWSProxy.java:51)
    at org.apache.jsp.sampleSDNSearchWSProxy.Result_jsp._jspService(Result_jsp.java:142)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)
    I am not getting any thing.
    Is there any other tool for creating a web service
    Plz help.
    Thanx in advance

    Plz Tell me how I get the HTML Tag through the java code.

  • Plz help to get the tag of html file

    hi
    I wants to convert the HTML file into PDF file dynamically.
    So first i wants to get the tag of html file when we pass the path of html file.
    so how i do this plz help me.

    Plz Tell me how I get the HTML Tag through the java code.

  • Need help in executing the plsql code

    hi guys,
    below is the structure of the procedure i have created.
    CREATE OR REPLACE PROCEDURE sp_R_TrgComparisonReport
         DataDate IN      DATE DEFAULT NULL,
         Business IN OUT      VARCHAR2,
         Sector IN      VARCHAR2 DEFAULT NULL,
         SubSector IN      VARCHAR2 DEFAULT NULL,
         CUSIP IN OUT      VARCHAR2,
         DEALTICKER IN OUT      VARCHAR2,
         sFloatInd IN      VARCHAR2 DEFAULT NULL,
         RCT1 IN OUT      GLOBALPKG.RCT1
    AS
         tmpBusCount INT;
         tmpStartCount INT;
         tmpEndCount INT;
         tmpBusName VARCHAR2(30);
         tmpAlterTable VARCHAR2(500);
         tmpUpdateStr VARCHAR2(2000);
         tmpFinalStr1 VARCHAR2(1000);
         tmpFinalStr2 VARCHAR2(1000);
         Days INT;
         tmpFinalStrCMBS VARCHAR2(2000);
         tmpCusip VARCHAR2(100);
         tmpColName VARCHAR2(30);
         tmpFinalStr4 VARCHAR2(1000);
         tmpCMBSTable VARCHAR2(500);
         tmpEndCount_CMBS INT;
         tmpRating3str VARCHAR2(1000);
         Deletestr VARCHAR2(1000);
         ipos INT;
         CALLINGPROCASSIGNTEMP1 VARCHAR2(31);
         strSector VARCHAR2(2000);
         CALLINGPROCASSIGNTEMP2 VARCHAR2(29);
         strSubSector VARCHAR2(2000);
         CALLINGPROCASSIGNTEMP3 VARCHAR2(32);
         CALLINGPROCASSIGNTEMP4 VARCHAR2(28);
         CALLINGPROCASSIGNTEMP5 VARCHAR2(40);
         CALLINGPROCASSIGNTEMP6 VARCHAR2(34);
         CALLINGPROCASSIGNTEMP7 VARCHAR2(36);
         SCOPE_IDENTITY_VARIABLE INT;
         G1_COL1 TMPHOLDINGTRIGGER.DEALTICKER%TYPE;
         G1_ROWID ROWID;
         G2_COL1 TMPHOLDINGTRIGGER.CURRENT_CE%TYPE;
         G2_ROWID ROWID;
         G3_COL1 TMPHOLDINGTRIGGER.SP_RATING%TYPE;
         G3_ROWID ROWID;
         G4_COL1 TMPHOLDINGTRIGGER.MOODY_RATING%TYPE;
         G4_ROWID ROWID;
         G5_COL1 TMPHOLDINGTRIGGER.FITCH_RATING%TYPE;
         G5_ROWID ROWID;
         G6_COL1 TMPHOLDINGTRIGGER.DEAL_DESC%TYPE;
         G6_ROWID ROWID;
         G7_COL1 TMPHOLDINGTRIGGER.CUSIP_COMMENTARY%TYPE;
         G7_ROWID ROWID;
         G8_COL1 TMPHOLDINGTRIGGER.CUSIP_RANKING_DESC%TYPE;
         G8_ROWID ROWID;
         G9_COL1 TMPHOLDINGTRIGGER.BB_DEALTICKER%TYPE;
         G9_ROWID ROWID;
         G10_COL1 TMPHOLDINGTRIGGER.CLASS%TYPE;
         G10_ROWID ROWID;
         G11_COL1 TMPHOLDINGTRIGGER.RANKING%TYPE;
         G11_ROWID ROWID;
         CALLINGPROCASSIGNTEMP8 VARCHAR2(34);
         CALLINGPROCASSIGNTEMP9 VARCHAR2(39);
         CALLINGPROCASSIGNTEMP10 VARCHAR2(43);
         G12_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
         G12_ROWID ROWID;
         G13_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
         G13_ROWID ROWID;
         G14_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
         G14_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G14_ROWID ROWID;
         G15_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
         G15_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G15_ROWID ROWID;
         G16_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
         G16_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G16_ROWID ROWID;
         G17_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
         G17_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G17_ROWID ROWID;
         G18_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
         G18_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G18_ROWID ROWID;
         G19_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
         G19_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G19_ROWID ROWID;
         G20_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
         G20_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G20_ROWID ROWID;
         G21_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
         G21_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
         G21_ROWID ROWID;
         G22_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
         G22_ROWID ROWID;
    the procedure got compiled successfully.
    and i am trying to execute this procedure in this way.
    1 declare x refcursor;
    2 exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','','ALL');
    3* print x
    L> /
    i am facing errors.
    ERROR at line 3:
    ORA-06550: line 3, column 7:
    PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
    := . ( @ % ; not null range default character
    basically i am appsdba so dont have much exposure on this
    can some one please help me out
    thanks in advance.
    let me know if you need the complete code
    thanks,
    Vamshi.D

    and i am trying to execute this procedure in this way.
    declare x refcursor;
    2 exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','','ALL');
    3* print xIn SQL*plus you would run it like this:
    SQL> var x refcursor
    SQL> exec exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','','ALL')
    SQL> print xOf course that last command is going to hurl an invalid handle exception because you don't appear to have a ref cursor as an argument in your procedure's signature.
    Unless that is what is meant by RCT1 IN OUT GLOBALPKG.RCT1. In which case you need to reference your variable there:
    SQL> exec exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','',:x) If that last argument is not the ref cursor then your call is going to fail because we can't use literals as OUT parameters.
    Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • Need help in modifing the following code to display required output

    Hi this is the code which i am going to displayoutput here i used FM VRM_SET_VALUES for getting dropdown box when i used it my output race field is not getting any values and blank space is getting displayed
    what i want is just i need to display the output according to the selection screen
    and the other fields in the selection screen except 'p_gender' are also  giving problem when i am keeping where condition to link selection screen
    can any one please help me in getting the required output according to selection by modifing the following code
    TABLES: pernr,t5u13,cskt , t001p,t500p, t501t,t503t,t513s,t527x,t529t,t530t, t5uaa.
    TYPE-POOLS: slis, vrm.
    INFOTYPES: 0000,                               "Actions
               0001,                               "Org Assignment
               0002,                               "Personal Data
               0006,                               "Address
               0008,                               "Basic Pay
               0041,                               "Date Specifications
               0077.                               "Additional Personal Data
    CONSTANTS: gc_x               TYPE c VALUE 'X',
               g_w(1)             TYPE c VALUE 'W',
               g_h(1)             TYPE c VALUE 'H',
               g_af(2)            TYPE c VALUE 'AF',
               g_ai(2)            TYPE c VALUE 'AI',
               g_01(2)            TYPE c VALUE 'R1',
               g_02(2)            TYPE c VALUE 'R2',
               g_03(2)            TYPE c VALUE 'R3',
               g_05(2)            TYPE c VALUE 'R5'.
    TYPES : BEGIN OF t_roster,
            pernr                 TYPE p0001-pernr,
            ssn                   TYPE p0002-perid,
            first_name            TYPE p0002-vorna,
            last_name             TYPE p0002-nachn,
            city                  TYPE t500p-ort01,
            state                 TYPE t500p-regio,
            zipcode               TYPE t500p-pstlz,
            hire_date(10)         TYPE c,
            lhire_date(10)        TYPE c,
            serv_date(10)         TYPE c,
            eg                    TYPE p0001-persg,
            eg_desc               TYPE t501t-ptext,
            esg                   TYPE p0001-persk,
            esg_desc              TYPE t503t-ptext,
            race                  TYPE p0077-rac01,
            ***                   TYPE p0002-gesch,
            job_grade             TYPE p0008-trfgr,
            job_level             TYPE p0008-trfst,
            grade_entry_date(10)  TYPE c,
            job_title             TYPE p0001-plans,
            title(30)             TYPE c,
            job_code              TYPE p0001-stell,
            job_code_desc         TYPE t513s-stltx,
            job_entry_date(10)    TYPE c,
            annual_sal            TYPE p0008-ansal,
            hrly_rate             TYPE p0008-bet01,
            org_unit              TYPE p0001-orgeh,
            orgtx(40)             TYPE c,
            cost_cntr             TYPE p0001-kostl,
            ltext(40)             TYPE c,
            personal_area         TYPE p0001-werks,
            personal_area_desc    TYPE t500p-name1,
            supervisor(30)        TYPE c,
            flsa                  TYPE t5u13-exmpt,
            ee01                  TYPE t5u13-eeoct,
            job_grp               TYPE p0001-stell,
            aap_code              TYPE t5u13-aapct,
            aap_code_desc         TYPE t5uaa-ltext,
            dob                   TYPE p0002-gbdat,
            psa                   TYPE p0001-btrtl,
            psa_desc              TYPE t001p-btext,
            unionl                TYPE p0001-btrtl,
            unionc                TYPE p0001-btrtl,
      END OF t_roster.
    DATA : gi_roster TYPE  STANDARD TABLE OF  t_roster, gi_objec TYPE  STANDARD TABLE OF  objec,
           gi_hrp1000      TYPE  STANDARD TABLE OF  hrp1000,
           gi_cskt         TYPE  STANDARD TABLE OF  cskt,
           gi_t001p        TYPE  STANDARD TABLE OF  t001p,
           gi_t500p        TYPE  STANDARD TABLE OF  t500p,
           gi_t501t        TYPE  STANDARD TABLE OF  t501t,
           gi_t503t        TYPE  STANDARD TABLE OF  t503t,
           gi_t513s        TYPE  STANDARD TABLE OF  t513s,
           gi_t527x        TYPE  STANDARD TABLE OF  t527x,
           gi_t529t        TYPE  STANDARD TABLE OF  t529t,
           gi_t530t        TYPE  STANDARD TABLE OF  t530t,
           gi_t5u13        TYPE  STANDARD TABLE OF  t5u13,
           gi_t5uaa        TYPE  STANDARD TABLE OF  t5uaa.
    DATA : gs_roster       TYPE t_roster,
             gs_objec        TYPE objec,
           gs_hrp1000      TYPE hrp1000,
           gs_cskt         TYPE cskt,
           gs_t001p        TYPE t001p,
           gs_t500p        TYPE t500p,
           gs_t501t        TYPE t501t,
           gs_t503t        TYPE t503t,
           gs_t513s        TYPE t513s,
           gs_t527x        TYPE t527x,
           gs_t529t        TYPE t529t,
           gs_t530t        TYPE t530t,
           gs_t5u13        TYPE t5u13,
           gs_t5uaa        TYPE t5uaa.
    DATA :  gv_ltext(40)       TYPE c,
            gv_ltext1(40)      TYPE c,
            gv_age(3)          TYPE c,
            gv_butxt(40)       TYPE c,
            gv_eeoc(10)        TYPE c,
            gv_prevdate        TYPE datum.
    DATA: gi_fieldcat    TYPE slis_t_fieldcat_alv,
          gs_fieldcat    TYPE slis_fieldcat_alv,
          i_top_of_page  TYPE slis_t_listheader,
          g_repid        TYPE sy-repid,
          g_save,
          gs_layout      TYPE slis_layout_alv,
          gt_events      TYPE slis_t_event,
          gs_variant     LIKE disvariant,
          gi_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
    DATA: name  TYPE vrm_id,
          list  TYPE vrm_values,
          value LIKE LINE OF list.
    SELECTION-SCREEN BEGIN OF BLOCK b1
                     WITH FRAME TITLE text-x02.
    PARAMETERS : p_race(10) AS LISTBOX VISIBLE LENGTH 30,
                 p_gender TYPE p0002-gesch,
                 p_eeoc   TYPE t5u13-eeoct,
                 p_aap    TYPE t5u13-aapct.
    SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN OUTPUT.
      REFRESH list.
      name = 'P_RACE'.
      value-key = 'R1'.
      value-text = 'American Indian or Alaskan Native'.
      APPEND value TO list.
    CLEAR value.
      value-key = 'R2'.
      value-text = 'Asian'.
      APPEND value TO list.
    CLEAR value.
      value-key = 'R3'.
      value-text = 'Black or African American'.
      APPEND value TO list.
    CLEAR value.
      value-key = 'R5'.
      value-text = 'White'.
      APPEND value TO list.
    CLEAR value.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id              = name
          values          = list
        EXCEPTIONS
          id_illegal_name = 1
          OTHERS          = 2.
    INITIALIZATION.
      g_repid = sy-repid.
      PERFORM layout_init    USING gs_layout.
      PERFORM eventtab_build USING gt_events[].
      gs_variant-report = g_repid.
      g_save = 'A'.
    START-OF-SELECTION.
    GET pernr.
        PERFORM roster_aap.
    END-OF-SELECTION.
    PERFORM fetch_roster_text.
        PERFORM output_roster_display.
    *&      Form  ROSTER_AAP
          text
    -->  p1        text
    <--  p2        text
    FORM roster_aap .
      PERFORM infty_rost_0001.
      PERFORM infty_rost_0002.
      PERFORM infty_rost_0008.
      PERFORM infty_rost_0041.
      PERFORM infty_rost_0077.
      PERFORM supervisor_rost.
      PERFORM append_rost_recs.
    ENDFORM.                    " ROSTER_AAP
    *&      Form  INFTY_ROST_0001
          text
    FORM infty_rost_0001 .
      rp_provide_from_last p0001 space
                              pn-begda pn-endda.
      IF pnp-sw-found = 1.
        gs_roster-pernr         = p0001-pernr.
        gs_roster-eg            = p0001-persg.
        READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = p0001-persg.
        IF sy-subrc <> 0.
          APPEND gs_t501t TO gi_t501t.
          CLEAR gs_t501t.
        ENDIF.
        gs_roster-esg           = p0001-persk.
        READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = p0001-persk.
        IF sy-subrc <> 0.
          APPEND gs_t503t TO gi_t503t.
          CLEAR gs_t503t.
        ENDIF.
        gs_roster-job_title     = p0001-plans.
        READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = p0001-plans.
        IF sy-subrc <> 0.
          APPEND gs_hrp1000 TO gi_hrp1000.
          CLEAR gs_hrp1000.
        ENDIF.
        gs_roster-job_code      = p0001-stell.
        READ TABLE gi_t513s INTO gs_t513s WITH KEY stell = p0001-stell.
        IF sy-subrc <> 0.
          APPEND gs_t513s TO gi_t513s.
          CLEAR gs_t513s.
        ENDIF.
        gs_roster-org_unit      = p0001-orgeh.
        READ TABLE gi_t527x INTO gs_t527x WITH KEY orgeh = p0001-orgeh.
        IF sy-subrc <> 0.
          APPEND gs_t527x TO gi_t527x.
          CLEAR gs_t527x.
        ENDIF.
        gs_roster-cost_cntr     = p0001-kostl.
        READ TABLE gi_cskt INTO gs_cskt WITH KEY kostl = p0001-kostl.
        IF sy-subrc <> 0.
          APPEND gs_cskt TO gi_cskt.
          CLEAR gs_cskt.
        ENDIF.
        gs_roster-personal_area = p0001-werks.
        READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = p0001-werks.
        IF sy-subrc <> 0.
          APPEND gs_t500p TO gi_t500p.
          CLEAR gs_t500p.
        ENDIF.
        gs_roster-job_grp       = p0001-stell.
        READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = p0001-stell.
        IF sy-subrc <> 0.
          APPEND gs_t5u13 TO gi_t5u13.
          CLEAR gs_t5u13.
        ENDIF.
        READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code.
        IF sy-subrc <> 0.
          APPEND gs_t5uaa TO gi_t5uaa.
          CLEAR gs_t5uaa.
        ENDIF.
        gs_roster-psa           = p0001-btrtl.
        READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = p0001-btrtl.
        IF sy-subrc <> 0.
          APPEND gs_t001p TO gi_t001p.
          CLEAR gs_t001p.
        ENDIF.
        gs_roster-unionl        = p0001-btrtl.
        gs_roster-unionc        = p0001-btrtl.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0001
    *&      Form  INFTY_ROST_0002
          text
    FORM infty_rost_0002 .
      rp_provide_from_last p0002 space
                              pn-begda pn-endda.
      IF pnp-sw-found = 1.
        IF p_gender IS NOT INITIAL AND p_gender NE p0002-gesch.
          REJECT.
        ENDIF.
        gs_roster-ssn        = p0002-perid.
        gs_roster-first_name = p0002-vorna.
        gs_roster-last_name  = p0002-nachn.
        gs_roster-***        = p0002-gesch.
        gs_roster-dob        = p0002-gbdat.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0002
    *&      Form  INFTY_ROST_0008
          text
    FORM infty_rost_0008 .
      DATA: lv_wage TYPE lgart,
            lv_amount TYPE pad_amt7s.
      rp_provide_from_last p0008 space
                              pn-begda pn-endda.
      IF pnp-sw-found = 1.
        gs_roster-annual_sal = p0008-ansal.
        DO 40 TIMES VARYING lv_wage FROM p0008-lga01
                                  NEXT p0008-lga02
                  VARYING lv_amount FROM p0008-bet01
                                    NEXT p0008-bet02.
          IF lv_wage = '0101'.
            gs_roster-hrly_rate = lv_amount.
            EXIT.
          ENDIF.
        ENDDO.
        gs_roster-job_grade    = p0008-trfgr.
        gs_roster-job_level    = p0008-trfst.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0008
    *&      Form  INFTY_ROST_0041
          text
    FORM infty_rost_0041 .
      DATA : l_date  TYPE datum,
             l_hdate TYPE datum,
             l_sdate TYPE datum.
      rp_provide_from_last p0041 space
                           pn-begda pn-endda.
      IF pnp-sw-found = 1.
        CLEAR : l_date,
                l_hdate,
                l_sdate.
    *--Last Hire Date--
        CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
          EXPORTING
            p0041                    = p0041
            p_datar                  = 'U1'
         P_DATKN                  =
         IMPORTING
           p_date                   = l_date
         EXCEPTIONS
           illegal_arguments        = 1
           more_than_one_date       = 2
           OTHERS                   = 3
        IF sy-subrc <> 0.
        ENDIF.
        IF NOT l_date IS INITIAL.
          CONCATENATE
                     l_date4(2) l_date6(2) l_date+0(4)
                     INTO gs_roster-hire_date
                     SEPARATED BY '/'.
        ENDIF.
      ENDIF.
    *--Last Hire Date--
      CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
        EXPORTING
          p0041                    = p0041
          p_datar                  = 'U2'
         P_DATKN                  =
       IMPORTING
         p_date                   = l_hdate
       EXCEPTIONS
         illegal_arguments        = 1
         more_than_one_date       = 2
         OTHERS                   = 3
      IF sy-subrc <> 0.
      ENDIF.
      IF NOT l_hdate IS INITIAL.
        CONCATENATE
                   l_hdate4(2) l_hdate6(2) l_hdate+0(4)
                   INTO gs_roster-lhire_date
                   SEPARATED BY '/'.
      ENDIF.
    *--Service Date--
      CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
        EXPORTING
          p0041                    = p0041
          p_datar                  = 'U4'
         P_DATKN                  =
       IMPORTING
         p_date                   = l_sdate
       EXCEPTIONS
         illegal_arguments        = 1
         more_than_one_date       = 2
         OTHERS                   = 3
      IF sy-subrc <> 0.
      ENDIF.
      IF NOT l_sdate IS INITIAL.
        CONCATENATE
                   l_sdate4(2) l_sdate6(2) l_sdate+0(4)
                   INTO gs_roster-serv_date
                   SEPARATED BY '/'.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0041
    *&      Form  INFTY_ROST_0077
          text
    FORM infty_rost_0077 .
      DATA: lv_race TYPE races.
    rp_provide_from_last p0077 space
                                   pn-begda pn-endda.
      IF pnp-sw-found = 1.
        IF NOT p_race IS INITIAL AND p_race NE lv_race.
          REJECT.
        ENDIF.
        DO 10 TIMES VARYING lv_race FROM p0077-rac01
                                NEXT p0077-rac02.
          IF lv_race NE space.
            IF lv_race EQ g_01.
              gs_roster-race = g_ai.
            ELSEIF lv_race EQ g_02.
              gs_roster-race = g_h.
            ELSEIF lv_race EQ g_03.
              gs_roster-race = g_af.
            ELSEIF lv_race EQ g_05.
              gs_roster-race = g_w.
            ENDIF.
          ENDIF.
        ENDDO.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0077
    *&      Form  SUPERVISOR_ROST
          text
    FORM supervisor_rost .
      REFRESH gi_objec.
      IF NOT  p0001-orgeh IS INITIAL.
        CALL FUNCTION 'HRCM_ORGUNIT_MANAGER_GET'
          EXPORTING
            plvar                    = '01'
            otype                    = 'O'
            objid                    = p0001-orgeh
            begda                    = pn-begda
            endda                    = pn-endda
        PATH_ID                  = ' '
        TABLES
           manager_info_table       = gi_objec
         EXCEPTIONS
           path_error               = 1
           root_error               = 2
           nothing_found            = 3
           OTHERS                   = 4
        IF sy-subrc <> 0.
        ENDIF.
        SORT gi_objec DESCENDING BY endda.
        READ TABLE gi_objec INTO gs_objec INDEX 1.
        IF sy-subrc = 0.
          gs_roster-supervisor = gs_objec-stext.
          CLEAR gs_objec.
        ENDIF.
      ENDIF.
    ENDFORM.                    " SUPERVISOR_ROST
    *&      Form  APPEND_ROST_RECS
          text
    FORM append_rost_recs .
      IF NOT gs_roster-pernr IS INITIAL.
        APPEND gs_roster TO gi_roster.
        CLEAR gs_roster.
      ENDIF.
    ENDFORM.                    " APPEND_ROST_RECS
    *&      Form  FETCH_ROSTER_TEXT
          text
    FORM fetch_roster_text .
      IF p_eeoc IS NOT INITIAL AND p_eeoc NE t5u13-eeoct.
        REJECT.
      ENDIF.
      IF NOT gi_roster IS INITIAL.
        SELECT orgeh orgtx FROM t527x
           INTO CORRESPONDING FIELDS OF TABLE gi_t527x
           WHERE  sprsl = sy-langu AND
                  endda = '99991231'.
        SELECT persa ort01 regio pstlz name1
            FROM t500p
            INTO CORRESPONDING FIELDS OF TABLE gi_t500p.
        SELECT persg ptext
            FROM t501t
            INTO CORRESPONDING FIELDS OF TABLE gi_t501t
            WHERE  sprsl = sy-langu.
        SELECT persk ptext
                 FROM t503t
                 INTO CORRESPONDING FIELDS OF TABLE gi_t503t
                  WHERE  sprsl = sy-langu.
        SELECT stell stltx FROM t513s
           INTO CORRESPONDING FIELDS OF TABLE gi_t513s
           WHERE sprsl = sy-langu AND
                 endda = '99991231'.
        SELECT otype plvar objid stext
                FROM hrp1000 INTO
                CORRESPONDING FIELDS OF TABLE gi_hrp1000
               for all entries in gi_roster
                                        WHERE plvar = '01'
                                        AND otype = 'S'.
                                       and objid = gi_roster-job_title.
        SELECT stell eeoct exmpt aapct
             FROM t5u13
             INTO CORRESPONDING FIELDS OF TABLE gi_t5u13.
            for all entries in gi_t5u13
         WHERE stell = gi_t5u13-stell
         AND eeoct = p_eeoc
         AND aapct = p_aap.
        SELECT aapct eeoct ltext
                FROM t5uaa
                INTO CORRESPONDING FIELDS OF TABLE gi_t5uaa.
             FOR ALL ENTRIES IN gi_roster
             WHERE aapct = gi_roster-aap_code
               and eeoct = gi_roster-ee01.
        SELECT  kostl ltext
          FROM cskt
           INTO CORRESPONDING FIELDS OF TABLE gi_cskt
          FOR ALL ENTRIES IN gi_roster
          WHERE  kostl =  gi_roster-cost_cntr
         WHERE   spras = sy-langu.
        SELECT btrtl btext
             FROM t001p
             INTO CORRESPONDING FIELDS OF TABLE gi_t001p.
            FOR ALL ENTRIES IN gi_roster
            WHERE btrtl = gi_roster-psa.
      ENDIF.
      LOOP AT gi_roster INTO gs_roster.
        CLEAR :gs_hrp1000,gs_t5u13,gs_t500p,gs_t501t,gs_t503t,gs_t5uaa,gs_cskt,gs_t001p,gs_t513s,          gs_t527x,gs_t529t,gs_t530t.
        READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = gs_roster-eg.
        IF sy-subrc = 0.
          gs_roster-eg_desc = gs_t501t-ptext.
        ENDIF.
        READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = gs_roster-esg.
        IF sy-subrc = 0.
          gs_roster-esg_desc = gs_t503t-ptext.
        ENDIF.
        READ TABLE gi_t513s INTO gs_t513s
                            WITH KEY stell = gs_roster-job_code.
        IF sy-subrc = 0.
          gs_roster-job_code_desc = gs_t513s-stltx.
        ENDIF.
        READ TABLE gi_t527x INTO gs_t527x
                          WITH KEY orgeh = gs_roster-org_unit.
        IF sy-subrc = 0.
          gs_roster-orgtx = gs_t527x-orgtx.
        ENDIF.
        READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = gs_roster-job_title.
        IF sy-subrc = 0.
          gs_roster-title = gs_hrp1000-stext.
        ENDIF.
        READ TABLE gi_cskt INTO gs_cskt
                               WITH KEY kostl = gs_roster-cost_cntr.
        IF sy-subrc = 0.
          gs_roster-ltext = gs_cskt-ltext.
        ENDIF.
        READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = gs_roster-job_code.
        IF sy-subrc = 0.
          gs_roster-ee01      = gs_t5u13-eeoct.
          gs_roster-flsa      = gs_t5u13-exmpt.
          gs_roster-aap_code  = gs_t5u13-aapct.
        ENDIF.
        READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = gs_roster-personal_area.
        IF sy-subrc = 0.
          gs_roster-city               = gs_t500p-ort01.
          gs_roster-state              = gs_t500p-regio.
          gs_roster-zipcode            = gs_t500p-pstlz.
          gs_roster-personal_area_desc = gs_t500p-name1.
        ENDIF.
        READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = gs_roster-psa.
        IF sy-subrc = 0.
          gs_roster-psa_desc = gs_t001p-btext.
        ENDIF.
        READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code eeoct = gs_roster-ee01.
        IF sy-subrc = 0.
          gs_roster-aap_code_desc     = gs_t5uaa-ltext.
        ENDIF.
        MODIFY gi_roster FROM gs_roster .
      ENDLOOP.
    ENDFORM.                    " FETCH_ROSTER_TEXT
    *&      Form  OUTPUT_ROSTER_DISPLAY
          text
    FORM output_roster_display .
      PERFORM build_roster_fieldcatalog.
      PERFORM comment_roster_build CHANGING i_top_of_page[].
      PERFORM display_roster_alv_report.
    ENDFORM.                    " OUTPUT_ROSTER_DISPLAY
    *&      Form  LAYOUT_INIT
          text
    FORM layout_init  USING rs_layout TYPE slis_layout_alv.
      rs_layout-detail_popup      = 'X'.
      rs_layout-zebra             = 'X'.
      rs_layout-colwidth_optimize = 'X'.
    ENDFORM.                    " LAYOUT_INIT
    *&      Form  EVENTTAB_BUILD
          text
    FORM eventtab_build  USING rt_events TYPE slis_t_event.
    *"Registration of events to happen during list display
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = rt_events.
      READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
                                 INTO ls_event.
      IF sy-subrc = 0.
        MOVE gi_top_of_page TO ls_event-form.
        APPEND ls_event TO rt_events.
      ENDIF.
    ENDFORM.                    " EVENTTAB_BUILD
    *&      Form  top_of_page
          text
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = i_top_of_page.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  BUILD_ROSTER_FIELDCATALOG
          text
    FORM build_roster_fieldcatalog .
      gs_fieldcat-fieldname = 'PERNR'.
      gs_fieldcat-seltext_m = 'Employee Number'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'SSN'.
      gs_fieldcat-seltext_m = 'SSN Number'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'FIRST_NAME'.
      gs_fieldcat-seltext_m = 'First Name'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'LAST_NAME'.
      gs_fieldcat-seltext_m = 'Last Name'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'CITY'.
      gs_fieldcat-seltext_m = 'City'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'STATE'.
      gs_fieldcat-seltext_m = 'State'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ZIPCODE'.
      gs_fieldcat-seltext_m = 'Zip Code'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'HIRE_DATE'.
      gs_fieldcat-seltext_m = 'Hire Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'LHIRE_DATE'.
      gs_fieldcat-seltext_m = 'Last Hire Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'SERV_DATE'.
      gs_fieldcat-seltext_m = 'Service Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'EG'.
      gs_fieldcat-seltext_m = 'Eg'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'EG_DESC'.
      gs_fieldcat-seltext_m = 'Eg Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ESG'.
      gs_fieldcat-seltext_m = 'Esg'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ESG_DESC'.
      gs_fieldcat-seltext_m = 'Eg Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'RACE'.
      gs_fieldcat-seltext_m = 'Race'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = '***'.
      gs_fieldcat-seltext_m = '***'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_GRADE'.
      gs_fieldcat-seltext_m = 'Job Grade'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_LEVEL'.
      gs_fieldcat-seltext_m = 'Job Level'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'GRADE_ENTRY_DATE'.
      gs_fieldcat-seltext_l = 'Grade Entry Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_TITLE'.
      gs_fieldcat-seltext_l = 'Job Title'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat..
      gs_fieldcat-fieldname = 'TITLE'.
      gs_fieldcat-seltext_l = 'Job Title Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_CODE'.
      gs_fieldcat-seltext_l = 'Job Code'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_CODE_DESC'.
      gs_fieldcat-seltext_l = 'Job Code Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_ENTRY_DATE'.
      gs_fieldcat-seltext_l = 'Job Entry Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ANNUAL_SAL'.
      gs_fieldcat-seltext_l = 'Annual Salary'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'HRLY_RATE'.
      gs_fieldcat-seltext_l = 'Hourly Rate'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ORG_UNIT'.
      gs_fieldcat-seltext_l = 'Org Unit'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ORGTX'.
      gs_fieldcat-seltext_l = 'Org Text'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'COST_CNTR'.
      gs_fieldcat-seltext_l = 'Cost Center'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'LTEXT'.
      gs_fieldcat-seltext_l = 'Cost Center Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PERSONAL_AREA'.
      gs_fieldcat-seltext_l = 'Personal Area'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PERSONAL_AREA_DESC'.
      gs_fieldcat-seltext_l = 'Personal Area Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'SUPERVISOR'.
      gs_fieldcat-seltext_l = 'Supervisor'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'FLSA'.
      gs_fieldcat-seltext_l = 'FLSA'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'EE01'.
      gs_fieldcat-seltext_l = 'EE01'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_GRP'.
      gs_fieldcat-seltext_l = 'Job Group'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'AAP_CODE'.
      gs_fieldcat-seltext_l = 'AAP Code'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'AAP_CODE_DESC'.
      gs_fieldcat-seltext_l = 'AAP Code Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'DOB'.
      gs_fieldcat-seltext_l = 'Date of Birth'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PSA'.
      gs_fieldcat-seltext_l = 'Personal Sub Area'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PSA_DESC'.
      gs_fieldcat-seltext_l = 'Personal Sub Area Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'UNIONL'.
      gs_fieldcat-seltext_l = 'Union Local'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'UNIONC'.
      gs_fieldcat-seltext_l = 'Union Classfication'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
    ENDFORM.                    " BUILD_ROSTER_FIELDCATALOG
    *&      Form  COMMENT_ROSTER_BUILD
          text
    FORM comment_roster_build  CHANGING top_of_page TYPE
                        slis_t_listheader.
      DATA: ls_line           TYPE slis_listheader,
            l_startdate(10)   TYPE c,
            l_enddate(10)     TYPE c,
            l_final_start(22) TYPE c,
            l_final_end(22)   TYPE c.
      CONCATENATE pn-begda4(2)'/'pn-begda6(2)'/'pn-begda+0(4)
    INTO l_startdate.
      CONCATENATE pn-endda4(2)'/'pn-endda6(2)'/'pn-endda+0(4)
      INTO l_enddate.
      CONCATENATE 'Start Date:' l_startdate INTO l_final_start.
      CONCATENATE 'End Date :' l_enddate INTO l_final_end.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = 'AAP-EEOC Roster Report Data '. "Max len = 60
      APPEND ls_line TO i_top_of_page.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-info = l_final_start.
      APPEND ls_line TO i_top_of_page.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-info = l_final_end.
      APPEND ls_line TO i_top_of_page.
      CLEAR ls_line.
    ENDFORM.                    " COMMENT_ROSTER_BUILD
    *&      Form  DISPLAY_ROSTER_ALV_REPORT
          text
    FORM display_roster_alv_report .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                i_callback_program                = g_repid
                is_layout                         = gs_layout
                it_fieldcat                       = gi_fieldcat
                i_save                            = g_save
                is_variant                        = gs_variant
                it_events                         = gt_events[]
                 TABLES
                   t_outtab                          = gi_roster
              EXCEPTIONS
                program_error                     = 1
                OTHERS                            = 2
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.                    " DISPLAY_ROSTER_ALV_REPORT
    Regards
    sachin

    hi there,
    i want to fetch data from all the fields i ahve given here .It will be a join statement.
    the important thing is I need all the values of vbeln in leftside
    as output.

  • Plz help me with the workflow.........

    I'm trying my level best to mould my expectations according to the software but till now no success,can you plz explain
    to make the timeline less cluttered and organized we make secondary storylines and compound clips
    since you can't keep too many things in order in a big project you take a portion ,compound it , work in it and come back,
    within the compound clip you put transitions and some secondary storylines get created automatically within the compound clip due to applying transitions.
    When you come back to the main timeline there are several times you have to break apart that compound clip,to now add more shots before and after those individual arrangement of clips ......
    but since it has a secondary storyline in it, it break aparts undoing all the transitions
    if instead of compound clip it is a secondary storyline it creates problem if we have to retime clips the clip again and again leaves its assigned position,nor does it eat on or overlapp the slug it has created with a P tool , when dragged,retiming it increases that clip in both directions thus leaving the assigned place......,or with opacity overlapping or for split screen have to be controlled individually from within the secondary clip in association with another clip below it...........at that moment you definately want to break it apart......
    (I'm assuming that you are understanding I have to work in several layers sometimes six or seven due to complex overlapping ,split screen, keying and titles etc which you can't keep in a linear order)
    Now plz suggest how should I work,
    in my music videos there are more than 300 bits of clips in a 5 minute song......in several layers because of mulitilayer opacity effect and split screens
    it is not possible to cut all the clips first and then put transitions in the end because you have to try arrangement of clips with transitions to see if you get the proper feel of the music else you change the order.......plz suggest me a better work flow.....
    I cannot keyword things in the event browser because keywording such huge number of moments including 2-3 second shots is simply impossible because the process of trying various combinations can only be done when you have them all on the timeline in various layers..........how should I begin and what process should I stick to so that I edit portions finish them come back to main timeline and everything remains unaltered.........Thank you plz help.

    So does this mean......If you can't drag your final work directly from the event browser from the beginning , you are in trouble ?
    Thanks Tom ......................I know you cannot make this software work the way you want the only workflow I see possible is making event browser , the source of your footage at the very start of your project....as if you have planned the editing of all those 300 bits of a music video on the paper before hand......be it organizing clips or using split screen generators the source has to be from the event browser ,once clips are on the timeline the possibilities are too limited.......
    The only way of categorizing clips on timeline are roles which only unhighlight other clips ....it again cannot be used like a selected list of source to make the place less messy.....I think even smart collection works from the event browser not from the timeline because I tried that also.Is it so....?
    A FANTASY ....I wish there was a way where you could select selective clips from the timeline and refer them in a place from where they would all show up like original clips from the event browser so that you could just drag those exact pieces and place one after the other trying combinations and boom........ like you do parts from clips ......but once everything is on timeline I have still not figured out a way that you can have a bank where all those selected bits can be seen even as reference thumbnails and a then they can be placed sequentially on a timeline........dragging , move and pasting , flipping between timelines is the only way of doing it neatly,and that is very tiring and time consuming .....when two timelines can also not be placed in two windows.......I hope you are understanding what I want.......if you can't drag your final work directly from the event browser from the beginning , you are in trouble.
    In earlier versions you could atleast keep all your selected 2-3 second bits or shots on various tracks and just drag them in the final track.....Is there anyway you think can be done in fcpx......I use it because it has some outstanding features other than layers .....else still have to figure out a way....plz help Tom.

  • Plz helP me about the new FW (software) v4.0750.31...

    plz help me i was update new FW v4.0750.31.2.1
    but found too bugs in music player i cant save the preset and the sogs was download in memory always bad file when i play it.
    and the camera light is very little and not pure.
    plz I wanna the old version to my phone which i bought by it but i dont now it
    plz help me what can i do?

    same like the rest of us you can do absolutely nothing except wait for a new version to release

  • Help in replacing the country code 0044,+0044,44,+44,004400 t0 0 in informatica

    Hi gooday all , I need a help in replacing the phonenumber country code to 0 where the combinations in my source can be 0044,+0044,44,+44,004400. All the above combinations need to be replaced with 0 . Any help in this regard is appreciated . Thanks in Advance. Omprakash.

    맥심카지노ホ【TOP015、C0M【ホ바카라사이트맥심카지노ホ【TOP015、C0M【ホ바카라사이트【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노맥심카지노ホ【TOP015、C0M【ホ바카라사이트【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노【맥심카지노

Maybe you are looking for

  • Smartview 11.1.2.2.300 question

    I have a executive who has been having issues with the recent plugin of smartview. I asked if she can explain to me what is going on and this is what she had given to me. Any help would be appreciated. "It's erratic, columns are reformatted on the fl

  • What is it with yield() that I don't understand?

    The following code starts a thread that awaits a notification that never comes. However, I was expecting the Foo main thread to enter the running state again sometime after it yields and print the last line "main running again", but not so. The progr

  • MOVED: REQUEST new GOP / EUFI bios for MSI R9 290 GAMING 4G

    This topic has been moved to GAMING Graphics Cards. https://forum-en.msi.com/index.php?topic=251275.0

  • Organization Unit and assignment plan

    Hi Experts, I am using function module RH_OBJECT_CREATE to create Organization Unit and now I want to do assignment plan for the created Org units. I am using function module RH_RELATION_WRITE for the assigment plan. But could not able to do the assi

  • Placing 2 items in Header region?

    Hi - I'm stumped. Let's assume that I have a header region of 960px. The logo I insert onleft hand side is 406 px wide. I then want to place a second item in the remaining space that is left in that header. I tried to that by just simply inserting th