Problem entering values in table after creating it in Word using OLE2

Hi,
I want to create a Word document from a Oracle Forms 6i application. The document will have standard text followed by a table. The cells of this table are to be populated from fields in the Forms application.
I have created a sample code below. When executed from within the Forms application, it creates a document fine. It writes the text "Hello World". It then creates a table as expected. But when I try to enter a value "Cell Value" in the table, the value does not get written to the cell of the table. Instead it writes the value outside the table.
Can someone please tell me what I am doing wrong here and what I need to do so that after writing the text on the document I can write values into the table also.
Any help will be much appreciated.
Here is the code(it works but then it doesn't ):
PROCEDURE TEST_PROC IS
hApplication OLE2.OBJ_TYPE;
hDocuments OLE2.OBJ_TYPE;
hDocument OLE2.OBJ_TYPE;
hSelection OLE2.OBJ_TYPE;
hParagraphFormat OLE2.OBJ_TYPE;
hRange OLE2.OBJ_TYPE;
hFont OLE2.OBJ_TYPE;
hTables OLE2.OBJ_TYPE;
hTable OLE2.OBJ_TYPE;
args OLE2.LIST_TYPE;
wdAlignParagraphLeft CONSTANT number(3) := 0; --Default
wdword9tablebehavior CONSTANT NUMBER (5) := 1;
wdautofitfixed CONSTANT NUMBER (5) := 0;
---- wdUnits Class members
wdcharacter CONSTANT NUMBER (5) := 1;
wdmove CONSTANT NUMBER (5) := 0; --Default
--wdBorderType Class members
wdborderleft CONSTANT NUMBER := -2;
wdborderright CONSTANT NUMBER := -4;
wdbordertop CONSTANT NUMBER := -1;
wdborderbottom CONSTANT NUMBER := -3;
--WdLineStyle Class member
wdlinestylenone CONSTANT NUMBER := 0;
BEGIN
hApplication:=OLE2.CREATE_OBJ('Word.Application');
OLE2.SET_PROPERTY(hApplication, 'Visible', 1);
hDocuments := OLE2.GET_OBJ_PROPERTY(hApplication, 'Documents');
hDocument := OLE2.INVOKE_OBJ(hDocuments, 'Add');
hSelection := OLE2.GET_OBJ_PROPERTY(hApplication, 'Selection');
hFont := OLE2.GET_OBJ_PROPERTY(hSelection, 'Font');
OLE2.SET_PROPERTY(hFont, 'Name', 'Calibri');
OLE2.SET_PROPERTY(hFont, 'Size', 11);
OLE2.SET_PROPERTY(hFont, 'Bold', FALSE );
OLE2.INVOKE(hSelection, 'TypeParagraph');
hParagraphFormat := OLE2.GET_OBJ_PROPERTY(hSelection, 'ParagraphFormat');
OLE2.SET_PROPERTY(hParagraphFormat, 'Alignment', wdAlignParagraphLeft);
OLE2.RELEASE_OBJ(hParagraphFormat);
args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, 'Hello World');
OLE2.INVOKE(hSelection, 'TypeText', args);
OLE2.DESTROY_ARGLIST(args);
OLE2.INVOKE(hSelection, 'TypeParagraph');
htables := ole2.get_obj_property (hdocument, 'Tables');
hrange := ole2.get_obj_property (hselection, 'Range');
args := ole2.create_arglist;
ole2.add_arg_obj (args, hrange); --Range
ole2.add_arg (args, 1); --NumRows
ole2.add_arg (args, 6); --NumColumns
ole2.add_arg (args, wdword9tablebehavior); --DefaultTableBehavior
ole2.add_arg (args, wdautofitfixed); --FitBehavior
htable := ole2.invoke_obj (htables
,'Add'
,args
args := ole2.create_arglist;
ole2.add_arg (args, wdcharacter);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveLeft'
,args
ole2.destroy_arglist (args);
args := ole2.create_arglist;
ole2.add_arg (args, 'CellValue');
ole2.invoke (hselection
,'TypeText'
,args
ole2.destroy_arglist (args);
ole2.RELEASE_OBJ (happlication);
ole2.RELEASE_OBJ (hdocuments);
ole2.RELEASE_OBJ (hdocument);
ole2.RELEASE_OBJ (hfont);
ole2.RELEASE_OBJ (hparagraphformat);
ole2.RELEASE_OBJ (htables);
ole2.RELEASE_OBJ (hrange);
END;

Once again thanks for the help John. Unfortunately I cannot use only bookmarks, because the text to be entered from the application is of undetermined length and therefore since the possibility of wrapping exists, it would not be able to give me the same formatting abilty as using a table.
However, the good news is that I have been able to find the solution. I am posting my code here so that it is available to anyone else who might have the same issue. Thanks again.
Here is my code and my comments in it explain what it does.
PROCEDURE extract_to_word
IS
/* First of all I would like to acknowledge the help I have got from experts who have posted a lot of this code on the web which I have used here. Special thanks go to someone by the name of sfvb
found here http://www.tek-tips.com/userinfo.cfm?member=sfvbsfvb
This procedure does the following:
1. Opens a word document.
2. Creates a header and pastes a picture in the header e.g your company logo with address. Please note that the image should have both the address and the logo in it. It can be created using paint where you can write your address at one end and paste a bmp or jpg picture of your logo at the other end.
3. Writes text with specified font and size. It calls a separate procedure PRINT_LINE to do this.
4. Creates a table on the document with specified number of columns with fixed width.
5. Populates the cells of the table-
first with headers written by calls to WRITE_HEADINGS procedure.
next with data from a block of the Forms application by calls to WRITE_DATA procedure
6. Comes out of the table and continues to write text.
The three procedures that are repeatedly called are described after the end of this procedure.
Note: While I have made every attempt to ensure that the code does not generate error on account of my writing the explanatory notes, I cannot be sure of having made some typos. If the code does not compile, it is most probably be on account of something I have missed in entering the comments and explanation.
Disclaimer:
I am not the sole author of this code. I have taken help from other open sources and copyright infringement if any is entirely unintentional.
happlication ole2.obj_type;
hwindow ole2.obj_type;
hpane ole2.obj_type;
hview ole2.obj_type;
hdocuments ole2.obj_type;
hdocument ole2.obj_type;
hselection ole2.obj_type;
hparagraphformat ole2.obj_type;
hrange ole2.obj_type;
hfields ole2.obj_type;
hfont ole2.obj_type;
hinlineshapes ole2.obj_type;
hpars ole2.obj_type;
hpar ole2.obj_type;
htabstops ole2.obj_type;
hactivedocument ole2.obj_type;
htables ole2.obj_type;
htable ole2.obj_type;
hcolumns ole2.obj_type;
hcells ole2.obj_type;
hrows ole2.obj_type;
hshading ole2.obj_type;
hinsertrow ole2.obj_type;
hborders ole2.obj_type;
hshading ole2.obj_type;
args ole2.list_type;
wdalignparagraphleft CONSTANT NUMBER (3) := 0;
wdalignparagraphcenter CONSTANT NUMBER (3) := 1;
wdalignparagraphright CONSTANT NUMBER (3) := 2;
wdseekcurrentpageheader CONSTANT NUMBER (3) := 9;
wdseekcurrentpagefooter CONSTANT NUMBER (3) := 10;
wdseekmaindocument CONSTANT NUMBER (3) := 0;
wdfieldpage CONSTANT NUMBER (3) := 33;
wdfieldnumpages CONSTANT NUMBER (3) := 26;
wdpagebreak CONSTANT NUMBER (3) := 7;
wdstory CONSTANT NUMBER (3) := 6;
wdword CONSTANT NUMBER (5) := 2;
wdsentence CONSTANT NUMBER (5) := 3;
wdword8tablebehavior CONSTANT NUMBER (5) := 0;
wdword9tablebehavior CONSTANT NUMBER (5) := 1;
wdautofitcontent CONSTANT NUMBER (5) := 1;
wdautofitfixed CONSTANT NUMBER (5) := 0;
wdautofitwindow CONSTANT NUMBER (5) := 2;
wdunderlinesingle CONSTANT NUMBER (5) := 1;
---- wdUnits Class members
wdcell CONSTANT NUMBER (5) := 12;
wdcharacter CONSTANT NUMBER (5) := 1;
wdword CONSTANT NUMBER (5) := 2;
wdsentence CONSTANT NUMBER (5) := 3;
wdline CONSTANT NUMBER (5) := 5;
---- wdMovementType Class members
wdextend CONSTANT NUMBER (5) := 1;
wdmove CONSTANT NUMBER (5) := 0;
--wdBorderType Class members
wdborderleft CONSTANT NUMBER := -2;
wdborderright CONSTANT NUMBER := -4;
wdbordertop CONSTANT NUMBER := -1;
wdborderbottom CONSTANT NUMBER := -3;
--WdLineStyle Class member
wdlinestylenone CONSTANT NUMBER := 0;
mytab CONSTANT VARCHAR2 (1) := CHR (9);
myblue CONSTANT NUMBER (8) := 16711680; --FF0000
mygreen CONSTANT NUMBER (8) := 65280; --00FF00
myred CONSTANT NUMBER (8) := 255; --0000FF
mydkgreen CONSTANT NUMBER (8) := 32768; --008000
myblack CONSTANT NUMBER (8) := 0; --000000
mytext VARCHAR2 (2000);
BEGIN
happlication := ole2.create_obj ('Word.Application');
ole2.set_property (happlication
,'Visible'
,1
hdocuments :=
ole2.get_obj_property (happlication, 'Documents');
hdocument := ole2.invoke_obj (hdocuments, 'Add');
-------- Create Header and Footer --------
hwindow :=
ole2.get_obj_property (happlication, 'ActiveWindow');
hpane := ole2.get_obj_property (hwindow, 'ActivePane');
hview := ole2.get_obj_property (hpane, 'View');
---- Header Section ---
ole2.set_property (hview
,'SeekView'
,wdseekcurrentpageheader
hselection :=
ole2.get_obj_property (happlication, 'Selection');
hfont := ole2.get_obj_property (hselection, 'Font');
ole2.set_property (hfont
,'Name'
,'Calibri'
ole2.set_property (hfont
,'Size'
,10
ole2.set_property (hfont
,'Bold'
,FALSE
ole2.set_property (hfont
,'Color'
,myblack
ole2.RELEASE_OBJ (hfont);
args := ole2.create_arglist;
--Below is the location of your jpg file that contains the logo and address
ole2.add_arg (args, 'C:\temp\AMHeader2.jpg');
hinlineshapes :=
ole2.get_obj_property (hselection, 'InlineShapes');
ole2.invoke (hinlineshapes
,'AddPicture'
,args
ole2.destroy_arglist (args);
ole2.RELEASE_OBJ (hinlineshapes);
ole2.set_property (hview
,'SeekView'
,wdseekmaindocument
ole2.RELEASE_OBJ (hview);
ole2.RELEASE_OBJ (hpane);
ole2.RELEASE_OBJ (hwindow);
-------- Insert Text --------
hfont := ole2.get_obj_property (hselection, 'Font');
ole2.set_property (hfont
,'Name'
,'Calibri'
ole2.set_property (hfont
,'Size'
,9
ole2.set_property (hfont
,'Bold'
,FALSE
ole2.set_property (hfont
,'Color'
,myblack
ole2.invoke (hselection, 'TypeParagraph');
hparagraphformat :=
ole2.get_obj_property (hselection, 'ParagraphFormat');
ole2.set_property (hparagraphformat
,'Alignment'
,wdalignparagraphleft
ole2.RELEASE_OBJ (hparagraphformat);
print_line (hselection
, 'Date ' || TO_CHAR (TRUNC (SYSDATE), 'MM/DD/YYYY')
,NULL
print_line (hselection
,NULL
--The following prints the address of the recipient of the letter.
print_line (hselection
,addr_line1
,NULL
print_line (hselection
,addr_line2
,NULL
print_line (hselection
,addr_line3
,NULL
print_line (hselection
,addr_line4
,NULL
print_line (hselection
,addr_line5
,NULL
--Call like the one below are to insert blank lines
hselection :=
ole2.get_obj_property (happlication, 'Selection');
print_line (hselection
,NULL
,NULL
print_line (hselection
,'Your salutation'
,NULL
print_line (hselection
,NULL
,'NULL
print_line (hselection
,'Ref: '
,NULL
print_line (hselection
,NULL
,NULL
print_line
(hselection
,'Whatever text you want to appear on this line.'
,NULL
print_line (hselection
,NULL
,NULL
-------- Create Table --------
htables := ole2.get_obj_property (hdocument, 'Tables');
hrange := ole2.get_obj_property (hselection, 'Range');
args := ole2.create_arglist;
ole2.add_arg_obj (args, hrange); --Range 
ole2.add_arg (args, 1); --NumRows    The rest of the rows are created later as and when required
ole2.add_arg (args, 6); --NumColumns This creates a table of 6 columns.
ole2.add_arg (args, wdword9tablebehavior); --DefaultTableBehavior
ole2.add_arg (args, wdautofitfixed); --FitBehavior
htable := ole2.invoke_obj (htables
,'Add'
,args
ole2.destroy_arglist (args);
-- [Borders removal start]The following piece of code removes all the borders. Use of this is optional.
hborders := ole2.get_obj_property (htable, 'Borders');          
ole2.set_property (hborders                                        
,'OutsideLineStyle'
,wdlinestylenone
ole2.set_property (hborders
,'InsideLineStyle'
,wdlinestylenone
ole2.RELEASE_OBJ (hborders);
--[Borders removal end]
--The following code makes the cursor enter the table. I took quite some time
--figuring this out.
hselection := ole2.get_obj_property (hdocument, 'Tables');
hselection := ole2.get_obj_property (happlication, 'Selection');
--WRITE_HEADINGS is the procedure called each time only to write headings.
write_headings (hselection
,'Heading 1 on cell at row 1 column 1'
,8
--The following moves the cursor to the next cell on the right.
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_headings (hselection
,'Heading 1 on cell at row 1 column 2'
,7
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_headings (hselection
,'Heading 1 on cell at row 1 column 3'
,7
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_headings (hselection
,'Heading 1 on cell at row 1 column 4'
,8
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_headings (hselection
,'Heading 1 on cell at row 1 column 5'
,5
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_headings (hselection
,'Heading 1 on cell at row 1 column 6'
,8
--The following moves the cursor back to the first cell on row 1 column 1
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 6);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveLeft'
,args
ole2.destroy_arglist (args);
--Now we need to write data sourced from a multi record block in Oracle Forms
GO_BLOCK ('your_block');
FIRST_RECORD;
record_cnt := 0;
LOOP
record_cnt := record_cnt + 1;
---In my application I gave the choice to the user to put a check mark on those records that he would want to print ------on the document and so the following.
IF :your_block.cb_print = 'Y'          
THEN               
--This creates a new row below the first row that contains the column headers.
args := ole2.create_arglist; ole2.add_arg (args, 1);
ole2.invoke (hselection
,'InsertRowsBelow'
,args
ole2.destroy_arglist (args);
--WRITE_DATA is called each time to write the data in the cells.
write_data (hselection
, :your_block.item);
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_data (hselection
               , :your_block.item);
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_data (hselection
               ,:your_block.item);
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_data (hselection
     ,:your_block.item);
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_data (hselection
     ,:your_block.item);
args := ole2.create_arglist;
ole2.add_arg (args, wdcell);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveRight'
,args
ole2.destroy_arglist (args);
write_data (hselection
,:your_block.item);
END IF;
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
END LOOP;
--The following makes the cursor exit the table and back on document for any further
--writing of text.
args := ole2.create_arglist;
ole2.add_arg (args, wdline);
ole2.add_arg (args, 1);
ole2.add_arg (args, wdmove);
ole2.invoke (hselection
,'MoveDown'
,args
print_line (hselection           --As mentioned earlier, this enters a blank line.
,NULL
,NULL
print_line (hselection
,'Boilerplate text: '
,your_variable
print_line (hselection
,'Boilerplate text: '
,your_variable
--You can print as many lines as required by making call to the PRINT_LINE procedure.
ole2.RELEASE_OBJ (htables);
ole2.RELEASE_OBJ (hfont);
ole2.RELEASE_OBJ (hselection);
ole2.RELEASE_OBJ (hdocument);
ole2.RELEASE_OBJ (hdocuments);
ole2.RELEASE_OBJ (happlication);
END;
PROCEDURE PRINT_LINE
( v_sel OLE2.OBJ_TYPE
, v_text VARCHAR2
, v_field varchar2)
IS
/* This procedure takes in three arguments.
The first v_sel is the VB selection object.
v_text is the static or boilerplate text that needs to be printed on the document.
v_field is the value of the item or variable from the program.
v_args      OLE2.LIST_TYPE;
hTab     CONSTANT varchar2(1) := chr(9); --This is the vb constant for tabstop
BEGIN
v_args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(v_args, v_text);
OLE2.INVOKE(v_sel, 'TypeText', v_args);
OLE2.DESTROY_ARGLIST(v_args);
--The following replicates tabbing. This was used so that the field values are aligned at a tabstop.
--When printing a blank line NULL is passed in as the argument
v_args := OLE2.CREATE_ARGLIST;
     OLE2.ADD_ARG(v_args, hTab);
     OLE2.INVOKE(v_sel, 'TypeText', v_args);
     OLE2.DESTROY_ARGLIST(v_args);
--The following writes the value of the variable at the tabstop.      
     v_args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(v_args, v_field);
OLE2.INVOKE(v_sel, 'TypeText', v_args);
OLE2.DESTROY_ARGLIST(v_args);
OLE2.INVOKE(v_sel, 'TypeParagraph');
END;
PROCEDURE WRITE_HEADINGS (SELIN OLE2.OBJ_TYPE, TEXTIN VARCHAR2, COUNTIN NUMBER)
IS
/* This procedure is used to write headings in the first row of the table.
SELIN is the Selection object
TEXTIN is the boilerplate text to be written as the header of a column.
COUNTIN is the number of characters in the header text. This is required
to replicate the action bolding the font of the header.
hFont          OLE2.OBJ_TYPE;
v_args OLE2.LIST_TYPE;
wdCharacter CONSTANT number(5) := 1; --Default
--wdUnderline Class members
wdUnderlineSingle                     CONSTANT NUMBER(5) := 1;
---- wdMovementType Class members
wdExtend CONSTANT number(5) := 1;
wdMove CONSTANT number(5) := 0; --Default
---- WdParagraphAlignment Class members
wdAlignParagraphCenter CONSTANT number(5) := 1;
wdAlignParagraphLeft CONSTANT number(5) := 0;
wdAlignParagraphRight CONSTANT number(5) := 2;
---- HexColor = BBGGRR
myLightBlue CONSTANT number(8) := 16755370; --FFAAAA
BEGIN
hFont := OLE2.GET_OBJ_PROPERTY(selin, 'Font');
OLE2.SET_PROPERTY(hFont, 'Name', 'Calibri');
OLE2.SET_PROPERTY(hFont, 'Size', 10);
OLE2.SET_PROPERTY(hFont, 'Bold', True);
OLE2.RELEASE_OBJ(hFont);
v_args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(v_args, textin);
OLE2.INVOKE(selin, 'TypeText', v_args);
OLE2.DESTROY_ARGLIST(v_args);
v_args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(v_args, wdCharacter);
OLE2.ADD_ARG(v_args, countin);
OLE2.ADD_ARG(v_args, wdMove);
OLE2.INVOKE(selin, 'MoveLeft', v_args);
OLE2.DESTROY_ARGLIST(v_args);
v_args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(v_args, wdCharacter); --Unit
OLE2.ADD_ARG(v_args, countin); --Count
OLE2.ADD_ARG(v_args, wdExtend); --Extend
OLE2.INVOKE(selin, 'MoveRight', v_args);
OLE2.DESTROY_ARGLIST(v_args);
hFont := OLE2.GET_OBJ_PROPERTY(selin, 'Font');
OLE2.SET_PROPERTY(hFont, 'Underline', wdUnderlineSingle);
OLE2.RELEASE_OBJ(hFont);
END;
PROCEDURE WRITE_DATA (SELIN OLE2.OBJ_TYPE, TEXTIN VARCHAR2)
IS
/*This procedure writes data in the cells of the table
hFont     OLE2.OBJ_TYPE;
v_args OLE2.LIST_TYPE;
wdCharacter CONSTANT number(5) := 1; --Default
--wdUnderline Class members
wdUnderlineSingle                     CONSTANT NUMBER(5) := 0;
---- wdMovementType Class members
wdExtend CONSTANT number(5) := 1;
wdMove CONSTANT number(5) := 0; --Default
---- WdParagraphAlignment Class members
wdAlignParagraphCenter CONSTANT number(5) := 1;
wdAlignParagraphLeft CONSTANT number(5) := 0;
wdAlignParagraphRight CONSTANT number(5) := 2;
---- HexColor = BBGGRR
myLightBlue CONSTANT number(8) := 16755370; --FFAAAA
BEGIN
hFont := OLE2.GET_OBJ_PROPERTY(selin, 'Font');
OLE2.SET_PROPERTY(hFont, 'Name', 'Calibri');
OLE2.SET_PROPERTY(hFont, 'Size', 10);
OLE2.SET_PROPERTY(hFont, 'Bold', False);
OLE2.SET_PROPERTY(hFont, 'Underline', wdUnderlineSingle);
OLE2.RELEASE_OBJ(hFont);
v_args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(v_args, textin);
OLE2.INVOKE(selin, 'TypeText', v_args);
OLE2.DESTROY_ARGLIST(v_args);
END;
Edited by: smilingbandit on 31-Mar-2010 7:05 PM
Edited by: smilingbandit on 31-Mar-2010 8:23 PM
Edited by: smilingbandit on Apr 1, 2010 6:14 AM: Reason - Fixed formatting of comments.

Similar Messages

  • Problem while selecting a table after creating the dblink

    Hi,
    We have created the dblink for oracle to sql server and it created successfully,
    But while selecting the table from oracle we are getting the below issue,
    select * from "sysdiagrams"@omniyat;
    ERROR at line 1:
    ORA-00942: table or view does not exist
    [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name
    'sysdiagrams'. {42S02,NativeErr = 208}[Microsoft][ODBC SQL Server Driver][SQL
    Server]Statement(s) could not be prepared. {42000,NativeErr = 8180}
    ORA-02063: preceding 2 lines from OMNIYAT
    Kindly provide us the solution to resolve this issue.
    Regards
    Sham

    Please see:
    Odbc Connection From Oracle To SQL*Server Fails With Errors Ora-28546 and Ora-2063 When Using Connection via Database Link. (Doc ID 1389492.1)
    To BottomTo Bottom
    Error 08001,NativeErr = 11 Instance Invalid or Not Running Connecting to SQL*Server Using Dg4MSQL (Doc ID 1349023.1)
    How to Resolve Common Errors Encountered while using Database Gateways (DG4IFMX, Dg4MSQL, DG4SYBS), DG4ODBC or Generic Connectivity (Doc ID 234517.1)
    Thanks,
    Hussein

  • Download alv-table to MS-Word using OLE2

    Hello,
    I need to download an internal table like ALV to MS-Word using OLE2.
    thank you 4 ur help.
    I fund this Report, but here i just can write a text in word but I can not show/write a Table.
    http://wiki.sdn.sap.com/wiki/display/Snippets/SampleprogramtocreateaWorddocumentfromABAP%28usingOLE%29
    CALL METHOD OF v_objselection 'TypeText'
      EXPORTING #1 = 'Olé World!'.
    when i wrote a table 4 Exmpel lt_outab insteat of 'Ole World' I got a trouble during compling because lt_outab is not a CHAR:-(

    I recommend reading this article:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/204d1bb8-489d-2910-d0b5-cdddb3227820
    You will get all the information you need to do with OLE2 Automation.
    It is also useful to dig into VB a little bit.
    In the article on page 7 you have a sample code which shows how to do with tables. You need to loop in ABAP on the internal table and inside this loop you need to loop on fields. Use VB methods ADD and CELL.
    FIELD-SYMBOLS: <wrk> LIKE LINE OF itab, <field> TYPE ANY.
    CALL METHOD OF word 'Add' = table
      EXPORTING
        #1 = range_table
        #2 = lines                            "lines( itab )
        #3 = fields.                          "number of fields
    LOOP AT itab ASSIGNING <wrk>.
      l_index = sy-tabix.
      DO.
        ASSIGN COMPONENT sy-index OF STRUCTURE <wrk> TO <field>.
        IF sy-subrc NE 0.
          EXIT.
        ENDIF.
        CALL METHOD OF word 'Cell' = cell
          EXPORTING
            #1 = l_index
            #2 = sy-index.
        GET PROPERTY OF cell 'Range' = range
        SET PROPERTY OF range 'Text' = <field>.
      ENDDO.
    ENDLOOP.
    Regards
    Edited by: Krzysztof Usowicz on Sep 15, 2010 9:45 AM

  • Problem : writing values to table continously

    i am using for loop to write values to table. N=10 is set for the loop. now table is showing values after 10 iterations of the loop but i want to take value of each itration. actually i am measuring resistivity at different temperature using agilent 34970A DA unit. temperature is increaing contineously and returning values. so i want to keep record of each and every step. i am attaching VI with this post. hopefully you will get my problem.. thanks
    Attachments:
    TESTING VI.zip ‏154 KB

    A lot of your code looks pretty odd and unusual, but if you want to update the table with each iteration of the FOR loop, you could do it as in the attached VI. (sorry, I don't have your hardware, so I am generating random values).
    What is the purpose of the sequence frames with 0ms wait in the main VI? They don't really seem to do anything useful.
    Al indicators except for the table in the main VI should be numerics. You can set the display format to anything you want.
    Do you really need to log to file from within each subVI? Maybe loggin the entire row in the main VI would be more useful.
    Your x10 followed by /10 is useless.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    testing_viMOD.vi ‏16 KB

  • Error while entering values in table.

    Hi All,
    I have a quantity field in table having data type as dec and length as 13 and decimal places as 5.
    But when i enter 255 in table,it automatically changes to .255 but it should be 255.
    Thanks and Regards,
    Amanpreet Sehgal

    hi
    check this one
    For calculations in business applications, use packed numbers. The program attribute Fixed point arithmetic affects calculations using packed numbers.
    If the program attribute Fixed point arithmetic is not set, type P fields are interpreted as integers without decimal places. The decimal places that you specify in the DECIMALS addition of the TYPES or DATA statement only affect how the field is formatted in the WRITE statement.
    DATA: PACK TYPE P DECIMALS 2.
    PACK = '12345'.
    WRITE PACK.
    If the program attribute Fixed point arithmetic is not set, the output is as follows:
    123.45
    If the program attribute Fixed point arithmetic is set, the output is as follows:
    12,345.00
    If the Fixed point arithmetic attribute is set, the decimal places are also taken into account in arithmetic operations. Calculations with packed numbers in ABAP use the same arithmetic as a pocket calculator. Intermediate results are calculated using up to 31 digits (before and after the decimal point). You should therefore always set the Fixed point arithmetic attribute when you use type P fields.
    DATA: PACK TYPE P.
    PACK = 1 / 3 * 3.
    WRITE PACK.
    If you have not set the Fixed point arithmetic attribute, the result is 0, since the calculation is performed using integer accuracy, and the result is therefore rounded internally to 0.
    If the program attribute Fixed point arithmetic is set, the result is 1 because the result of the division is stored internally as 0.333333333333333333333333333333 with an accuracy of up to 31 digits.

  • Is it possible to change the value of "maxdatafiles" after creating a db??

    Hi, all.
    Is it possible to change the value of the followings after creating a database??
    -maxdatafiles
    -maxinstances
    -maxlogfiles
    -maxlogmembers
    -maxloghistory
    Thanks and Regards.

    Hi Chris,
    Thanks for updating that but here's what in Oracle Doc:
    From Oracle Documentation (Oracle® Database New Features Guide 10g Release 2 (10.2))
    Eliminate Control File Re-Creation
    With the control file enhancements, there is no longer a requirement to re-create the control file when changes in the configuration parameters are made. These include the MAXLOGFILE, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES, and MAXINSTANCES parameters.
    This feature eliminates database downtime when a configuration parameter change is made in the control file
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14214/chapter1.htm#sthref12
    Regards

  • Problem inserting value in CLOB column from an XML file using XSU

    Hi,
    When I try to insert CLOB value into Oracle9i database from an XML document using XSU, I get an exception as below.
    09:37:32,392 ERROR [STDERR] oracle.xml.sql.OracleXMLSQLException: 'java.sql.SQLException: ORA-03237: Initial Extent of specified size cannot be allocated
    ORA-06512: at "SYS.DBMS_LOB", line 395
    ORA-06512: at line 1
    ' encountered during processing ROW element 0. All prior XML row changes were rolled back. in the XML document.
    All Element tags in XML doc. is mapped to columns in the database. One of the table columns is CLOB. That is the one that gives the above exception. Here is the xml...
    ID - is autogenerated value.
    <?xml version="1.0" ?>
    <ROWSET>
    <ROW num="1">
    <ID></ID>
    <SEQ>
    GCATAGTTGTTATGAAGAAATGGAAGAAAAATGCACTCAAAGTTGGGCTGTCAGGCTGTCTGGGGCTGAATTCTGGTGTGACAGTGTGATGAAGCCATCTTTGAGCCTAAATTTGATAATGAGCCAGTCATGATCTGGTTGTGATTACTATAACAAGATTAAATCTGAATAAGAGAGCCACAACTTCTTTAAAGACAGATTGTCAAGTCATTACATGGAAGAGGGAGATTGCTCCTTTGTAAATCAGGCTGTCAGGCCAACTGAATGAAGGACGTCATTGTACAGTAACCTGATGAAGATCAGATCAACCGCTCACCTCGCCG
    </SEQ>
    </ROW>
    </ROWSET>
    Can anyone identify what's the problem.. and suggest a solution for this..?
    Thanks in advance..
    Viji

    Would you please specify the XDK verison and database version?

  • No tables after creating DWH tables

    Hi,
    After configering the DAC there are no tables created.
    The contents of the generate_clt log are as below.
    Schema will be created from the following containers:
    obiawarehouse
    Success!
    >>>>>>>>>>>>>>>>>>>
    and the content of the createwtables.log
    =====================================
    STD OUTPUT
    =====================================
    CREATING SIEBEL DATABASE OBJECTS
    E:\oracle\product\10.2.0\OracleDB\DAC\bifoundation\dac\UTILITIES\BIN\DDLIMP /I N /s N /u hr /p ******* /c obia /G "SSE_ROLE" /f E:\oracle\product\10.2.0\OracleDB\DAC\bifoundation\dac/conf/sqlgen/ctl-file/oracle_bi_dw.ctl /b "" /K "" /X "" /W N
    The Siebel Database Objects were created successfully.
    =====================================
    ERROR OUTPUT
    =====================================
    Siebel Enterprise Applications ODBC DDL Import Utility, Version 7.7 [18030] ENU
    Copyright (c) 2001 Siebel Systems, Inc. All rights reserved.
    This software is the property of Siebel Systems, Inc., 2207 Bridgepointe Parkway,
    San Mateo, CA 94404.
    User agrees that any use of this software is governed by: (1) the applicable
    user limitations and other terms and conditions of the license agreement which
    has been entered into with Siebel Systems or its authorized distributors; and
    (2) the proprietary and restricted rights notices included in this software.
    WARNING: THIS COMPUTER PROGRAM IS PROTECTED BY U.S. AND INTERNATIONAL LAW.
    UNAUTHORIZED REPRODUCTION, DISTRIBUTION OR USE OF THIS PROGRAM, OR ANY PORTION
    OF IT, MAY RESULT IN SEVERE CIVIL AND CRIMINAL PENALTIES, AND WILL BE
    PROSECUTED TO THE MAXIMUM EXTENT POSSIBLE UNDER THE LAW.
    If you have received this software in error, please notify Siebel Systems
    immediately at (650) 295-5000.
    E:\oracle\product\10.2.0\OracleDB\DAC\bifoundation\dac\UTILITIES\BIN\DDLIMP /I N /s N /u hr /p ***** /c obia /G SSE_ROLE /f E:\oracle\product\10.2.0\OracleDB\DAC\bifoundation\dac/conf/sqlgen/ctl-file/oracle_bi_dw.ctl /b /K /X /W N
    Connecting to the database...
    Connected.
    Reading tables and indexes from DDL file...
    Read 0 tables and 0 indexes from DDL file...
    Reading existing schema...
    Read 0 tablespaces, 0 tables and 0 indexes from existing schema...
    Running SQL statements against the database...
    TABLES CREATED : 0
    TABLES GRANTED : 0
    TABLES DELETED : 0
    TABLES MERGED : 0
    TABLES REBUILT : 0
    TABLES IGNORED : 0
    COLUMNS ADDED : 0
    COLUMNS DELETED : 0
    COLUMNS MODIFIED: 0
    INDEXES CREATED : 0
    INDEXES DELETED : 0
    INDEXES MODIFIED: 0
    TOTAL ERRORS : 0
    Disconnecting from the database.
    >>>>>>>>>>>>>>>>>>
    Thanks & Regards
    Raj
    Edited by: user10189442 on Aug 27, 2008 10:41 PM

    Every release of Apps comes with metadata, and DAC as well (atleast for now). You have to install DAC from the apps install, and restore data. Now if you happen to have a later version of DAC, then you can use it to upgrade the repository that was created with the DAC that came with apps install. For example, lets say the latest apps release is V1. The latest DAC that you can download is V2. You cannot restore the data using V2 DAC from the V1 Apps. Use V1 apps DAC to restore the data, and if necessary, use V2 to upgrade it.
    Please say which applications are you trying to install, and what version of DAC are u using to restore... DAC version can be obtained from DAC Client->Help->About DAC.

  • Forcing user to enter values at table level

    Hi,
    I have created a table ztest. How to force user to enter the values for certain fields in the table which are not keys, similar to not null in RDBMS. selecting the initial values filed in SE11 populates with some default value, but it doesnt force the user to enter the value.
    Regards,
    Raghu

    Hi,
    Just check out transaction code SE54 for events.
    Go in SE54.
    Give your table name.
    Go in Environment --> Events.
    Here add the Event '01' i.e. Before saving the data.
    Give the name for event eg 'BEFORE_SAVE'.
    Click on Editor to create an include program.
    In the include program write
    form before_save.
      data: f_index like sy-tabix. "Index to note the lines
      loop at total.
        if <action> = 'N' or <action> = 'U'.
          read table extract with key <vim_xtotal_key>.
          if sy-subrc eq 0.
            f_index = sy-tabix.
          else.
            clear f_index.
          endif.
          "(make desired changes to the line TOTAL)
          "End of Modification.
          modify total.
          check f_index gt 0.
          extract = total.
          modify extract index f_index.
        endif.
      endloop.
      sy-subrc = 0.
    endform.
    Note here in field symbol 'Total' your workarea will be their. You can make necessary checks here.
    Or else you can go for making a custom transaction for your requirement.
    Regards,
    Nitin
    *Mark all helpful answers

  • ID CS3 - problem entering values in fields

    Trying to type values in fields, i.e. point size, leading, indents, space before or after, and the program doesn't accept the numbers. It deletes my highlight text and inserts the value I'm trying to enter. Tried trashing preferences and it worked for a couple of boxes. It doesn't seem to be a consistent problem – every now and then it will work as it's supposed to. Any suggestions?

    How did you trash prefs? many folks fail to remove the whole set. See: Replace Your Preferences

  • Problem displaying text in console after creating socket

    Hi guys,
    I'm trying to combine 2 invididual parts of a project I'm working on, but I am having problems intregating it all together.
    I am using sockets to connect to 1 computer so it's using client server architecture. Whilst I am able to create and connect using the socket, my program is failing to print on the console. I would like to find out what I have done wrong, and get it working.
    Server code:
    import java.io.*;
    import java.net.*;
    import javax.swing.JOptionPane;
    class Server
         public static void main (String []args) throws IOException
              try
                   Server();     
              catch (IOException ex)
         public static void Server () throws IOException
              ServerSocket serverSocket=null;
              int portNo=4500;
              System.out.println("Starting");
              try
                   serverSocket=new ServerSocket(portNo);     
              catch (IOException ex)
                   System.err.println("Could not create socket on port" +portNo);
                   System.exit(1);
              System.out.println("Socket listening");
              Socket clientSocket=null;
              try
                   clientSocket=serverSocket.accept();
              catch (IOException ex)
                   System.out.println("Accept failed");
                   System.exit(1);
              PrintWriter out= new PrintWriter(clientSocket.getOutputStream(), true);
              BufferedReader in=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
              Board board1=new Board();
              Protocol game=new Protocol();     
              boolean gameStart=true;
              while (gameStart)
                   String originMove=JOptionPane.showInputDialog(null,"Origin Move","Enter in origin of piece",JOptionPane.QUESTION_MESSAGE);
                   byte [] originMoveByte=new byte[originMove.length()];
                   originMoveByte=originMove.getBytes();
                   System.out.println(originMoveByte);
              out.close();
              in.close();     
              clientSocket.close();
              serverSocket.close();          
    class Board
         boolean gameStart=true;
         public static String [] [] Board()
              String coordinates[] [] = new String [8] [8];
              for (byte i=0;i<8;i++)
                   for (byte j=0;j<8;j++)
                        if ((i%2!=0)&&(j%2!=0))
                             coordinates[i] [j]="#";
                        else if ((i%2!=0)&&(j%2==0))
                             coordinates[i] [j]=" ";
                        else if ((i%2==0)&&(j%2!=0))
                             coordinates[i] [j]=" ";
                        else
                             coordinates[i] [j]="#";
              coordinates[0][0]="R";
              coordinates[0][1]="N";
              coordinates[0][2]="B";
              coordinates[0][3]="Q";
              coordinates[0][4]="K";
              coordinates[0][5]="B";
              coordinates[0][6]="N";
              coordinates[0][7]="R";
              for (int i=0;i<8;i++)
                   coordinates[1]="P";
              coordinates[7][0]="r";
              coordinates[7][1]="n";
              coordinates[7][2]="b";
              coordinates[7][3]="q";
              coordinates[7][4]="k";
              coordinates[7][5]="b";
              coordinates[7][6]="n";
              coordinates[7][7]="r";
              for (int i=0;i<8;i++)
                   coordinates[6][i]="p";
              printBoard(coordinates);
              return coordinates;
         public static void update (String coordinates [] [])
              printBoard(coordinates);
         public static void printBoard(String coordinates[] [])
              for (int i=0;i<8;i++)
                   for (int j=0;j<8;j++)
                        System.out.print(coordinates[i][j]);
                   System.out.println();
    }Cheers,
    Ben                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Sorry guys, I got a follow up problem :(
    U:\Server\Server.java:126: incompatible types
    found   : java.lang.String[][]
    required: java.io.PrintWriter
                   out=game.Protocol(coordinates,originMove,destinationMove);
                                    ^
    1 error
    Process completed.What needs changing? Btw, coordinates is the 2D String array
    Cheers,
    Ben

  • Mapping Problem with 2 ALV Tables after sorting

    Hi,
    I have a context node INCIDENTS with a sub-node SUB_INCIDENTS.
    The sub-node is filled via a Supply Function.
    Both nodes are displayed in separate ALV Grids on the same view, which works pretty well.
    The only problem I face is when I try to sort one of the ALVs, then I get an error "The node specified in mapping ( SUB_INCIDENTS) could not be found ".
    I have no clue how to solve that, already tried to fill the sub-node with the ALV standard function "ON_STD_FUNCTION_AFTE", no effect.
    Does anybody can imagine what might be the reason?
    Best regards, Steffen
    Edited by: Steffen Weber on Aug 27, 2008 2:55 PM

    In general, having two ALVs for parent and then a sub node is not supported.  Here is a section from the online help that describes what happens when a sort occurs on the parent node in ALV:
    Important Exception: Sorting
    Here ALV has to use the entire dataset so that the data records can be arranged in the new order. For this purpose, the ALV component temporarily takes control of the internal data table and invalidates the corresponding context node of your application during this time. This ensures that the application cannot access the context node while the ALV component is editing the internal data table.
    Once the internal data table has been resorted, ALV rebuilds the context node, releases it again for the application, and displays the data accordingly.
    This ensures that the internal data table is never copied. This is important because large volumes of data would considerably impact performance and memory space.
    When you are planning your application, note the following side-effects of this mechanism:
    ●      When the context node is invalidated, information about current selections, and in particular the lead selection, is lost.
    ●      If your application has created subnodes for the context node, (master-detail scenario), these subnodes are lost as soon as the ALV component invalidates the context node. If the application then tries to access the subnodes, a runtime error occurs.
    Because of the invalidation that is described here, the subnode leadselection is lost and is invalidated as well. This leads to the error you are encountering.

  • Problem with fetching a row after creating a standard form

    ORA-02291: integrity constraint (TICKET_DEV.MAILALERTTEXT_MAILALERTTY_FK1) violated - parent key not found
    Unable to process row of table MAILALERTTEXT.
    I have created a form on the table mailalerttext with the intention of beeing able to put in new mailalert texts. I have taken all the fields of that table:
    MAILALERTTEXTID,MAILSUBJECT,MAILCONTENT,APPLICATIECD,MAILALERTTYPEID
    and linked it to the mailalerttype table:
    MAILALERTTYPEID,OMSCHRIJVING,CODE
    I've deleted the field applicatiecd. I've made the mailalerttypeid field a select list using a lov_mailalerttypes, with the following query:
    select maty.omschrijving display_value, maty.mailalerttypeid return_value
    from mailalerttype maty
    order by 1
    All the processes are just standard, nothing has been changed to them.
    Any ideas what could cause this ? Meanwhile I'll keep trying.
    Floris

    I have created a different form on a similar table with the same comments. dropped the mailalerttype column, and added a mailalerttypecode column.
    Inserting now works, with one quirky fact, is that it did one insert, and then it always overwrites the last record. Even if I chose different types, it just changes the last record. So I know now that at least it inserts data, it just doesn't seem to think or make the action, add one count to the sequence and take the next number, which should be 65, which in a way is good if i want to make a difference between the default texts and new ones. So I'm still doing something wrong, or I forgot to do something. Has anyone an idea what ?
    Its just that if I can get this to work, then maybe I can find out, how to get it to work on the mailalerttext table and just keep the maillalerttextbis table as backup.

  • Problem rotating rectangle (selecting corners) after creating with rectangle tool in illustrator

    I'm using the latest CC version of Illustrator. When I draw a rectangle using the rectangle tool, I no longer seem to be able to select the corners to resize the rectangle nor does the cursor turn to a rotate icon when I put the mouse just outside the corner. I know that Ai CC treats rectangles differently now, with the live rectangles and the rounded corner options, and the transform box opening automatically. What I'm wondering, and hoping isn't the case, is whether this is this at the expense of being able to go right in and resize using the just the mouse? I know that there is the  "Object > Shape > Expand" option, but having to do that for every time I draw a rectangle is time-consuming and adds and extra step that was unnecessary before. I saw a tutorial on Lynda where the instructor drew a live rectangle in CC AND was still able to resize it by grabbing the corner "handle". Anyone know if this is just a setting I need to turn on or something similarly easy, or is it a case of Adobe inadvertently making the workflow longer when trying to make it easier? And yes, I have "show bounding box" selected under VIEW.

    MOD indi-go girl,
    I am afraid you have come across the Live Rectangle bug which is limited to the MAC versions starting with 10.7 and 10.8, but not 10.9 (Mavericks) or 10.10 (Yosemite). Hopefully, the bug will be fixed soon.
    So a switch to Mavericks or Yosemite with a reinstallation might be the way to solve it here and now.
    To get round it in each case, it is possible to Expand the Live Rectangles to get normal old fashioned rectangles, or to Pathfinder>Unite, or to use the Scale Tool or the Free Transform Tool.
    A more permanent way round that is to create normal old fashioned rectangles, after running the free script created by Pawel, see this thread with download link:
    https://forums.adobe.com/thread/1587587

  • Problem with showing the table after advancing to another form.

    hi guys,
    Actually we have designed a search engine that displays results of candidates in a JTable upon clicking the 'Search' button.
    we also have 'Advance Further' button to proceed to another form (form1)which allows the user to further narrow down the search.
    well my problem is that how to display the search results in the JTable of main screen upon clicking 'Search' button in the form1.
    Please can anyone help me in solving this.
    Thanks,
    vishal

    They are oprations on table model data.
    Study the DefaultTableModel class and effects of their table data manipulation methods.
    They surely would serve your purpose.

Maybe you are looking for

  • Is There a way of using an alt key on the iphone (to so alt characters)

    Is There a way of using an alt key on the iphone (to so alt characters)?? Cheers all.

  • Copying large files to external hard drive won't work

    I tried looking for this all over google and here, and i could only find old threads that didn't end up with a clear answer, so i decided to post one of my own for the first time. Basically, I have folders of music and movies that i'm trying to move

  • How do I set a link in an HTML file that points to a spot in a PDF?

    I want to go from an HTML file to a spot in a PDF. By spot in a PDF, I mean a location marked by a bookmark. What is the equivalent in a PDF file to the anchor tag in HTML with a name attribute? What HTML code do I use? If I use Word to make the PDF,

  • Child table data Recon is not happening

    Hi All, I have a requirement to create a custom scheduler in OIM11g, to generate recon events. -I have one parent field - which is 'required' in the RO recon mapping - Rest 5 fileds are together as one in a child table and again mentioned in RO recon

  • Project Management Certifications

    Hi All, After going through Training and certification shop website of SAP what I could understand is there are 4 certifications available related to Project Management whose codes are given below: 1. C_PM_71 2. C_TPLM22_60 3. C_TPLM22_64 4. C_TPLM50