Reset Page Number for each Group

I am currently creating a RTF template using XMLP 5.0
My demanding boss gets back in town in five days, and he expects
this report to be ready for production. :)
But I haven't been able to figure out one last spec.
The page number needs to be reset for each group.
So for example, the total report is about 83 pages.
In my RDF file (from Oracle Apps), I am grouping by a DEPT field.
In my RTF template, I am page breaking on each DEPT.
The page numbering should also be reset to 1 on each DEPT break.
The reason for this, is that the report will be printed, then separated by DEPT.
This way, each DEPT in the plant can receive their own individual report.
Is there anyway to do this using XMLP 5.0?
We would be willing to upgrade our XMLP,
if this functionality is available in a later version.
Thanks in advance.
Mark K

Hi Mark
Yep, you can do this, you can even do it in 5.0 :o)
For some reason it did not make the user doc in 5.0 ... an Easter egg if you like.
So I'd recommend getting the 5.5 or later docs and using that for reference. Just search for "About Oracle XML Publisher Release 5.5" on metalink once you have that doc search it for "Oracle XML Publisher User's Guide" its a link to the PDF document.
Then check pg 86/290 - Advanced Report Layouts > Batch Reports for details. This approach will work for 5.5. If you would like a sample then if you have installed the template builder there is an Advanced > Repeating Headers folder inwhich you will find an example.
Regards, Tim

Similar Messages

  • Print Multiple copies of report, and resetting Page number for each copy.

    Dear frnds!
    i am using developer 6i reports i have a problem.
    i want to Print Multiple copies of report, and resetting Page number for each copy" that is 4 copies of an invoice is required
    1 - for user copy
    2- gate copy
    3- accounts office
    4- office copy
    any body please tell me the solution "i am using oracle 9i and developer 6i"
    Thanx
    Ibrar

    Hi,
    I was wondering if you were able to get your multiple copies working? Below is what I have so far, just trying to get it to work before changing the actual template.
    <?for-each-group@section:R5542520/Pick_Slips_Detail_Lines_S3;PickSlipNumber_ID260?>
    <?variable@incontext:G1;R5542520/Pick_Slips_Detail_Lines_S3;PickSlipNumber_ID260?>
    <?for-each@section:xdoxslt:foreach_number($_XDOCTX,1,3,1)?>
    HEADER
    PSN: <?$G1/Pick_Slip_Number_Display_ID54?>
    PSN Detail: <?$G1/PickSlipNumber_ID260?>
    Page 1 of 3
    <?start:body?>
    BODY
    <?$G1/LineNumber_ID6?>
    <?end body?>
    FOOTER
    <?end for-each?>
    <?end for-each-group?>
    XML:
    <R5542520>
    <Pick_Slips_Detail_Lines_S24>
    <Header_Custom_Section_S24>
    <Pick_Slip_Number_Display_ID54>123456</Pick_Slip_Number_Display_ID54>
    <PickSlipNumber_ID260>123456</PickSlipNumber_ID260>

  • Reset Page Numbers for each group with XMLP 4.5

    I am currently working on the invoice report rtf template using XMLP 4.5
    We cannot upgrade to new version at this stage.
    Our requirement is, i want to reset the page numbers for each invoice. I know that it can be achieved using @section. I think this will work only XMLP 5.0 and after. Is there any other way to achive this requirement?
    Our reports are moving to production in another 3 days.
    I would be thankful If anybody can provide me the solution for this problem?
    Thanks
    Babu

    Hi Tim
    Thank you very much for your suggestion. We have upgraded to latest version of XML and now i am using @section to reset the page numbers for each invoice. This is working fine. But i have stucked to print the invoice copes for which page numbers should be reset.
    As per the client requirement i need to generate the invoice report with 3 more copies where COPY word will be there for duplicate invoice copies.
    I have written the rtf template logic like below:
    ex: <?for-each@section:G_INVOICE?>
    Invoice Information
    Invoice first copy information with COPY word (just copy the above original invoice layout and pasted)
    Invoice second copy information
    Invoice third copy information
    <?end for-each?>
    This is working fine. But client is demanding that all the invoice copies page numbers should start with 1. I tried by giving the @section for each invoice copy. But it was not working. Is there anyway to reset the page numbers for each invoice copy (anyway orginal invoice page numbers are resetting becuase i have used @section). It would be great help for me by providing the solution for my problem.
    Thanks
    Babu

  • To reset page number after each new section in DeskI

    I have a master/detail report where the master is "Customer name". I have a requirement to reset the page number at each new  Customer name.
    i.e. If "Customer A" spans to 3 pages and "Customer B" spans 2 pages. Then for Customer A the page number should be Page 1 of 3, Page 2 of 3, Page 3 of 3. Then Customer B should have page number as Page 1 of 2,Page 2 of 2.
    1. The Page number can be obtained using PageInSection but only if I display it inside the section body and select "Repeat on every page" . But I need to display it in Page footer.
    2. I am unable to get the total No.of Pages per section unless I do some calculation using the no of rows per Customer. Is there any other way of getting this detail?
    Please help on the baove 2 issues. This is very URGENT.

    Dear Thendral A,
    The "PageInSection" function resets the page number to 1 at the start of each new section in the specified section level.
    For Example:
    you have a report with two section levels, Country and Quarter.
    You set every value of Country to start on a new page and enter the following syntax in a cell placed WITHIN THE SECTION THAT NEEDS THE RESETTING OF THE PAGE (it cannot be placed in the header or footer, as it can then not refer to the relevant section. It will give the value 0 instead), to restart page numbering to 1 for each value of Country:
    =PageInSection(1)
    where (1) is Country which is section 1 in the report.
    If there are any following sections these can also be reset via this formula with the use of the relevant section number.
    This option can be used effectively when you set each value of a section to start on a new page. To do this, check the Start on a new page option in the Section Format dialog box.
    Do remember that the result will only be seen in the report, when the option View/Page layout has been set, otherwise the result will be seen as a 0 at each section (this however does get correctly displayed in the Print Preview, and when printing without the page layout option set).
    I hope that these information help you to understand the functionality of the PageInSection function.
    Regards,
    Samanta F

  • Need to reset page numbers for each layout which has same data

    Hi Gurus,
    I have an requriement to reset the page number from 1 for each layout in same template.
    I know we can do this by @section when we have multiple header_id, but in my case, i have the same data that need to be shown in 3 different layouts under the same template.
    So for the first layout it should start with 1 of 2, 2 of 2
    Second layout should start with 1 of 2 , 2 of 2
    Third layout should start with 1 of 2 , 2 of 2
    Any help is highly appreciated.
    Thanks,
    Edited by: R on May 16, 2013 8:27 AM

    Hello Everyone,
    Appreciate if any clue about the mentioned requirement.

  • Getting Page number for Notes

    Hi
    I am using the below methods to retreive page number of notes.
    Method 1
    var myNotes = myDocument.stories.item(k).notes.everyItem().getElements();
    Method 2
    myDocument.stories.item(k).paragraphs.item(i).notes.length;
    Wat is the best way to scan through the notes in a document. I am trying to get the page number for each note(Page on which the note is placed)
    For Method 1:
    var myFrame = myDocument.stories.item(k).textContainers[0];
    var myPage=myFrame.parent.name;
    For Method 2:
    myDocument.stories.item(k).paragraphs.item(i).parentTextFrames[0].parent.name;
    In both the cases some of the page numbers aren't displayed. Can somebody tell me is there any other way or am i doing something wrong.
    Thanks

    Footnotes have a property storyOffset, which is the location of the footnote's cue in the text. This is an insertion point, so the following line gives myFootnote's page number:
    >myFootnote.storyOffset.parentTextFrames[0].parent.name
    Peter

  • ?for-each-group? dosen't work with page break - rtf template???

    Hello all,
    When I give a page break inside the for-each-group the group doesn't iterate any code after the page break. I can't give <?split-by-pagebreak?> in this case because I want that loop to be iterated for every department, and should show the report in one column(ms word column), and the department description in two columns.....as this has to happen for every department I can't write separate code........everything should go into one file......
    Final file should look like:
    <for every department>
    <department_report-a table>--one column(ms word column)
    <department_description-a huge text>--two columns(ms word columns)
    <next department>
    how can I achieve this - please help, its urgent.
    Thanks for your time.
    DK

    bipuser thanks for your response
    i will have table data also so i cannot keep in the same line.
    its strange for the last 2-3 days below syntax gave me space at the beginning of each group now it is working i didnt do any change
    <?for-each:G_1?>
    ABCDEFDG
    <?split-by-page-break:?><?end for-each?>

  • How to insert page number on each page for Cross-Tab report?

    Hi,
    I have created a Cross-Tab in the section Report Header via Crystal Reports 11.
    Now, I want to created more Cross-Tabs, and each page has one Cross-Tab.
    So, I insert Report Headers to contain Cross-Tabs. But, the report only shows the page number at the last page.
    How to insert page number on each page?
    Thanks in advance.

    Hi,
    Well, the easiest solution is to place the Cross-tab in the Report Footer, Of course, ONLY if the report contains this single object which I'm assuming is not the case.
    If you do not wish to place the cros-tab in the Report Footer, here's what you need to do:
    1) Create a formula;
    whilereadingrecords;
    2) Create a group on this formula. If the report already contains groups, move this formula to the top of the grouping list. It won't affect the other groups or records in any way.
    3) Move the Cross-tab from the Report Header to the Group Header1 and suppress Group Footer1
    4) Add the Page Number field to the Page Footer
    Let me know how this goes!
    -Abhilash

  • Getting the first row for each group

    Hi Everyone,
    I have a query which returns a number of rows, all of which are valid. What I need to do is to get the first row for each group and work with those records.
    For example ...
    client flight startairport destairport stops
    A fl123 LGW BKK 2
    A fl124 LHR BKK 5
    B fl432 LGW XYZ 7
    B fl432 MAN ABC 8
    .... etc.
    I would need to return one row for Client A and one row for Client B (etc.) but find that I can't use the MIN function because it would return the MIN value for each column (i.e. mix up the rows). I also can use the rownum=1 because this would only return one row rather than one row per group (i.e. per client).
    I have been investigating and most postings seem to say that it needs a second query to look up the first row for each grouping. This is a solution which would not really be practical because my query is already quite complex and incorporating duplicate subqueries would just make the whole thing much to cumbersome.
    So what I really new is a "MIN by group" or a "TOP by group" or a "ROWNUM=1 by group" function.
    Can anyone help me with this? I'm sure that there must be a command to handle this.
    Regards and any thanks,
    Alan Searle
    Cologne, Germany

    Something like this:
    select *
    from (
       select table1.*
       row_number() over (partition by col1, col2 order by col3, col4) rn
       from table1
    where rn = 1In the "partition by" clause you place what you normally would "group by".
    In the "order by" clause you define which will have row_number = 1.
    Edit:
    PS. The [url http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/functions004.htm#i81407]docs have more examples on using analytical functions ;-)
    Edited by: Kim Berg Hansen on Sep 16, 2011 10:46 AM

  • Last() not returning correct value within for-each-group

    I've found inconsistent results between JDeveloper and SOA Suite using the xslt 2.0 for-each-group construct.
    &lt;xsl:for-each-group select="Po/PoLine" group-by="itemId"&gt;
    &lt;xsl:if test="position()=1"&gt;
    &lt;GroupCount&gt;
    &lt;xsl:value-of select="last()"/&gt;
    &lt;/GroupCount&gt;
    &lt;/xsl:if&gt;
    &lt;/xsl:for-each-group&gt;
    What I expect is the function last() to give me the number of groups which is the unique number of itemIds.
    In JDeveloper 10.1.3.4, testing this construct gives me what I expect.
    At run-time (deployed to 10.1.3.3 SOA Suite), the value returned is the total number of records, not the number of groups.
    For example, given the following XML
    &lt;Po&gt;
    &lt;PoLine&gt;
    &lt;itemId&gt;<strong>001</strong>&lt;/itemId&gt;
    &lt;description&gt;Hammer&lt;/description&gt;
    &lt;quantity&gt;10&lt;/quantity&gt;
    &lt;/PoLine&gt;
    &lt;PoLine&gt;
    &lt;itemId&gt;<strong>001</strong>&lt;/itemId&gt;
    &lt;description&gt;Hammer&lt;/description&gt;
    &lt;quantity&gt;10&lt;/quantity&gt;
    &lt;/PoLine&gt;
    &lt;PoLine&gt;
    &lt;itemId&gt;<strong>002</strong>&lt;/itemId&gt;
    &lt;description&gt;Nail&lt;/description&gt;
    &lt;quantity&gt;10&lt;/quantity&gt;
    &lt;/PoLine&gt;
    &lt;/Po&gt;
    Grouping by <strong>itemId</strong>, last() should return 2 as there are two groups (001 and 002). JDeveloper does this.
    When deployed to SOA Suite, last() returns 3.
    Any ideas?

    Hi,
    if JDeveloper is doing the right thing then this issue should be reported to the SOA Suite forum or BPEL BPEL , what do you think ?
    Frank

  • Count() for each group, but only groups having 1+ element like... AND all elements like...

    There are tables(and columns) like:
    'Clients'(clientID)
    'Houses' (houseID)
    'Visits' (clientID, houseID, visit_date)
    'Contracts'(contractID, houseID, clientID, rentDate_from, rentDate_end)
    I have problem with writing MS SQL query of this kind:
    how many visits to houses did each client, before renting one of them?
    Its easy to count total number of Visits for each client, listing all visits + group by clientID and selecting count(*) for each group.
    Lets say this is select_1, and select_2 is listing all Contracts for all clients.
    Select_1 is not answer, because count must be performed only on groups, which:
    -have at least 1 row "like" row in select_2 (it means that at least one of visited houses was rented, because it can happen that client visited few houses, but rented other, not visited house). my idea for this is comparing select_1 and select_2 with:
    "where s1.clientID=s2.clientID and s1.houseID=s2.houseID"
    -each group must have all rows(visits) with date of same day or earlier than contract date
     maybe: "datediff(day, s1.visit_date, s2.rentDate_from) >= 0"

    In future, please provide proper DML, DDL and example data, like I have for you below.
    DECLARE @clients TABLE (clientID INT, name VARCHAR(20))
    INSERT INTO @clients (clientID, name)
    VALUES (1, 'Jonathan'),(2, 'Christopher'),(3, 'James'),(4, 'Jean-Luc'),(5, 'William')
    DECLARE @houses TABLE (houseID INT, address VARCHAR(20))
    INSERT INTO @houses (houseID, address)
    VALUES (1, 'NX01'),(2, 'NCC 1701'),(3, 'NCC 1071A'),(4, 'NCC 1701D'),(5, 'NCC 1701E')
    DECLARE @visits TABLE (clientID INT, houseID INT, visitDateTime DATETIME)
    INSERT INTO @visits (clientID, houseID, visitDateTime)
    VALUES (1,1,'2001-01-01 12:13:14'),
    (2,2,'2001-01-02 12:13:14'),
    (3,2,'2001-01-01 12:13:14'),(3,3,'2001-01-01 12:13:14'),
    (4,4,'2001-01-01 12:13:14'),(4,5,'2001-01-01 12:13:14'),
    (5,4,'2001-01-01 12:13:14'),(5,5,'2001-01-01 12:13:14')
    DECLARE @contracts TABLE (contractID INT IDENTITY, houseID INT, clientID INT, rentStartDate date, rentEndDate date)
    INSERT INTO @contracts (houseID, clientID, rentStartDate, rentEndDate)
    VALUES (1,1,'2001-01-02',NULL),(2,2,'2001-01-02',NULL),(3,3,'2001-01-02',NULL),(4,4,'2001-01-02',NULL),(5,5,'2001-01-02',NULL)
    SELECT contractID, c.houseID, c.clientID, rentStartDate, rentEndDate, cl.clientID, name, h.houseID, address, COUNT(v.clientID) AS visits
    FROM @contracts c
    LEFT OUTER JOIN @clients cl
    ON c.clientID = cl.clientID
    LEFT OUTER JOIN @houses h
    ON c.houseID = h.houseID
    LEFT OUTER JOIN @visits v
    ON c.clientID = v.clientID
    AND c.rentStartDate >= v.visitDateTime
    GROUP BY contractID, c.houseID, c.clientID, rentStartDate, rentEndDate, cl.clientID, name, h.houseID, address

  • Custom sorting within "for-each-group:current-group"

    Hi, I need some help in doing a custom sort within a "for-each-group:current-group". My formatting is in a table format but I'm not sure how to post a table here so I'm just arranging the column details out as it would look in a table. I have a column on the left for the YEAR and a second column on the right for the DESCR. Under the DESCR column I've inserted a nested table with four columns: SUBJECT, CATALOG_NBR, DESCR250 and GRADE.
    COLUMN 1:
    <?for-each-group:row_table;./ YEAR?><?sort: YEAR;'ascending';data-type='text'?><?YEAR?>      
    COLUMN 2:
    <?for-each-group:current-group();./DESCR?><?DESCR?>
    NESTED TABLE (with 4 columns):
    +<?for-each:current-group()?><?SUBJECT?><?CATALOG_NBR?><?DESCR250?><?GRADE?><?end for-each?>+
    <?end for-each-group?> <?end for-each-group?>
    I'm able to sort by YEAR in the "for-each-group" on the left column. But I also want to do a custom sort on DESCR in the right column.
    I've seen this blog on custom sorting by Vetriselvan: http://winrichman.blogspot.com/2009/09/custom-dynamic-sort-in-bi-publisher.html and I tried inserting this sort below after <?for-each-group:current-group();./DESCR?> but I get an error message.
    <?sort:(number(DESCR='Status')*1)+(number(DESCR='First Semester')*2)+(number(DESCR='Second Semester')*3);'ascending';data-type='number'?>
    I've also seen this thread: Re: Sort within group and tried inserting <?for-each:DESCR?> before the sort (as below) - this time I can preview the results, but it is not sorting as required.
    <?for-each:DESCR?><?sort:(number(DESCR='Status')*1)+(number(DESCR='First Semester')*2)+(number(DESCR='Second Semester')*3);'ascending';data-type='number'?>
    Can anyone help me custom sort the DESCR column? I'm using Template Builder for Word version 5.6 build 45. Thanks in advance for any help!

    Hi Vetsrini,
    I tried adding <?sort: ./DESCR;'ascending';data-type='text'?> after <?for-each-group:current-group();./DESCR?> but I'm getting an error message.
    The DESCR values are below and I'm trying to sort them in the following order.
    STATUS
    SUMMER SEMESTER
    FIRST SEMESTER
    AUTUMN SEMESTER
    WINTER SEMESTER
    SECOND SEMESTER
    SPRING SEMESTER
    Because I need them in the above order, I can't use ascending or descending, and instead need to use a custom sort order. Do you know how I can go about creating a custom sort order?
    Thanks!

  • Single row table with for-each group loop to set variable.

    Hi: There is probably a simple answer for this but I have not found it ...
    I have a single row table to loop through a group to set a variable holding a running amount. I am not displaying the amount within the table however when I preview the report I see that the table is expanding (adding rows) for each loop.
    The single row table has 3 columns.
    1st column
    <?for-each:AC_GROUP?>
    2nd column
    <?xdoxslt:set_variable($_XDOCTX,'xAmtVar',xdoxslt:get_variable($_XDOCTX,'xAmtVar')+CURRENT_AMOUNT)?>
    3rd column
    <?end for-each?>
    Should I be using <?for each-group?> or something else. My requirement is to set the value of the variable with the running total but because the loop is adding rows for each value it loops through (even though not displayed), it is moving other areas of the layout off the page.
    Hope this makes sense. Thanks in advance.

    you can do it many ways.
    No need to loop
    You can create a variable and put the sum amount directly in that.
    <?doxslt:get_variable($_XDOCTX,'xAmtVar',sum(/AC_GROUP/CURRENT_AMOUNT))?>or
    loop thru and add like you do.
    <?for-each@inlines:AC_GROUP?><?xdoxslt:set_variable($_XDOCTX,'xAmtVar',xdoxslt:get_variable($_XDOCTX,'xAmtVar')+CURRENT_AMOUNT)?><?end for-each?>do give any space or enter character in word between them, just put this in a single form-field will do
    But as i said, i would certainly go with first option.

  • Using If condition in For EACH Group

    Hi all,
    I want to use if condition in for-each-group. Basically my requirement is that i want to use dynamic grouping. There will be two groups and the upper group and lower group will be selected on the basis of a report parameter.
    I hope i made it clear enough. So please help me in this. Any ideas will be highly appreciable.
    Thanks and regards
    Naveed

    You can add a If condition filed after the for-each field
    for EG : <?if:ADDRESS_TYPE = 'Employee Address'?>
    and then add anothet field which has <?end if?>
    Hope this helps.
    Thanks,

  • ALV - Top of Page Trigger for Each New Page

    Hi Abapers,
    I am using the sortinfo_alv to get page break for each customer.Now my client is asking to display the cutomer name in the top of page insted in the main table. how will i do this .
    I am using alv_commentary_write to display the top of page data.
    Awaiting for reply.
    Regards,
    Rahul

    Hi
    Follow the below steps.
    Include the two forms in your program
    Pass event internal table parameter to FM ALV display.
    Declare the ALV parameter in Declaration part.
    DATA: i_events TYPE slis_t_event.            "(IT) for populating events
               g_header TYPE slis_t_listheader,  "Header for alv
           g_events TYPE slis_alv_event,     "Struc for populating events
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         it_events                         = i_events
    *&      Form  EVENTTAB_BUILD
    *    Building Events table For ALV
    *      -->P_T_EVENTS[]  text
    FORM eventtab_build USING p_i_events.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type     = 0
           IMPORTING
                et_events       = i_events
           EXCEPTIONS
                list_type_wrong = 1
                OTHERS          = 2.
      CLEAR: g_events.
      READ TABLE i_events INTO g_events
           WITH KEY name = 'TOP_OF_PAGE'. "slis_ev_top_of_page.
      IF sy-subrc = 0.
        MOVE 'TOP_OF_PAGE' TO g_events-form.
        MODIFY i_events FROM g_events INDEX sy-tabix TRANSPORTING form.
        CLEAR g_events.
      ENDIF.
    ENDFORM.                    " EVENTTAB_BUILD
    *&      Form  top_of_page
    *    Header Data Population
    FORM top_of_page.
      DATA: l_htext TYPE slis_listheader,
            l_text(200) TYPE c,
            ld_lines TYPE i,
            ld_linesc(9) TYPE c.
      REFRESH g_header.
    ****************TOP OF PAGE HEADINGS****************************
    * For Headers, Key is not printed and is irrelevant. Will not cause
    * a syntax error, but is not used.
    * TYP:  Indicator: Header
      l_htext-typ = 'H'.     "H = Header,S = selection,a = action
      CONCATENATE 'Planned Order: -' s_plnum-low 'To' s_plnum-high
      INTO l_text SEPARATED BY space.
    * INFO: Information
      l_htext-info = l_text.
      APPEND l_htext TO g_header.
    * FM for dispalying text at Top of Page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = g_header
                i_logo =
                   'ENJOYSAP_LOGO'. " From transaction "OAOR"
    *     I_END_OF_LIST_GRID       =
    ENDFORM.                    "TOP_OF_PAGE

Maybe you are looking for

  • Errors in the high-level relational engine on Schedule Refresh Correlation ID: 7b159044-c719-41f9-8d0f-da6f73576d6e

    Connections are all valid and work when I setup the Refresh but when the schedule refresh occurs I get this error: Errors in the high-level relational engine. The following exception occurred while the managed IDataReader interface was being used: Th

  • ITunes 6.0 bugs?

    I had a 40GB iPod which I loved, but stupidly left on a plane on Sat. So, I bought a new 60GB iPod - looked good - video, etc. The new ones require iTunes 6.0, which I installed and it copied my existing library fine, and everything seemed ok until I

  • Configuring receiver RFC adapter to use RFC destination

    Hello,    I have been doing some digging, but I can't find a solid answer on how to configuring a receiver RFC adapter to use an existing RFC destination to call a 4/6C R/3 backend system...  Our scenario is to WS --> SOAP --> RFC which is up and run

  • How to convert vob files back in to single dvd file

    I was ripping a dvd to my macbook and originally, it came up as just a single file for DVD Player. I then decided that i would set the default media player to VLC. When I did this, the file broke down in to several VOB files by itself. Is there anywa

  • Handle exception?

    hello all, table structure: CREATE TABLE COR_DIVI_MST (divi_locn_code varchar2(6) not null, Divi_CODE VARCHAR2(2) NOT NULL, Divi_NAME VARCHAR2(200), CONSTRAINT CORDIVIMST_PK PRIMARY KEY(divi_locn_code,divi_code)); i have a form for enter master data.