Extracting XML to required output

Hi Gurus, Need some help for extracting data from XML to Relation Query Output format.Below is the XML string.
<LineItems>
<OBJECT>FIRST</OBJECT>
<LineItem ItemNumber="1">
<Description>A Night to Remember</Description>
<Part Id="715515009058" UnitPrice="39.95" Quantity="2"/>
</LineItem>
<LineItem ItemNumber="2">
<Description>The Unbearable Lightness Of Being</Description>
<Part Id="37429140222" UnitPrice="29.95" Quantity="2"/>
</LineItem>
<LineItem ItemNumber="3">
<Description>Sisters</Description>
<Part Id="715515011020" UnitPrice="29.05" Quantity="4"/>
</LineItem>
<OBJECT>SECOND</OBJECT>
<LineItem ItemNumber="4">
<Description>A Night to Remember</Description>
<Part Id="715515009059" UnitPrice="49.95" Quantity="1"/>
</LineItem>
<LineItem ItemNumber="5">
<Description>The Unbearable Lightness Of Being</Description>
<Part Id="37429140260" UnitPrice="30.95" Quantity="3"/>
</LineItem>
<LineItem ItemNumber="6">
<Description>Sisters</Description>
<Part Id="715515011061" UnitPrice="19.95" Quantity="5"/>
</LineItem>
</LineItems>I want output to be like this:
Object   Item_Number    Description                          Part_id         Unit_price      Quantity
FIRST         1         A Night to Remember                  715515009058    39.95           2
FIRST         2         The Unbearable Lightness Of Being    37429140222     29.95           2
FIRST         3         Sisters                              715515011020    29.05           4
SECOND        4         A Night to Remember                  715515009059    49.95           1
SECOND        5         The Unbearable Lightness Of Being    37429140260     30.95           3
SECOND        6         Sisters                              715515011061    19.95           5

BluShadow wrote:
Unfortunately, your XML is not well formed in relational terms, i.e. there's nothing to relate LineItem's to any particular OBJECT. You can't just assume that because an OBJECT appears before the LineItem's that those LineItem's belong to it. If you considered an XML schema to describe what you've shown in your XML it would be (in simplistic terms) a LineItems element containing any number of "OBJECT" or "LineItem" elements.... nothing relating those to each other.
You'd need to structure your XML so the LineItem elements are contained within the OBJECT elements... e.g.Although I entirely agree with your comments, just a few words about :
You can't just assume that because an OBJECT appears before the LineItem's that those LineItem's belong to itContrary to the relational way, the order does matter in an XML document.
However, for obvious reasons like the ones we're seeing here, it's not a good practice to use such structures as a schema can't describe it easily.
One way of getting the output :
SQL> with t as (select xmltype('<LineItems>
  2    <OBJECT>FIRST</OBJECT>
  3    <LineItem ItemNumber="1">
  4      <Description>A Night to Remember</Description>
  5      <Part Id="715515009058" UnitPrice="39.95" Quantity="2"/>
  6    </LineItem>
  7    <LineItem ItemNumber="2">
  8      <Description>The Unbearable Lightness Of Being</Description>
  9      <Part Id="37429140222" UnitPrice="29.95" Quantity="2"/>
10    </LineItem>
11    <LineItem ItemNumber="3">
12      <Description>Sisters</Description>
13      <Part Id="715515011020" UnitPrice="29.05" Quantity="4"/>
14    </LineItem>
15    <OBJECT>SECOND</OBJECT>
16    <LineItem ItemNumber="4">
17      <Description>A Night to Remember</Description>
18      <Part Id="715515009059" UnitPrice="49.95" Quantity="1"/>
19    </LineItem>
20    <LineItem ItemNumber="5">
21      <Description>The Unbearable Lightness Of Being</Description>
22      <Part Id="37429140260" UnitPrice="30.95" Quantity="3"/>
23    </LineItem>
24    <LineItem ItemNumber="6">
25      <Description>Sisters</Description>
26      <Part Id="715515011061" UnitPrice="19.95" Quantity="5"/>
27    </LineItem>
28  </LineItems>') as xml from dual)
29  --
30  -- end of test data
31  --
32  select x.*
33  from t
34     , xmltable(
35         'for $i in /LineItems/LineItem
36          return element r {
37            $i/preceding-sibling::OBJECT[1]
38          , $i
39          }'
40         passing t.xml
41         columns object      varchar2(15) path 'OBJECT'
42               , item_number number       path 'LineItem/@ItemNumber'
43               , description varchar2(40) path 'LineItem/Description'
44               , part_id     varchar2(15) path 'LineItem/Part/@Id'
45               , unit_price  number       path 'LineItem/Part/@UnitPrice'
46               , quantity    number       path 'LineItem/Part/@Quantity'
47       ) x
48  ;
OBJECT          ITEM_NUMBER DESCRIPTION                              PART_ID         UNIT_PRICE   QUANTITY
FIRST                     1 A Night to Remember                      715515009058         39,95          2
FIRST                     2 The Unbearable Lightness Of Being        37429140222          29,95          2
FIRST                     3 Sisters                                  715515011020         29,05          4
SECOND                    4 A Night to Remember                      715515009059         49,95          1
SECOND                    5 The Unbearable Lightness Of Being        37429140260          30,95          3
SECOND                    6 Sisters                                  715515011061         19,95          5
6 rows selected

Similar Messages

  • I am not getting required output after importing xml file having HTML tags, MathML and Latex code

    I created well formatted xml having html tags, MathML code and Latex code inside
    XML with sample latex
    <question>
        <p> 8. In this problem, <Image  style="vertical-align: -9pt" title="5a\frac{7b}{3}" alt="5a\frac{7b}{3}" href="http://www.snapwiz.com/cgi-bin/mathtex.cgi?%205a%5Cfrac%7B7b%7D%7B3%7D%0A"></Image> and <Image href="http://www.snapwiz.com/cgi-bin/mathtex.cgi?%207b%5Cfrac%7B5a%7D%7B3%7D" style="vertical-align: -9pt" title="7b\frac{5a}{3}" alt="7b\frac{5a}{3}"> </Image>are both mixed numbers, like <Image src="http://www.snapwiz.com/cgi-bin/mathtex.cgi?%203%20%5Cfrac%7B1%7D%7B2%7D%20=%203.5" style="vertical-align: -9pt" title="3 \frac{1}{2} = 3.5" alt="3 \frac{1}{2} = 3.5"></Image>. The expression <Image style="vertical-align: -9pt" title="5a \frac{7b}{3} \ \times 7b \frac{5a}{3}" alt="5a \frac{7b}{3} \ \times 7b \frac{5a}{3}" href="http://www.snapwiz.com/cgi-bin/mathtex.cgi?%205a%20%5Cfrac%7B7b%7D%7B3%7D%20%5C%20%5Ctimes %207b%20%5Cfrac%7B5a%7D%7B3%7D"> </Image>is equal to which of the following choices? </p>
    </question>
    XML with sample html tags
    <p>4. Examine the expression 3<i>k</i><sup>2</sup> + 6<i>k</i> - 5 + 6<i>k</i><sup>2</sup> + 2.</p><p>When it is simplified, which of the following is the equivalent expression?</p>
    XML with sample MathML tags
    <p>5. Find the vertex of the parabola associated with the quadratic function <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo> </mo><mo>=</mo><mo> </mo><mo>-</mo><msup><mi>x</mi><mn>2</mn></msup><mo> </mo><mo>+</mo><mo> </mo><mn>10</mn><mi>x</mi><mo> </mo><mo>+</mo><mo> </mo><mn>4</mn></math></p>
        <math xmlns="http://www.w3.org/1998/Math/MathML"><mfenced><mrow><mo>-</mo><mn>5</mn><mo>,</mo><mo> </mo><mn>69</mn></mrow></mfenced></math><br>
        <math xmlns="http://www.w3.org/1998/Math/MathML"><mfenced><mrow><mn>5</mn><mo>,</mo><mo> </mo><mn>29</mn></mrow></mfenced></math><br>
        <math xmlns="http://www.w3.org/1998/Math/MathML"><mfenced><mrow><mn>5</mn><mo>,</mo><mo> </mo><mn>69</mn></mrow></mfenced></math><br>
        <math xmlns="http://www.w3.org/1998/Math/MathML"><mfenced><mrow><mo>-</mo><mn>5</mn><mo>,</mo><mo> </mo><mn>29</mn></mrow></mfenced></math>
    None of the above works fine after importing xml to Indesign document/templete, it is not renderting equivalent out instead it is showing the same text inside tags in the Indesign document.
    I have lot of content in our database, I will export to XML, import to Indesign, Indesign should render required output like what we see in the browser and export the output to printed format.
    Import formated XML to indesign --> Export to Quality Print Format
    Can any one guide me and let me know whether it is posible to do with Indesign, if so let me know in case if I am missing anything in importing xml and get required output.
    Thanks in advance. Waiting for reply ASAP.

    Possibly your expectations are too high. ... Scratch that "possibly".
    XML, in general, cannot be "rendered". It's just an abstract data format. Compare it to common markup such as *asterisks* to indicate emphasized words -- e-mail clients will show this text in bold, but InDesign, and the vast majority of other software, does not.
    To "render" XML, HTML, MathML, or LaTeX -- you seem to freely mix these *very* different markup formats, unaware of the fact that they are vastly different from each other! -- in the format you "expect", you need to apply the appropriate software to each of  the original data files. None of these markup languages are supported natively by InDesign.

  • How to open a form from Oracle XML Report .xls Output?

    Hi All,
    We have a requirement wherein we have one complex SQL query, requirement is to fetch the data from that query and show it to the user. So far, so good. We can either create a report thru' UTL file to show the output to the user or can create a XML report whose output can be in the excel format.
    Now user wants to have a hyperlink i.e. when he clicks the BSA (Blanket Sales Agreement) from the report output, it should be able to route him to BSA screen (oracle form), so that he can directly correct the issue with that corresponding BSA on which he clicked.
    i.e. requirement is to create a a hyperlink from report output which will route the user to that oracle form with the BSA queried.
    Not sure how can we implement this. If anybody has come across this type of requirement, please share your ideas and the approach used so as to accomplish this. Any inputs on this will be highly appreciated.
    Cheers!
    -Sumir

    Hello Sumir,
    we create reports in an XML format using http://matzberger.de/oracle/spreadsheet-en.html.
    Within these files you can create hyperlinks to a forms application like
    http://<applicationserver>/forms/frmservlet?config=xy&p_autoinit_module=ab&p_autoinit_arg=123
    With these parameters we call a default forms module (welcome screen) and then start module ab and execute a query for 123. The user then can directly access the data he needs.
    Regards
    Marcus

  • Re-Using XML file from decode barcode + extract xml process

    I was hoping someone could put me in the right direction here. I am decodeing the information stored in a 2D Bar code and sending this information to an XML file, then I am trying to combine that xml file with a blank PDF template but the process is failing beacuse there are some additional tag fields the XML data from the  Decode->Extract XML process.
    The XML file from the decode process gives the structure below..notice therer some extra tags (lines 2- 4)
    <?xml version="1.0" encoding="UTF-8"?>
    <xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/" xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
    <xfa:datasets>
    <xfa:data>
    <form1>
    The XML structure that is expected by the PDF template is as follows
    <?xml version="1.0" encoding="UTF-8"?>
    <form1>
    So the xml output of the Decode barcode + Extract XML process has three extra lines of tag. Is there a way I could use a process within liveCycle to clean out those three lines in real-time before sending the xml to be recombined with the PDF template.
    Thanks

    Hi,
    What you may do is to use the SetValue and its xpath builder functions to "serialize" the xml into string, "substring" to remove the extra tags, and "concat" to add the extra tags and then "deserialize" it again to an xml to be merged with your form.
    Greetings,
    Yasser

  • Designer beginner's question: How to populate form with XML web service output?

    sorry, here is yet another Adobe Designer beginners question: <br /><br />My form uses a webservice data connection which returns <br />an xml-string like this: <br /><br /><?xml version="1.0" encoding="utf-16"?> <br /><CurrentWeather> <br />  <Location>Sion, Switzerland (LSGS) 46-13N 007-20E 481M</Location> <br />  <Time>Apr 26, 2007 - 09:50 AM EDT / 2007.04.26 1350 UTC</Time> <br />  <Wind> from the WSW (240 degrees) at 15 MPH (13 KT):0</Wind> <br />  <Visibility> greater than 7 mile(s):0</Visibility> <br />  <SkyConditions> partly cloudy</SkyConditions> <br />  <Temperature> 80 F (27 C)</Temperature> <br />  <DewPoint> 46 F (8 C) </DewPoint> <br />  <RelativeHumidity> 30%</RelativeHumidity> <br />  <Pressure> 29.88 in. Hg (1012 hPa)</Pressure> <br />  <Status>Success</Status> <br /></CurrentWeather> <br /><br />What is the simplest and recommended way to extract the <br />element fields to my form? <br /><br />Thank you very much an kind regards, <br />Hans Grund

    The question is still unanswered!
    Let me give some details and break up the problem
    in more specific questions:
    - In Designer 8.1 I click new data binding --> wsdl -->
    http://www.webservicex.net/globalweather.asmx?wsdl
    A message box comes up and says "cannot load wsdl file"
    ==> 1. Question:
    Why maybe refuses Designer to load the http-wsdl,
    although this option is explicitly allowed?
    - When I save the wsdl to a file, Designer loads it
    without any problems. The web service uses two input parameters
    (CountryName and CityName) and returns an xml-string GetWeatherResult)
    like the one in my first posting. I drag these fields from the binding view to my form, and it runs ok!
    - THE PROBLEM IS, THAT I NEET TO EXTRACT THE ELEMENT FIELDS
    FROM THE RESULT XML-STRING!
    ==> 2. Question:
    How to extract xml element fields from wsdl output into a form?
    - I tried with eclipse and XmlSpy to build a modified wsdl file
    with structured output definition, so that the specific element fields
    show up in the data binding view and are usable to my form,
    and the modified wsdl maps consistently to the web service result string.
    So far without success: In the PDF -preview or Reader-
    when the wsdl-binding is executed and the web service output
    should show up in the result fields, just nothing happens.
    ==> 3. Question:
    Can this strategy to provide a "modified wsdl" possibly succeed,
    and how?
    ==> 4. Question:
    Is is possible -and how?- to check whether an xml string
    is valid as web service output against the wsdl-definition?
    ==> 5. Question:
    How to debug a web service connection with Designer?
    - Finally I tried to find a way to load the result xml-string
    into a local var in the script editor and parse it, much like:
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.load(DataSet.MyForm.GetWeatherResult.rawValue);
    ==> 6. Question:
    Is it possible -and how?- to use a framework like dotnet?
    How to utilize SAX or DOM in Designer?
    Many thanks and appreciations for your help!!

  • Read lines from more than 1 file of different file extensions, extract the data and output to screen

    Hi,
    I am trying to read data from more than one file at once. The files are different types e.g. one is a text file one is an xml file like so, StudentInformation.txt, CollegeInformation.xml. The files are all stored in one place, in this case on the D drive of
    a local computer. I am trying to locate any files in the D drive with a file extension of .txt or of .xml (there may be more than two of these files in the future, so I'm trying to allow for that). Then I want to open all of these files, extract the information
    and output all the information in one display window. I want all the information from these two or more files to be displayed together in the display window.
    Here is the code so far. It is throwing up errors.
            //Load from txt or xml files
            private void btnLoad_Click(object sender, RoutedEventArgs e)
                    IEnumerable<string> fileContents = Directory.EnumerateFiles("D:\\", "*.*", SearchOption.TopDirectoryOnly)
                    .Select(x => new FileInfo(x))
                    .Where(x => x.Extension == ".xml" || x.Extension == ".txt")
                    .Select(file => ParseFile(file));}
                    private string ParseFile(FileInfo file)
                        try
                            using (StreamReader sr = new StreamReader(file.FullName))
                                string line;
                                while ((line = sr.ReadLine()) != null)
                                    //Logic here to determine if this is the correct file and append accordingly
                                    lbDisplay.Items.Add(line);
                                return line;
                        catch (Exception ex)
                            // Let the user know what went wrong
                            MessageBox.Show("The file could not be read: ");
                            MessageBox.Show(ex.Message);
    The error it throws up is:
    Error 1
    'BookList.MainWindow.ParseFile(System.IO.FileInfo)': not all code paths return a value

    This is the Small Basic programming language so moving to a C# forum.
    But you need all paths to return a value, including if an exception is called and it jumps to the catch, perhaps just:
    // Let the user know what went wrong
    MessageBox.Show("The file could not be read: ");
    MessageBox.Show(ex.Message);
    return "";

  • How to reterive the required output

    i want to extract data from two different tables and to create a single table.
    first table is gc1
    idx suburb_form
    1 ALBANY
    2 PERTH
    3 ALBANY CBD
    4 PERTH CBD
    SECOND TABLE IS CITIES
    ALBANY
    PERTH
    I WANT TO CREATE A TABLE WHICH SHOULD CONTAIN ALL RECORDS FROM THE GC1 TABLE
    I HAVE WRITTEN QUERY LIKE THIS BUT IT DOES NOT WORK.
    CREATE TABLE TEMP AS SELECT IDX, SUBURB_foRm FROM GC1 A
    WHERE      exists(select NULL from POI.SH_POI_SMALL_CITIES C where upper(trim(A.SUBURB_FORM))=C.CITY OR RTRIM(A.SUBURB_FORM,' CBD')) =C.CITY)     
    PLEASE CAN ANYBODY HELP ME IN ORDER TO GET THE REQUIRED OUTPUT.
    tHANKS

    CONTAIN ALL RECORDS FROM THE GC1 TABLEIn these case, wouldnt just selecting GC1 be sufficient?
    CREATE TABLE TEMP AS SELECT IDX, SUBURB_foRm FROM GC1 A

  • How to extract xml

    <ROOT>
    <TEST>
    <TESTING>
    <ROW1>1</ROW1>
    <ROW2>2</ROW2>
    <ROW3>3</ROW3>
    </TESTING>
    </TEST>
    </ROOT>
    How to extract the xml as this output ,above xml will come as parameter.
    I can achieve it is stored in table i can able to get by using xpath.
    As parameter i cant able to do it.Kindly help.
    SELECT extract(xmldata,'/ROOT/TEST/TESTING')
    FROM EAPP
    I can get this output if that xml is stored in xml.
    But my requiremnet is before storing i want to eliminate root tag and test tag and i want to insert.
    as below example
    <TESTING>
    <ROW1>1</ROW1>
    <ROW2>2</ROW2>
    <ROW3>3</ROW3>
    </TESTING>
    SELECT VALUE(p)
    FROM
    TABLE(XMLSEQUENCE(EXTRACT(xmldata, '/ROOT/*'))) p
    but it is not working .
    Edited by: LRAJESH on Oct 22, 2010 1:21 AM

    You mentioned a parameter so I'm going to assume you are doing the processing in PL/SQL.
    One approach would be to use method 4 at
    http://anononxml.blogspot.com/2010/05/one-question-that-comes-up-with-some.html
    and leave the /text() off of the end of the XPath. As the first Gotcha lists, this will return an XML fragment containing all the nodes you want.
    You can still parse the XML in a SQL statement as you are trying to do. Just replace the table.column reference with your PL/SQL variable.
    If you are on 10.2.x.x or greater, look into using XMLTable instead of TABLE(XMLSEQUENCE(EXTRACT(...))) For the COLUMN, you would want to return an XMLType.
    Yes I'm being a bit vague on purpose. There are lots of examples on the forums already. Still don't know what version of Oracle you are using either.

  • Need help for extract XML fron PDF

    I am a newbee for javascript developer and i don know about Acrobat my requirement is Extract XML from PDF document there is any possiblities to do this from acrobat professional if is it possible please guide me to do this thank you

    i have a separate DTD for my own XML i want to extract my PDF files to that
    XML is it possible may i know how the acrobat export as xml feature works

  • Barcode printing in XML report PDF output

    Hi All,
            I want to print barcode of invoice number / purchase order number in the XML report PDF output.
            Anyone please suggest me with your ideas and experience.

    Hi Bogdan,
    The steps mentioned in the doc is what i did in order.
    I couldn't understand the step # 13 & 14.
    Log in as XML Publisher Administrator
    Navigate to Administration --> Font Files --> Create Font File
    Available fields are Font Name and File
    --> for Font Name, choose any descriptive name
    --> file will browse your PC to locate the font file
    Navigate to Font Mappings -->Create Font Mapping Set
    Mapping name is the name you will give to a set of fonts.
    Mapping code is the internal name you will give to this set
    Type: 'PDF Form' for PDF templates. 'FO to PDF' for all other template types.
    Create Font Mapping (this allows you to add fonts to a set)
    Font Family is the exact same name you see in MS Word under Font. If you don't use the same name the font will not be picked up at runtime.
    Style and weight must also match how you use the font in the RTF or PDF layout template. Normal and Normal are good defaults.
    Language and Territory should remain blank (NULL) unless you have a strong business reason, as these fields can cause the font not to be picked up at runtime.
    Navigate to Configuration General -> FO Processing -->Font Mapping Set. This can also be done at Data Definition and Template level, via the corresponding Edit Configuration button on those pages. The hierarchy is Site-> Data Def -> Template.
    Select your new mapping set.
    Make sure the font is not referenced under File --> Properties --> Custom in the RTF template file.
    Under General, set a Temporary Directory. The font will be stored under a /fonts directory at runtime, initially created the first time the font is used.
    Upload a template that uses your special font and test using preview or by submitting a concurrent request.

  • 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.

  • "Extraction Failed: Cannot Open Output File" error message when installing new drivers

    Hello, I'm trying to install new drivers for my HP Photosmart C4385 Printer.  I downloaded the full feature drivers for Windows XP 32-bit, and when I start to install (extract), I get the error message:
    Extraction Failed
    Cannot Open Output File
    And the process closes.  It happens at about 85% extraction every time.
    Any idea why?  I called HP but since it is out of warranty they wanted money, which I think as absolutely ridiculous - won't even give me basic support??  Poor, poor customer service.
    This question was solved.
    View Solution.

    Hi,
    If you haven't still got the  Full Feature software installer, download it from the link below and save it to your Desktop.  If you already have it, place it on your Desktop.
    ftp://ftp.hp.com/pub/softlib/software10/COL20274/mp-53147-4/100_228_PS_AIO_02_Full_USW_enu_NB.exe
    Make sure the Printer is disconnected from your PC.
    Download and install 7-ZIP.  Once installed, right click on the software installer for your printer, select 7-Zip and choose extract files, then click Ok.
    Open the newly extracted folder and double click the setup application to start the installation ( the setup application will probably have the same icon as the original software installer you downloaded ).  Connect the printer to your PC when the software asks.
    Hope this helps.
    Best wishes,
    DP-K
    ****Click the White thumb to say thanks****
    ****Please mark Accept As Solution if it solves your problem****
    ****I don't work for HP****
    Microsoft MVP - Windows Experience

  • Displaying BLOB of type word doc in XML Publisher pdf output

    Hi all,
    Please guide me relating the Displaying BLOB of type word doc in XML Publisher pdf output with links or pointers.In the following xml column TRADE_LICENSE_COPY is BLOB when queried from toad and if clicked on the ouput word doc is being opened directly.How to show the column value word doc as attachment in pdf output?
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Generated by Oracle Reports version 10.1.2.3.0 -->
    <XXTDIC_SUP_REG>
    <LIST_G_BASIC_QUSNRY>
    <G_BASIC_QUSNRY>
    <RESPONSE_ID>194</RESPONSE_ID>
    <UAE_REGISTRATION>Yes</UAE_REGISTRATION>
    <TRADE_LICENSE_COPY>PK</TRADE_LICENSE_COPY>
    <WEBSITE_DETAILS>com</WEBSITE_DETAILS>
    <AMERICA_2009_2010>Between 81 and 90 %</AMERICA_2009_2010>
    </G_BASIC_QUSNRY>
    </LIST_G_BASIC_QUSNRY>
    <LIST_G_CONTACTS>
    <G_CONTACTS>
    <CONTACT_PERSON>MR.NTF1 NTL1</CONTACT_PERSON>
    <PHONE_NUMBER>0</PHONE_NUMBER>
    <EMAIL_ID>na</EMAIL_ID>
    <FAX_NUMBER>0</FAX_NUMBER>
    </G_CONTACTS>
    <G_CONTACTS>
    <CONTACT_PERSON>MR.NTF1 NTL1</CONTACT_PERSON>
    <PHONE_NUMBER>0</PHONE_NUMBER>
    <EMAIL_ID>na</EMAIL_ID>
    <FAX_NUMBER>-</FAX_NUMBER>
    </G_CONTACTS>
    </LIST_G_CONTACTS>
    <LIST_G_SC_QUSNRY>
    <G_SC_QUSNRY>
    <RESPONSE_ID1>113</RESPONSE_ID1>
    <FY3_PROJTYPE_COMMERCIAL>Between 21 and 30 %</FY3_PROJTYPE_COMMERCIAL>
    <ENG_INSTALL_CAPABILITY></ENG_INSTALL_CAPABILITY>
    <SCM_EXPERIENCE_PARTNERING>Have you had experience of &quot;Partnering&quot;?(i.e with major contracts / employers If so list them.Also please provide details</SCM_EXPERIENCE_PARTNERING>
    </G_SC_QUSNRY>
    </LIST_G_SC_QUSNRY>
    <LIST_G_ADDRESS>
    <G_ADDRESS>
    <OFFICE_ADDRESS>Addres1</OFFICE_ADDRESS>
    <ADDRESS_LINE1>Addre line1</ADDRESS_LINE1>
    <ADDRESS_LINE2>Addre line2</ADDRESS_LINE2>
    <ADDRESS_LINE3>Addre line3</ADDRESS_LINE3>
    <CITY>City1</CITY>
    <STATE>State1</STATE>
    <COUNTRY>US</COUNTRY>
    </G_ADDRESS>
    <G_ADDRESS>
    <OFFICE_ADDRESS>Addres2</OFFICE_ADDRESS>
    <ADDRESS_LINE1>Addre line1</ADDRESS_LINE1>
    <ADDRESS_LINE2>Addre line2</ADDRESS_LINE2>
    <ADDRESS_LINE3>Addre line3</ADDRESS_LINE3>
    <CITY>City2</CITY>
    <STATE>State2</STATE>
    <COUNTRY>IN</COUNTRY>
    </G_ADDRESS>
    </LIST_G_ADDRESS>
    <LIST_G_DSN_QUSNRY>
    </LIST_G_DSN_QUSNRY>
    <LIST_G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>060.42</PROD_SUB_CODE>
    <PROD_SUB_DESC>Automotive Maintenance Items and Repair/Replacement Parts.Filters: Air, Fuel, Oil, Power Steering, Transmission and Water, and PCV Valves</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>060.60</PROD_SUB_CODE>
    <PROD_SUB_DESC>Automotive Maintenance Items and Repair/Replacement Parts.Hose and Hose Fittings: Brake, Heater, Radiator, Vacuum, Washer, Wiper, etc.</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>207.37</PROD_SUB_CODE>
    <PROD_SUB_DESC>Computer Accessories and Supplies.CRT Holders, Cases, Glare Screens, Locks, etc.</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>207.60</PROD_SUB_CODE>
    <PROD_SUB_DESC>Computer Accessories and Supplies.Keyboard Dust Covers, Key Top Covers, Keyboard Drawers, Wrist Supports, etc.</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    </LIST_G_PROD_SUB_CODE>
    <LIST_G_CONT_QUSNRY>
    </LIST_G_CONT_QUSNRY>
    <LIST_G_BUSS_CLASS>
    <G_BUSS_CLASS>
    <BUSS_CLASS>SUPPLY_CHAIN</BUSS_CLASS>
    </G_BUSS_CLASS>
    </LIST_G_BUSS_CLASS>
    <CF_SUPPLIER_NAME>N1</CF_SUPPLIER_NAME>
    <CF_REG_STATUS>Draft</CF_REG_STATUS>
    <CF_BUS_CLASS></CF_BUS_CLASS>
    <CF_PROD_SUBCODE>060.36</CF_PROD_SUBCODE>
    <CF_PROD_SUBCODE_MEAN>Automotive Maintenance Items and Repair/Replacement Parts.Electrical Accessories: Alternators, Ammeters, Coils, Distributors, Generators, Regulators, Starters, etc.</CF_PROD_SUBCODE_MEAN>
    <CF_COUNTRY>India</CF_COUNTRY>
    </XXTDIC_SUP_REG>
    Thanks in advance.
    Best Regards,
    Mahi

    Mahi,
    you can't do that yet.

  • Extract XML from an XML File

    Hi All,
    I have an xml file from which data has to be extracted and inserted into table. XML file looks like this..
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE labels SYSTEM "label.dtd">
    <labels FORMAT="Harvest Label for Lot Project" QUANTITY="1" PRINTERNAME="PFP3400E006" JOBNAME="JA272017">
    <label>
    <variable name= "ITEM">PM191_JTEST</variable>
    <variable name= "ITEM_DESC">6 Pack Blue Assembled 2004 JTEST</variable>
    <variable name= " LOT ">ja28-10</variable>
    <variable name= "QUANTITY">1</variable>
    </label>
    </labels>
    In the above xml, if i remove <!DOCTYPE labels SYSTEM "label.dtd"> and use the below query, I am able to get the details.
    SELECT EXTRACTVALUE(VALUE(x), 'labels/@_FORMAT') format
    ,EXTRACTVALUE(VALUE(x), 'labels/@_QUANTITY') QUANTITY
    ,EXTRACTVALUE(VALUE(x), 'labels/@_PRINTERNAME') PRINTERNAME
    ,EXTRACTVALUE(VALUE(x), 'labels/@_JOBNAME') JOBNAME
    FROM (SELECT XMLTYPE
    ('<?xml version="1.0" encoding="UTF-8" standalone="no"?> <labels FORMAT="Harvest Label for Lot Project" QUANTITY="1" PRINTERNAME="PFP3400E006" JOBNAME="JA272017"> <label> <variable name= "ITEM">PM191_JTEST</variable> <variable name= "ITEM_DESC">6 Pack Blue Assembled 2004 JTEST</variable> <variable name= " LOT ">ja28-10</variable> <variable name= "QUANTITY">1</variable> </label> </labels>' ) xml
    FROM DUAL),
    TABLE(XMLSEQUENCE(EXTRACT(xml, 'labels'))) x
    But <!DOCTYPE labels SYSTEM "label.dtd"> tag is there means then i am getting error as
    Invalid resource handle or path name "/label.dtd"
    Please let me know how we can parse the xml and insert into table. OR how can i remove <!DOCTYPE labels SYSTEM "label.dtd"> tag and process it further.
    Thanks and Regards,
    Mahesh
    Edited by: magu on Sep 2, 2009 3:15 PM
    Edited by: magu on Sep 2, 2009 3:16 PM

    I don't understand why the DOCTYPE is in the XML, but it appears that Oracle is trying to resolve label.dtd to a registered resource. As you discovered, it may be easier to remove the DOCTYPE from the XML then try to register the label.dtd resource within Oracle. To do this, some options are
    - Use the REPLACE command
    - treat the data as a CLOB and instr/substr to build a new clob without the DOCTYPE tag in it.
    - Use the REGEXP_REPLACE command
    Also, if your DB version supports XMLTable, here is the way to do it with that.
    SELECT *
      FROM XMLTABLE('/labels'
                    PASSING XMLTYPE('<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <labels _FORMAT="Harvest Label for Lot Project" _QUANTITY="1" _PRINTERNAME="PFP3400E006" _JOBNAME="JA272017">
         <label>
              <variable name="ITEM">PM191_JTEST</variable>
              <variable name="ITEM_DESC">6 Pack Blue Assembled 2004 JTEST</variable>
              <variable name=" LOT ">ja28-10</variable>
              <variable name="QUANTITY">1</variable>
         </label>
    </labels>
                    COLUMNS
                    format    VARCHAR2(15) PATH '@_FORMAT',
                    quantity  VARCHAR2(15) PATH '@_QUANTITY',
                    printername  VARCHAR2(15) PATH '@_PRINTERNAME',
                    jobname  VARCHAR2(15) PATH '@_JOBNAME');

  • XML BI Publisher Output in 2 sheets Excel

    Hi ,
    I want XML BI Publisher output in 2 sheets Excel. first sheet contains Report details and next sheet contains Report output. Could we please help me in this?. I am using BI Publisher 11.1.1.0 and Oracle apps is R12.1.
    Thanks

    >
    I am using Oracle Apps 11i.
    >
    for apps questions plz use Category: E-Business Suite - https://forums.oracle.com/forums/category.jspa?categoryID=3
    >
    I have to create one report in Oracle Apps in which the report output should be in Excel Format and in that excel 2 sheet should be generated.
    One sheet is having data from one module and one sheet is having a data from other module.
    >
    look at 830960's link      
    also use Forum: BI Publisher - BI Publisher
    >
    Please suggest me how can i write a code like this and how can i create a concurrent?
    >
    - create your report and use it as data source for result report (excel)
    - create excel template(for r12) or ,for example, xsl tempalte for 11i
    - create concurrent and executable, for concurrent program set output as xml
    >
    What should be the value of output format in the concurrent program ?
    >
    xml
    as another approach - convert your rdf report to xml publisher report

Maybe you are looking for

  • Simple button applet help

    ok, i'm working on a project involving buttons, and i finished it and it compiles fine, but when i run the applet (using textpad), nothign shows up. i decided to make a new applet of only the frame and buttons, and i got the same problem. here is the

  • R/3 table to BW via Delta Extraction (Urgent plz)

    Hello Experts, How to load a data from one of the R/3 tables to BW when the table doenst contains either a time stamp, Date field or numeric pointer. I have PS Table in R/3 (RPSCO) with over 7 hundered thousand records in it. I would like to populate

  • The material loss in the process of formulation,How to get its components tree in LIO construction tab ?

    A material used in formulation, and it will be lost in the process. but the material and its component need to be showed in the statement of LIO. Can it be showed by tree in the LIO Construction as other materials that not be lost? Thanks

  • Acessing Methods From Other Class....

    Hi, Im creating a Estate Agent system for a project. Basically I have 4 class.. Customer.class AddCustomer.class Buyer.class Seller.class The Customer class is used to create an instance of a customer in order to do things with this information latte

  • I-tunes unknown error - NEED HELP :-)

    My daughter's G3 just started to have problems with her itunes account. When she attempts to log on to her account or buy a song she gets "Itunes could not connect to the music store. An unkown error occurred (0x80011ob) make sure your network connec