Dear Tory (My friend),
Mudah2an ini membantu... sy pernah searching... dan sy sudah terapkan di
tempatku bekerja... sy pake DEV 2000... ini bs bekerja di DEV 6i... kecuali
yg sudah webbased y...
DECLARE
appid PLS_INTEGER;
convid PLS_INTEGER;
docid PLS_INTEGER;
conv_established BOOLEAN := FALSE;
buffer CHAR(100); /* This determines the maximum size of
of the values being returned from
Excel. Adjust it if your values exceed
this. */
nRow number:=1;
cRC1 varchar2(8);
cRC2 varchar2(8);
cRC3 varchar2(8);
cRC4 varchar2(8);
cRC5 varchar2(8);
cRC6 varchar2(8);
cRC7 varchar2(8);
cRC8 varchar2(8);
cRC9 varchar2(8);
cRC10 varchar2(8);
cRC11 varchar2(8);
cRC12 varchar2(8);
cRC13 varchar2(8);
/* Begin trigger DDE sample */
BEGIN
/* Start Excel */
/* This line assumes that Excel is in the directory e:msofficeexcel */
APPID := DDE.APP_BEGIN('c:\Program Files\Microsoft Office\Office\Excel.EXE',
DDE.APP_MODE_NORMAL);
/* Establish a conversation with Excel */
/* The following loop will not end until a conversation with Excel
has been established. Therefore, it can result in a endless loop,
so use with caution. */
WHILE NOT conv_established LOOP
BEGIN
convid := DDE.INITIATE('excel', 'system');
conv_established := TRUE;
EXCEPTION
WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN
conv_established := FALSE;
END; -- loop
END LOOP;
/* Open Excel document */
/* This assumes that you have an Excel spreadsheet named err.xls
in the root of e: */
DDE.EXECUTE(convid, '[Open("c:\err.xls")]', 10000);
/* Initiate conversation with Excel document */
docid := DDE.INITIATE('excel', 'c:\err.xls');
/* Begin transfer to Excel */
DDE.POKE(docid, 'R1C1', 'CONTRACT', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C2', 'ORDER NO', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C3', 'SO QTY', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C4', 'PART NO', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C5', 'DOP ID', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C6', 'PE', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C7', 'DEL DATE', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C8', 'WC NO', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C9', 'DEPARTMENT', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C10', 'DATE FROM', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C11', 'DATE TO', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C12', 'QTY', DDE.CF_TEXT, 10000);
DDE.POKE(docid, 'R1C13', 'TOTAL QTY BREAK', DDE.CF_TEXT, 10000);
go_block('EKO_OPERATION_V'); first_record;
loop
nRow:=nRow+1;
cRC1:='R'||to_char(nRow)||'C1';
cRC2:='R'||to_char(nRow)||'C2';
cRC3:='R'||to_char(nRow)||'C3';
cRC4:='R'||to_char(nRow)||'C4';
cRC5:='R'||to_char(nRow)||'C5';
cRC6:='R'||to_char(nRow)||'C6';
cRC7:='R'||to_char(nRow)||'C7';
cRC8:='R'||to_char(nRow)||'C8';
cRC9:='R'||to_char(nRow)||'C9';
cRC10:='R'||to_char(nRow)||'C10';
cRC11:='R'||to_char(nRow)||'C11';
cRC12:='R'||to_char(nRow)||'C12';
cRC13:='R'||to_char(nRow)||'C13';
DDE.POKE(docid, cRC1, :EKO_OPERATION_V.CONTRACT, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC2, :EKO_OPERATION_V.ORDER_NO, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC3, :EKO_OPERATION_V.revised_qty_due, DDE.CF_TEXT,
10000);
DDE.POKE(docid, cRC4, :EKO_OPERATION_V.PART_NO, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC5, :EKO_OPERATION_V.DOP, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC6, :EKO_OPERATION_V.PE, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC7, :EKO_OPERATION_V.DEL_DATE, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC8, :EKO_OPERATION_V.WC_NO, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC9, :EKO_OPERATION_V.DEPARTMENT_NO, DDE.CF_TEXT,
10000);
DDE.POKE(docid, cRC10, :EKO_OPERATION_V.DATEFROM, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC11, :EKO_OPERATION_V.DATETO, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC12, :EKO_OPERATION_V.QTY, DDE.CF_TEXT, 10000);
DDE.POKE(docid, cRC13, :EKO_OPERATION_V.QTYBREAK, DDE.CF_TEXT, 10000);
exit when :system.last_record='TRUE';
next_record;
end loop;
/*End transfer to Excel */
DDE.TERMINATE(docid);
DDE.TERMINATE(convid);
DDE.APP_END(appid);
/* Handle exceptions */
EXCEPTION
WHEN DDE.DDE_APP_FAILURE THEN
MESSAGE('WINDOWS APPLICATION CANNOT START.');
WHEN DDE.DDE_PARAM_ERR THEN
MESSAGE('A NULL VALUE WAS PASSED TO DDE');
WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN
MESSAGE('DDE CANNOT ESTABLISH A CONVERSATION');
WHEN DDE.DMLERR_NOTPROCESSED THEN
MESSAGE('A TRANSACTION FAILED');
/* End of trigger */
END;
tory byantoro <[EMAIL PROTECTED]> wrote:
Dh,
Bagaimana caranya hasil data yang sudah muncul di form (6i) dari hasil query,
kemudian data yang muncul saya mau export langsung ke file excel.
Terima kasih
__________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
[Non-text portions of this message have been removed]