Java input xml data and xsl template -output file excel
i need help or same special link on web.
i must develop code or use a special tool that make this.
INPUT:
xml that contain real data
xsl that explain a report template
OUTPUT:
file excel that show the template xsl with xml data source
thank for help me.
Hi,
Please refer to "Oracle XML Publisher User's Guide".
Applications Releases 11i and 12
http://www.oracle.com/technetwork/indexes/documentation/index.html
This is also explained in the document attached in (Publishing Concurrent Requests with XML Publisher [ID 295409.1]).
Thanks,
Hussein
Similar Messages
-
How to convert a data set into a xml data and vice versa
i am new to oracle with xml..
my aim is to convert a data set into a xml data and vice versa..
my work is as follows...
my query:
select rggpk,rggcode,rggname from ms_regiongeo
to convert a data set into a xml*
select XMLType(trim(replace(dbms_xmlgen.getXML('select rggpk,rggcode, rggname from ms_regiongeo'),'<?xml version="1.0"?>',''))) XML_DATA from dual;
(this works fine and output of this query is as follows..)
<ROWSET>
<ROW>
<RGGPK>201</RGGPK>
<RGGCODE>Asia</RGGCODE>
<RGGNAME>Asia</RGGNAME>
</ROW>
<ROW>
<RGGPK>1</RGGPK>
<RGGCODE>OTH</RGGCODE>
<RGGNAME>Others</RGGNAME>
</ROW>
<ROW>
<RGGPK>21</RGGPK>
<RGGCODE>COB</RGGCODE>
<RGGNAME>Africa and Yemen</RGGNAME>
</ROW>
<ROW>
<RGGPK>2</RGGPK>
<RGGCODE>AUS</RGGCODE>
<RGGNAME>Australia</RGGNAME>
</ROW>
<ROW>
<RGGPK>23</RGGPK>
<RGGCODE>IND</RGGCODE>
<RGGNAME>Indian Sub Continent</RGGNAME>
</ROW>
<ROW>
<RGGPK>24</RGGPK>
<RGGCODE>TVM</RGGCODE>
<RGGNAME>North America</RGGNAME>
</ROW>
</ROWSET>
and to reverse this process, I tried a query like this..*
select EXTRACTVALUE (XML_DATA,'ROWSET/ROW/RGGPK') as EMP_ID
from(
select XMLType(trim(replace(dbms_xmlgen.getXML('select rggpk,rggcode, rggname from ms_regiongeo'),'<?xml version="1.0"?>',''))) XML_DATA from dual
)tab1but failed.. and raised with an eror: ORA-19025
help me..
regards,
johnHi-
my aim is to convert a data set into a xml data You can refer to the below posts
Adding namespace to XML output
Re: how to convert table data in xml format based on the xsd. -
Urgent!!!Need code to fetch all sales order data and download to flat file
urgent!!!Need code to fetch all sales order data and download to flat file
D A T A B A S E T A B L E S *
TABLES: vbak, "Sales Document: Header Data
VBAP, "Sales Document: Item Data
MARA,VAPMA,VBPA,VBLB,VBEP,
VBKD. "Murali Poli .
I N T E R N A L T A B L E S *
Internal table to hold the Delphi material numbers file
DATA: BEGIN OF tbl_matnr OCCURS 0,
matnr LIKE mara-matnr, "Material number
END OF tbl_matnr.
Internal table to hold customer cross ref data
DATA: BEGIN OF TBL_CUST_SA OCCURS 0,
OLD_KUNNR LIKE KNA1-KUNNR, "Old Customer
OLD_VKORG LIKE A004-VKORG, "Old Sales organisation
OLD_VTWEG LIKE A004-VTWEG, "Old Distribution channel
NEW_KUNNR LIKE KNA1-KUNNR, "New Customer
NEW_VKORG LIKE A004-VKORG, "New Sales organisation
NEW_VTWEG LIKE A004-VTWEG, "New Distribution channel
PARVW LIKE VBPA-PARVW , "Partner function
END OF TBL_CUST_SA.
Internal table to check the material numbers of the input file
DATA: tbl_mara LIKE tbl_matnr OCCURS 0 WITH HEADER LINE.
Work area to hold the header record
DATA: BEGIN OF w_sa_header,
recordtype(1), "Record type
schedulingagreement(4), "SA Type
contractreference(10), "Contract Reference
salesorg(4), "Sales Organization
distrchannel(2), "Distribution channel
division(2), "Sales division
PONUMBER(35), "Purchase order number"gsbhondave
soldtoparty(12), "Sold-to party
shiptoparty(12), "Ship-to party
collectivenumber(10), "Collective number
description(40), "Description
roundqty(13), "Rounding Qty
pdsi(4), "PDI
correctiondeliverydate(8), "Correction Delivery Dt
correctionqty(13), "Correction Qty
cumulativereceivedqty(13), "Cumulative Received Qty
forecastdeliveryschedule(17), "Forecast Delivery Schedule
forecastdelscheddate(8), "Forecast Delivery Schedule Dt
jitdeliveryschedule(17), "JIT Delivery Schedule
jitdeliveryscheduledate(8), "JIT Delivery Schedule Dt
materialnumber(18), "Material number
plant(4), "Plant
item_category(4), "Item Category
suppliercode(15), "Supplier code
scac(4), "SCAC
deloc(12), "DELOC
pkg_id(12), "Packaging ID
catno(30), "Ultimate Cust Part
lgort(4), "Storage Location
vstel(4), "Shipping point
Adding fields by Murali Poli
VSBED(2), "Shipping conditions
INCO1(3), "Incoterms (part 1)
INCO2(28), "Incoterms (part 2)
ZECN(1), "Engineering Change Letter
End of Adding fields by Murali Poli
END OF w_sa_header.
Work area to hold the forecast record
DATA: BEGIN OF w_sa_forecast,
recordtype(1), "Record Type
dateformat(1), "Date format
forecastdate(8), "Forecast date
forecastorderqty(13), "Order Qty
END OF w_sa_forecast.
Work area to hold the jit record
DATA: BEGIN OF w_sa_jit,
recordtype(1), "Record Type
dateformat(1), "Date format
jitdate(8), "JIT date
jittime(6), "JIT Time
jitorderqty(13), "Order Qty
END OF w_sa_jit.
Internal table to hold the Extracted data
DATA: BEGIN OF tbl_record OCCURS 0,
record_type,
DATA(400), " changed from 325 to 400
END OF tbl_record.
Internal table to capture the errors
DATA: BEGIN OF tbl_error OCCURS 0,
error_text(135),
END OF tbl_error.
Internal table to hold the records of VBAP_VAPMA
DATA: BEGIN OF tbl_vbap_vapma OCCURS 0,
VBELN LIKE VAPMA-VBELN, "Sales and distribution document number
POSNR LIKE VAPMA-POSNR, "Item number
AUART LIKE VAPMA-AUART, "SA Type
VKORG LIKE VAPMA-VKORG, "Sales Organization
VTWEG LIKE VAPMA-VTWEG, "Distribution channel
SPART LIKE VAPMA-SPART, "Division
KUNNR LIKE VAPMA-KUNNR, "Sold-to
plavo like vbap-plavo, "PDI
MATNR LIKE VAPMA-MATNR, "Material number
WERKS LIKE VAPMA-WERKS, "Plant
TRVOG LIKE VAPMA-TRVOG, "Transaction group
VBTYP LIKE VBAK-VBTYP, "SD document category "Murali Poli
VSBED LIKE VBAK-VSBED, "Shipping conditions "Murali Poli
BSTNK LIKE VBAK-BSTNK, " Purchase order number " gsbhondave
KTEXT LIKE VBAK-KTEXT,
VGBEL LIKE VBAP-VGBEL, "Reference document no
ABLFZ LIKE VBAP-ABLFZ, "Rounding qty
PSTYV LIKE VBAP-PSTYV, "Item category
LGORT LIKE VBAP-LGORT, "Storage location
VSTEL LIKE VBAP-VSTEL, "Shipping point
END OF TBL_VBAP_VAPMA.
DATA: BEGIN OF TBL_VBAP OCCURS 0,
VBELN LIKE VAPMA-VBELN,
POSNR LIKE VAPMA-POSNR,
VGBEL LIKE VBAP-VGBEL,
ABLFZ LIKE VBAP-ABLFZ,
PSTYV LIKE VBAP-PSTYV,
LGORT LIKE VBAP-LGORT,
VSTEL LIKE VBAP-VSTEL,
END OF TBL_VBAP.
Adding by Murali Poli
DATA:BEGIN OF TBL_VBKD OCCURS 0,
VBELN LIKE VBKD-VBELN,
POSNR LIKE VBKD-POSNR,
INCO1 LIKE VBKD-INCO1,
INCO2 LIKE VBKD-INCO2,
END OF TBL_VBKD.
End by Murali Poli
Internal table to hold temporarily the records of VBAP_VAPMA
DATA: tbl_vbap_vapma_temp LIKE tbl_vbap_vapma OCCURS 0 WITH HEADER LINE.
Internal table to hold the records of VBPA
DATA: BEGIN OF tbl_vbpa OCCURS 0,
vbeln LIKE vbpa-vbeln, "Sales and distribution
"document number
posnr LIKE vbpa-posnr, "Item number
parvw LIKE vbpa-parvw, "SP Partner type
kunnr LIKE vbpa-kunnr, "Customer number
lifnr LIKE vbpa-lifnr, "SCAC code "DN3K923909
END OF tbl_vbpa.
Internal table to hold the records of VBLB (Forecast)
DATA: BEGIN OF tbl_vblb_forecast OCCURS 0,
vbeln LIKE vblb-vbeln,
posnr LIKE vblb-posnr,
abart LIKE vblb-abart, "Release type
abefz LIKE vblb-abefz, "Cumulative Quantity
"Received by Customer
labnk LIKE vblb-labnk, "Delivery schedule
abrdt LIKE vblb-abrdt, "Deivery date
gjkun LIKE vblb-gjkun, "Current fiscal year
vjkun LIKE vblb-vjkun, "Previous fiscal year
END OF tbl_vblb_forecast.
Internal table to hold the records of VBLB (JIT)
DATA: BEGIN OF tbl_vblb_jit OCCURS 0,
vbeln LIKE vblb-vbeln,
posnr LIKE vblb-posnr,
abart LIKE vblb-abart, "Release type
abefz LIKE vblb-abefz, "Cumulative Quantity
"Received by Customer
labnk LIKE vblb-labnk, "Delivery schedule
abrdt LIKE vblb-abrdt, "Deivery date
gjkun LIKE vblb-gjkun, "Current fiscal year
vjkun LIKE vblb-vjkun, "Previous fiscal year
END OF tbl_vblb_jit.
Internal table to hold the Forecast Schedule lines
DATA: BEGIN OF tbl_vbep_forecast OCCURS 0,
vbeln LIKE vbep-vbeln, "Sales document
posnr LIKE vbep-posnr, "Item number
etenr LIKE vbep-etenr, "Schedule line
edatu LIKE vbep-edatu, "Schedule line date
ezeit LIKE vbep-ezeit, "Arrival time "DN3K923909
wmeng LIKE vbep-wmeng, "Order quantity in sales units
prgrs LIKE vbep-prgrs, "Date type (day, week, month, interval)
abart LIKE vbep-abart, "Release type "DN3K923909
END OF tbl_vbep_forecast.
Internal table to hold the JIT Schedule lines
DATA: BEGIN OF tbl_vbep_jit OCCURS 0,
vbeln LIKE vbep-vbeln, "Sales document
posnr LIKE vbep-posnr, "Item number
etenr LIKE vbep-etenr, "Schedule line
edatu LIKE vbep-edatu, "Schedule line date
ezeit LIKE vbep-ezeit, "Arrival time
wmeng LIKE vbep-wmeng, "Order quantity in sales units
prgrs LIKE vbep-prgrs, "Date type (day, week, month, interval)
abart LIKE vbep-abart, "Release type "DN3K923909
END OF tbl_vbep_jit.
Internal table for Long texts
DATA: tbl_tline LIKE tline OCCURS 0 WITH HEADER LINE.
V A R I A B L E S *
DATA: v_count TYPE i,
V_REPID LIKE SY-REPID,
w_eins LIKE vbap-umvkz VALUE 1,
v_cumulative_deli_qty LIKE vblb-abefz,
v_text_name LIKE thead-tdname,
v_week LIKE scal-week,
v_count_h TYPE i, "Count of header records
v_count_f TYPE i, "Count of Forecast records
v_count_j TYPE i, "Count of JIT records
v_count_t TYPE i. "Count of Shipping instructions
TYPES: unixfile LIKE rlgrap-filename,
unixdir LIKE rlgrap-filename.
DATA: v_file1 TYPE unixfile,
v_file2 TYPE unixfile.
DATA: tbl_dynpfields LIKE dynpread OCCURS 0 WITH HEADER LINE.
*data tbl_cust_sa.
S E L E C T - O P T I O N S / P A R A M E T E R S *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
Valid-to date
PARAMETER:
p_gueen like vbak-gueen obligatory,
Correction Delivery date
P_DELDT LIKE VBAK-GUEEN OBLIGATORY.
Begin of Changes - TIR-40266
Plant
SELECT-OPTIONS: s_werks FOR vbap-werks.
*SD document category
SELECT-OPTIONS: S_VBTYP FOR VBAK-VBTYP OBLIGATORY." Murali Poli
Sales organization
SELECT-OPTIONS: S_VKORG FOR VBAK-VKORG OBLIGATORY.
End of Changes - TIR-40266
SELECTION-SCREEN SKIP 1.
PARAMETER: r1 RADIOBUTTON GROUP rg1.
Material numbers file
PARAMETER: P_FILE1 LIKE RLGRAP-FILENAME.
PARAMETER: P_FILE6 LIKE RLGRAP-FILENAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(32) text-003.
SELECTION-SCREEN POSITION 33.
SD SA Extract file
PARAMETER: P_FILE2 LIKE RLGRAP-FILENAME
DEFAULT 'C:\sd_sa_extract.txt'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
PARAMETER: r2 RADIOBUTTON GROUP rg1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(32) text-004.
SELECTION-SCREEN POSITION 33.
PARAMETER: p_path1 TYPE unixdir OBLIGATORY DEFAULT '/tmp/'.
SELECTION-SCREEN END OF LINE.
Material numbers file
PARAMETER: PU_FILE1 LIKE RLGRAP-FILENAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(32) text-003.
SELECTION-SCREEN POSITION 33.
SD SA Extract file
PARAMETER: PU_FILE2 LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(64) text-005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
A T S E L E C T I O N S C R E E N E V E N T S *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
v_repid = syst-repid.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = v_repid
CHANGING
file_name = p_file1
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e009.
Message shown as 'Error while getting the file name'
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE6.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = v_repid
CHANGING
FILE_NAME = P_FILE6
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e009.
Message shown as 'Error while getting the file name'
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file2.
v_repid = syst-repid.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = v_repid
CHANGING
file_name = p_file2
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e009.
Message shown as 'Error while getting the file name'
ENDIF.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP rg1.
IF r1 = 'X'.
IF p_file1 = '' OR p_file2 = ''.
MESSAGE w000 WITH 'Please select a PC file'.
ENDIF.
LOOP AT SCREEN.
IF screen-name = 'P_FILE1' OR
screen-name = 'P_FILE2'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF r2 = 'X'.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE1' CHANGING pu_file1.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE2' CHANGING pu_file2.
IF pu_file1 = '' OR pu_file2 = ''.
MESSAGE w000 WITH 'Please select a UNIX file'.
LOOP AT SCREEN.
IF screen-name = 'PU_FILE1' OR
screen-name = 'PU_FILE2'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pu_file1.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE1' CHANGING pu_file1.
PERFORM popup_unix_filename CHANGING p_path1 pu_file1.
PERFORM set_value USING 'P_PATH1' p_path1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pu_file2.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE2' CHANGING pu_file2.
PERFORM popup_unix_filename CHANGING p_path1 pu_file2.
PERFORM set_value USING 'P_PATH1' p_path1.
T O P - O F - P A G E *
TOP-OF-PAGE.
PERFORM delphi_header(z_delphi_header_footer)
USING
'E & S SD SCHEDULING AGREEMENTS EXTRACT DATA'(016)
space
sy-linsz.
S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
IF r1 = 'X'.
PERFORM upload_data_from_pc_files.
ELSEIF r2 = 'X'.
PERFORM upload_data_from_unix_files.
ENDIF.
PERFORM check_input_data.
PERFORM get_sd_sa_data.
E N D - O F - S E L E C T I O N *
END-OF-SELECTION.
PERFORM process_data.
S U B - R O U T I N E S *
*& Form get_value
FORM get_value USING value(p_fieldname)
CHANGING value(p_fieldvalue).
IF v_repid IS INITIAL.
v_repid = syst-repid.
ENDIF.
REFRESH: tbl_dynpfields.
CLEAR: tbl_dynpfields.
tbl_dynpfields-fieldname = p_fieldname.
APPEND tbl_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = v_repid
dynumb = '1000'
TABLES
dynpfields = tbl_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF syst-subrc = 0.
READ TABLE tbl_dynpfields INDEX 1.
p_fieldvalue = tbl_dynpfields-fieldvalue.
ENDIF.
REFRESH: tbl_dynpfields.
ENDFORM. " get_value
FORM POPUP_UNIX_FILENAME *
Pops up dialog box to explore the unix filesystem and select a file *
--> VALUE(P_PATH) Path where to start exploring from *
--> VALUE(P_FILENAME) Default filename in the dialog box *
FORM popup_unix_filename CHANGING value(p_path) TYPE unixdir
value(p_filename) TYPE unixfile.
DATA: v_length TYPE i,
v_filename TYPE unixfile,
v_directory LIKE draw-filep,
v_file LIKE draw-filep.
IF p_filename(1) = '/' OR
p_path IS INITIAL.
v_filename = p_filename.
ELSE.
v_length = strlen( p_path ) - 1.
IF p_path+v_length(1) <> '/'.
CONCATENATE p_path '/' INTO p_path.
ENDIF.
CONCATENATE p_path p_filename INTO v_filename.
ENDIF.
CALL FUNCTION 'Z_UNIX_FILENAME_GET'
EXPORTING
def_filename = v_filename
mask = ',*.'
mode = 'G'
title = 'Get UNIX file...'
IMPORTING
filename = v_filename
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
CHECK syst-subrc = 0.
CALL FUNCTION 'CV120_SPLIT_PATH'
EXPORTING
pf_path = v_filename
IMPORTING
pfx_path = v_directory
pfx_file = v_file
EXCEPTIONS
OTHERS = 1.
CHECK syst-subrc = 0.
IF v_directory = p_path.
p_filename = v_file.
ELSE.
p_filename = v_filename.
ENDIF.
ENDFORM.
FORM SET_VALUE *
Sets the value of a field on the selection screen. *
--> VALUE(P_FIELDNAME) Name of the field on the selection screen*
--> VALUE(P_FIELDVALUE) Value of the field *
FORM set_value USING value(p_fieldname)
value(p_fieldvalue).
IF v_repid IS INITIAL.
v_repid = syst-repid.
ENDIF.
CLEAR: tbl_dynpfields.
tbl_dynpfields-fieldname = p_fieldname.
tbl_dynpfields-fieldvalue = p_fieldvalue.
APPEND tbl_dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = v_repid
dynumb = '1000'
TABLES
dynpfields = tbl_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
ENDFORM.
*& Form upload_data_from_pc_files
This subroutine is used to upload the data from input files
FORM upload_data_from_pc_files.
REFRESH: tbl_matnr.
CLEAR: tbl_matnr.
Upload the data from Delphi Materials file
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file1
filetype = 'DAT'
TABLES
data_tab = tbl_matnr
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE e008 WITH 'Materials file'.
Message shown as "Error while reading Materials file"
ENDIF.
IF sy-subrc = 0 AND tbl_matnr[] IS INITIAL.
MESSAGE e013 WITH 'Materials'.
Message shown as "No records found in Materials file"
ENDIF.
DELETE tbl_matnr WHERE matnr = ''.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILE6
filetype = 'DAT'
TABLES
DATA_TAB = TBL_CUST_SA
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE E008 WITH 'Customer/Sales Area Cross Reference file'.
Message shown as "Error while reading Materials file"
ENDIF.
ENDFORM. " upload_data_from_pc_files
*& Form upload_data_from_unix_files
This subroutine is used to upload the data from UNIX files
FORM upload_data_from_unix_files.
REFRESH: tbl_matnr.
CLEAR: tbl_matnr.
Get the complete filename for the Materials file
PERFORM get_full_filename USING pu_file1 CHANGING v_file1.
Open the Materials file
PERFORM open_dataset USING v_file1 'I' 'T' 1.
CHECK syst-subrc = 0.
Read the materials file
DO.
READ DATASET v_file1 INTO tbl_matnr.
IF syst-subrc <> 0.
EXIT.
ENDIF.
Populate the read data into the internal table
APPEND tbl_matnr.
ENDDO.
PERFORM close_dataset USING v_file1.
ENDFORM. " upload_data_from_unix_files
FORM GET_FULL_FILENAME *
Uses the logical path if necessary to get the full filename *
If the filename already has a directory specified, that itself will *
be the full filename *
Else the logical path for Conversions will be prefixed to the given *
filename *
FORM get_full_filename USING value(p_file) TYPE unixfile
CHANGING value(p_fullfile) TYPE unixfile.
DATA: v_length TYPE i.
IF p_file(1) = '/' OR
p_path1 IS INITIAL.
p_fullfile = p_file.
ELSE.
v_length = strlen( p_path1 ) - 1.
IF p_path1+v_length(1) = '/'.
CONCATENATE p_path1 p_file INTO p_fullfile.
ELSE.
CONCATENATE p_path1 '/' p_file INTO p_fullfile.
ENDIF.
ENDIF.
ENDFORM.
FORM OPEN_DATASET *
Opens dataset in the specified mode *
--> VALUE(P_FILE) Name of file to be opened *
--> VALUE(P_IOMODE) 'I' for Input / 'O' for Output *
--> VALUE(P_BTMODE) 'T' for Text / 'B' for Binary *
--> VALUE(P_LEVEL) If set to > 1, will write error message to *
list Else will supress the error message but *
will be available in SYST-MSGV1 *
FORM open_dataset USING value(p_file) TYPE unixfile
value(p_iomode) TYPE c
value(p_btmode) TYPE c
value(p_level) TYPE i.
DATA: v_rc LIKE syst-subrc,
v_msg(100),
v_listmsg(100).
IF p_iomode = 'O'.
IF p_btmode = 'B'.
OPEN DATASET p_file FOR OUTPUT IN BINARY MODE MESSAGE v_msg.
ELSE.
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE MESSAGE v_msg.
ENDIF.
ELSE.
IF p_btmode = 'B'.
OPEN DATASET p_file FOR INPUT IN BINARY MODE MESSAGE v_msg.
ELSE.
OPEN DATASET p_file FOR INPUT IN TEXT MODE MESSAGE v_msg.
ENDIF.
ENDIF.
IF syst-subrc <> 0.
v_rc = syst-subrc.
syst-msgv1 = v_msg.
IF p_level > 0.
CONCATENATE 'Unable to open' p_file
INTO v_listmsg
SEPARATED BY space.
IF p_iomode = 'O'.
CONCATENATE v_listmsg 'for Output'
INTO v_listmsg
SEPARATED BY space.
ELSE.
CONCATENATE v_listmsg 'for Input'
INTO v_listmsg
SEPARATED BY space.
ENDIF.
IF p_iomode = 'B'.
CONCATENATE v_listmsg 'in Binary mode'
INTO v_listmsg
SEPARATED BY space.
ELSE.
CONCATENATE v_listmsg 'in Text mode'
INTO v_listmsg
SEPARATED BY space.
ENDIF.
WRITE: / v_listmsg.
WRITE: /3 '--', v_msg.
syst-subrc = v_rc.
ENDIF.
ENDIF.
ENDFORM.
FORM CLOSE_DATASET *
Closes dataset *
--> VALUE(P_FILE) Name of the file to be closed *
FORM close_dataset USING value(p_file) TYPE unixfile.
CLOSE DATASET p_file.
ENDFORM.
*& Form check_input_data
This subroutine is used to check the data from X Ref files
FORM check_input_data.
DESCRIBE TABLE tbl_matnr LINES v_count.
Use the material conversion routine to pad the material numbers
with zeroes
LOOP AT tbl_matnr.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = tbl_matnr-matnr
IMPORTING
output = tbl_matnr-matnr
EXCEPTIONS
length_error = 1
OTHERS = 2.
TRANSLATE tbl_matnr-matnr TO UPPER CASE.
MODIFY tbl_matnr.
ENDLOOP.
Get the materials from SAP database using the input materials
IF NOT tbl_matnr[] IS INITIAL.
SORT tbl_matnr BY matnr.
SELECT matnr FROM mara
INTO TABLE tbl_mara
FOR ALL ENTRIES IN tbl_matnr
WHERE matnr = tbl_matnr-matnr.
SORT tbl_mara BY matnr.
ENDIF.
Check the existence of input materials in SAP database
LOOP AT tbl_matnr.
READ TABLE tbl_mara WITH KEY matnr = tbl_matnr-matnr
BINARY SEARCH.
IF sy-subrc <> 0.
CONCATENATE 'Material' tbl_matnr-matnr 'does not exist'
INTO tbl_error-error_text
SEPARATED BY space.
APPEND tbl_error.
CLEAR tbl_error.
DELETE tbl_matnr.
ENDIF.
ENDLOOP.
ENDFORM. " check_input_data
*& Form get_sd_sa_data
This subroutine is used to get the SD Scheduling data from database
FORM get_sd_sa_data.
*begin of changes - DN3K923909
DATA: tbl_vbep LIKE tbl_vbep_forecast OCCURS 0 WITH HEADER LINE,
tbl_vblb LIKE tbl_vblb_forecast OCCURS 0 WITH HEADER LINE.
*end of changes - ND3K923909
REFRESH: tbl_vbap_vapma, tbl_vbpa, tbl_vblb_forecast,
tbl_vblb_jit, tbl_vbep_forecast, tbl_vbep_jit.
CLEAR: tbl_vbap_vapma, tbl_vbpa, tbl_vblb_forecast,
tbl_vblb_jit, tbl_vbep_forecast, tbl_vbep_jit.
Get the Scheduling Agreements
SELECT avbeln aposnr
a~vgbel
AAUART avkorg avtweg aspart a~kunnr
a~ablfz
A~MATNR
a~pstyv
a~werks
a~lgort
a~vstel
ATRVOG BVBTYP BVSBED BBSTNK B~KTEXT
FROM VAPMA AS A INNER JOIN VBAK AS B
ON bvbeln = avbeln
INTO TABLE tbl_vbap_vapma
FOR ALL ENTRIES IN tbl_mara
WHERE a~matnr = tbl_mara-matnr
Begin of Changes - TIR-40266
AND a~vkorg IN s_vkorg
AND a~werks IN s_werks
End of Changes - TIR-40266
AND A~TRVOG = '3'
AND B~VBTYP IN S_VBTYP. "Murali Poli
and a~abgru = ''
and b~gueen >= p_gueen.
SORT tbl_vbap_vapma BY vbeln posnr.
IF NOT tbl_vbap_vapma[] IS INITIAL.
SELECT VBELN POSNR VGBEL ABLFZ PSTYV LGORT VSTEL FROM VBAP
INTO TABLE TBL_VBAP FOR ALL ENTRIES IN TBL_VBAP_VAPMA
WHERE VBELN = TBL_VBAP_VAPMA-VBELN
AND POSNR = TBL_VBAP_VAPMA-POSNR.
LOOP AT TBL_VBAP_VAPMA.
READ TABLE TBL_VBAP WITH KEY VBELN = TBL_VBAP_VAPMA-VBELN
POSNR = TBL_VBAP_VAPMA-POSNR.
IF SY-SUBRC = 0 .
TBL_VBAP_VAPMA-VBELN = TBL_VBAP-VBELN.
TBL_VBAP_VAPMA-POSNR = TBL_VBAP-POSNR.
TBL_VBAP_VAPMA-VGBEL = TBL_VBAP-VGBEL.
TBL_VBAP_VAPMA-ABLFZ = TBL_VBAP-ABLFZ.
TBL_VBAP_VAPMA-PSTYV = TBL_VBAP-PSTYV.
TBL_VBAP_VAPMA-LGORT = TBL_VBAP-LGORT.
TBL_VBAP_VAPMA-VSTEL = TBL_VBAP-VSTEL.
MODIFY TBL_VBAP_VAPMA .
ENDIF.
ENDLOOP.
tbl_vbap_vapma_temp[] = tbl_vbap_vapma[].
*--Begin of UnCommentDIR-51476-DN3K932648
-------------- Begin of Comment ----------- CCR-50124 DN3K928457
SORT tbl_vbap_vapma_temp BY vbeln.
DELETE ADJACENT DUPLICATES FROM tbl_vbap_vapma COMPARING vbeln.
-------------- End of Comment ----------- CCR-50124 DN3K928457
*--End of UnCommentDIR-51476-DN3K932648
*--Begin of CommentDIR-51476-DN3K932648
-------------- Begin of Insert ----------- CCR-50124 DN3K928457
Duplicate Line Items are being deleted.
SORT tbl_vbap_vapma BY vbeln posnr.
DELETE ADJACENT DUPLICATES FROM tbl_vbap_vapma COMPARING vbeln posnr.
The field for contract in SA is being modified for uniqueness
loop at tbl_vbap_vapma.
clear: v_vgbel, v_posnr.
v_vgbel = tbl_vbap_vapma-vgbel.
v_posnr = tbl_vbap_vapma-posnr.
if not v_vgbel is initial .
shift v_vgbel left deleting leading v_zero.
shift v_posnr left deleting leading v_zero.
v_posnr = v_posnr / 10.
condense: v_vgbel, v_posnr.
if v_posnr le 9.
concatenate v_vgbel '0' v_posnr into v_vgbel.
else.
concatenate v_vgbel v_posnr into v_vgbel.
endif.
endif.
tbl_vbap_vapma-vgbel = v_vgbel.
modify tbl_vbap_vapma.
endloop.
-------------- End of Insert ----------- CCR-50124 DN3K928457
*--End of CommentDIR-51476-DN3K932648
Get the Partner details
select vbeln posnr parvw kunnr
*Start of Murali Poli
SELECT VBELN POSNR INCO1 INCO2
INTO TABLE TBL_VBKD
FROM VBKD
FOR ALL ENTRIES IN TBL_VBAP_VAPMA
WHERE VBELN = TBL_VBAP_VAPMA-VBELN.
and posnr = tbl_vbap_vapma-posnr.
*End of Murali Poli
SELECT vbeln posnr parvw kunnr lifnr "DN3K923909
INTO TABLE tbl_vbpa
FROM vbpa
FOR ALL ENTRIES IN tbl_vbap_vapma_temp
WHERE vbeln = tbl_vbap_vapma_temp-vbeln
AND parvw IN ('WE', 'SP').
*begin of changes - DN3K923909
select vbeln posnr abart abefz labnk abrdt gjkun vjkun
into table tbl_vblb_forecast
from vblb
for all entries in tbl_vbap_vapma
where vbeln = tbl_vbap_vapma-vbeln
and posnr = tbl_vbap_vapma-posnr
and abrli = '0000'
and abart = '1'.
SELECT vbeln posnr abart abefz labnk abrdt gjkun vjkun
INTO TABLE tbl_vblb
FROM vblb
FOR ALL ENTRIES IN tbl_vbap_vapma
WHERE vbeln = tbl_vbap_vapma-vbeln
AND posnr = tbl_vbap_vapma-posnr
AND abrli = '0000'
AND abart IN ('1','2').
SELECT vbeln posnr etenr edatu ezeit wmeng prgrs abart
INTO TABLE tbl_vbep
FROM vbep
FOR ALL ENTRIES IN tbl_vbap_vapma
WHERE vbeln = tbl_vbap_vapma-vbeln
AND posnr = tbl_vbap_vapma-posnr
AND abart IN ('1','2').
Get the current Forecast delivery schedule
tbl_vblb_forecast[] = tbl_vblb[].
DELETE tbl_vblb_forecast WHERE abart = '2'.
Get the current Forecast Schedule lines
tbl_vbep_forecast[] = tbl_vbep[].
DELETE tbl_vbep_forecast WHERE abart = '2'.
Get the current JIT delivery Schedule
select vbeln posnr abart abefz labnk abrdt gjkun vjkun
into table tbl_vblb_jit
from vblb
for all entries in tbl_vbap_vapma
where vbeln = tbl_vbap_vapma-vbeln
and posnr = tbl_vbap_vapma-posnr -
Help adding current Date and Time stamp to file name
I need help with my script adding current Date and Time stamp to file name.
This is my file name = myfile.htm
I would like to save it as = myfile.htm 8/29/2007 11:41 AM
This is my script:
<script>
function doSaveAs(){
if (document.execCommand){
document.execCommand('SaveAs','1','myfile.htm')
else {
alert("Save-feature available only in Internet Exlorer 5.x.")
</script>
<form>
<input type="button" value="Click here to Save this page for your record" onClick="doSaveAs()"
</form>
Thank youI agree, I guess I overlooked that!
I would like to save it as = myfile 8/29/2007 11:41 AM .htm
I need help with my script adding current Date and Time stamp to file name.
This is my file name = myfile.htm
I would like to save it as = myfile 8/29/2007 11:41 AM .htm
This is my script:
<script>
function doSaveAs(){
if (document.execCommand){
document.execCommand('SaveAs','1','myfile.htm')
else {
alert("Save-feature available only in Internet Exlorer 5.x.")
</script>
<form>
<input type="button" value="Click here to Save this page for your record" onClick="doSaveAs()"
</form> -
Add Data Channel Headings to Output File
I have seen several threads discussing how to get names on the column headers when outputting dynamic data to a file and thought I would give a simple example of how to do this.
The example generates a Y=2X as 2 data flows and sends them to an X-Y graph and a text output file.
It is necessary to convert the dynamic data to a waveform and use the waveform attribute VI to add the attribute named NI_ChannelName.
The waveform is then converted back to dynamic data.
This is the solution I worked out and would appreciate confirmation from more expert users if this is the best way.
Colin
Solved!
Go to Solution.
Attachments:
File Output Test 1.vi 136 KBHi Colin
I've been taking a look at your VI today and just wondered if you could define what you mean by the 'best way'? Do you mean in terms of the speed of running the VI, memory allocation or another factor?
If you could let me know, then I'll look into how best to optimise the VI. Looking forward to hearing back from you,
Best Regards
Jeremy T
Technical Marketing Engineer
National Instruments UK & Ireland -
How to load date and time from text file to oracle table through sqlloader
hi friends
i need you to show me what i miss to load date and time from text file to oracle table through sqlloader
this is my data in this path (c:\external\my_data.txt)
7369,SMITH,17-NOV-81,09:14:04,CLERK,20
7499,ALLEN,01-MAY-81,17:06:08,SALESMAN,30
7521,WARD,09-JUN-81,17:06:30,SALESMAN,30
7566,JONES,02-APR-81,09:24:10,MANAGER,20
7654,MARTIN,28-SEP-81,17:24:10,SALESMAN,30my table in database emp2
create table emp2 (empno number,
ename varchar2(20),
hiredate date,
etime date,
ejob varchar2(20),
deptno number);the control file code in this path (c:\external\ctrl.ctl)
load data
infile 'C:\external\my_data.txt'
into table emp2
fields terminated by ','
(empno, ename, hiredate, etime, ejob, deptno)this is the error :
C:\>sqlldr scott/tiger control=C:\external\ctrl.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Mon May 31 09:45:10 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 5
C:\>any help i greatly appreciated
thanks
Edited by: user10947262 on May 31, 2010 9:47 AMload data
infile 'C:\external\my_data.txt'
into table emp2
fields terminated by ','
(empno, ename, hiredate, etime, ejob, deptno)Try
load data
infile 'C:\external\my_data.txt'
into table emp2
fields terminated by ','
(empno, ename, hiredate, etime "to_date(:etime,'hh24:mi:ss')", ejob, deptno)
this is the error :
C:\>sqlldr scott/tiger control=C:\external\ctrl.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Mon May 31 09:45:10 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 5
C:\>
That's not an error, you can see errors within log and bad files. -
How to get last modified date and time of a file which is in apache server.
Hi ,
I need to get last modified date and time of a file in remote machine.
This file is in remote machine which has apache server installed.
I am trying to get this information by connecting to apache server from client by giving absolute URI of the file to file object.
URI is got from apache server URL by using toURI method.
when I use lastModified method , its throwing exception , because scheme of URI is not file.
I can't give scheme as file because ftp server is not installed on that server
Is there any other way to get this information .No, unless you can use an FTP client.
-
How to run the report and show the output in excel file
salam
how to run the report and show the output in excel file,
how to run the report and print the o/p via printer
how to run the report and send the o/p via mail
thank u allHi,
There are Parameters DESTTYPE, DESFORMAT and DESNAME. You can set these parameters to get as you want.
1) Output in Excel File
ADD_PARAMETER(PL_ID, 'DESTYPE', TEXT_PARAMETER, 'FILE');
ADD_PARAMETER(PL_ID, 'DESFORMAT', TEXT_PARAMETER, 'DELIMITED');
ADD_PARAMETER(PL_ID, 'DESNAME', TEXT_PARAMETER, '<file_name>.XLS');2) output to printer
ADD_PARAMETER(PL_ID, 'DESTYPE', TEXT_PARAMETER, 'PRINTER');
ADD_PARAMETER(PL_ID, 'DESNAME', TEXT_PARAMETER, '<printer_name>');3) Email - Have to configure SMTP and all. ( i didn't checked it)
ADD_PARAMETER(PL_ID, 'DESTYPE', TEXT_PARAMETER, 'MAIL');
ADD_PARAMETER(PL_ID, 'DESNAME', TEXT_PARAMETER, '<email_id>');Regards,
Manu.
If this answer is helpful or correct, please mark it. Thanks. -
Submitting xml data and thereby kicking off LiveCycle Process
I have a simple form where I collect the data and put it in a field which contains xml. I also have a process that should be started when I click a button on the form. Hence I have made the databinding for the process SOAP endpoint and have made the binding to the xml-text field in the form.
However something is wrong, because nothing happens when I click the button.
So how do I submit xml-data to a LiveCycle process to kick it off through the form.
Sincerely
KimDear Mr. Ram KM,
The business mentioned above by you was absolutely perpect.
Adobe LiveCycle® ES (Enterprise Suite) is an integrated server solution that blends data capture, information assurance, document output, process management, and content services.
I may guess you have to install ADOBE LIVECYCLE WORKBENCH ES. The Adobe liveCycle Designer ES comes with Workbench ES once you installed. Please go through the below information, you may get some idea.
1. Significance of folders in Documentum Repository (for all regions)
WorkBench -> where all work in progress or finalized templates should reside. Designer must carry his/her development of Form/Template design in this folder.
Schema -> where the XML Schema (Using which data needs to bound to the template) should reside. This schema should be the same across the entire region (dev, UAT, Prod).
Templates -> This is the run time folder. CPR application points to this folder while searching for templates. Designer should never work on this folder or move/copy any template from WorkBench to this folder. This action will be taken care of by CPR application.
Master Fragment Library -> All the fragments should reside inside this folder. Once one fragment is changed in this folder then change will be reflected immediately to all the templates that use this fragments.
NEW TEMPLATE DESIGN
2. Design approach through workbench ES.
Designer selects UAT region through WorkBench ES to do the development of the Forms/Templates.
Designer opens up an existing form/letter or creates a new form/letter through designer in Workbench ES
He/She caries out the design (forms/letters) in Workbench folder.
He/She carries out the design of fragments in Master Fragment Library folder.
Once designer is satisfied with design he/she right clicks on the document and goes to the history popup.
Select the latest document in the list and click on Save as button in the popup screen to save it to the local hard disk or any file system.
Designer now goes to CPR Application and click on Add button.
The Add popup opens up.
Designer clicks on Browse button and adds the letter/forms she had downloaded to his/her disk and adds corresponding Meta data. He/She then hits Done. At this point behind the scene CPR application puts the corresponding letter/Form into Templates folder with all the meta data set.
The UAT test on the newly uploaded templates then happens.
Once the UAT is successful then the corresponding templates need to be promoted to Production.
First Step: Promoting new Fragments to Production
Administrator directly logs into Production fragment library folder and creates the fragments again in production. This needs to be done very carefully as this fragments will be available immediately for end users (on click of Save in the designer).
Note: The downloaded fragments (from UAT region) can be moved to production directly using drag and drop feature of Workbench ES.
Second Step: Promoting new templates to Production
If UAT is successful Administrator then uploads the template file into production the way he/she did in UAT region. He/she needs to put appropriate meta data in production also.
EXISTING TEMPLATE MODIFICATION
3. Design approach through workbench ES.
Designer selects UAT region through WorkBench ES to do the change of the existing Forms/Templates.
Designer opens up an existing form/letter or creates a new form/letter through designer in Workbench ES
He/She caries out the design (forms/letters) in Workbench folder.
He/She carries out the design of fragments in Master Fragment Library folder.
Once designer is satisfied with design he/she right clicks on the document and goes to the history popup..
Select the latest document in the list and click on Save as button in the popup screen to save it to the local hard disk or any file system.
Designer now goes to CPR Application and finds the templates he/she wants to modify.
Designer highlights the corresponding row and hits on Modify.
The Modify popup opens up.
Designer clicks on Browse button and adds the letter/forms she had downloaded to his/her disk and edits corresponding Meta data (if needed). He/She then hits Done. At this point behind the scene CPR application puts the corresponding letter/Form into Templates folder with all the meta data set. Also it inactivates the older version if any.
The UAT test on the newly uploaded templates then happens.
Once the UAT is successful then the corresponding templates need to be promoted to Production.
First Step: Promoting existing Fragments to Production
Administrator directly logs into Production fragment library folder and updates the fragments again in production. This needs to be done very carefully as this fragments will be available immediately for end users (on click of Save in the designer).
Note: The downloaded fragments (from UAT region) can be moved to production directly using drag and drop feature of Workbench ES.
Second Step: Promoting existing templates to Production
If UAT is successful Administrator then uploads the template file into production the way he/she did in UAT region. He/she needs to put appropriate meta data in production also.
FormFragsRenderPdfServlet:
import java.util.Properties;
import java.io.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletOutputStream;
import com.adobe.etech.FileUtils;
import com.adobe.formServer.client.EJBClient;
import com.adobe.formServer.interfaces.*;
import com.adobe.pso.eforms.model.XDPWrapper;
import com.adobe.pso.eforms.model.FragmentMetadata;
import com.adobe.pso.eforms.model.TemplateMetadata;
import com.adobe.pso.eforms.model.XSDReference;
import com.adobe.pso.eforms.util.FormServerDefinition;
import com.adobe.pso.eforms.util.RenderFormOptions;
import com.adobe.pso.eforms.util.RenderUtils;
import com.adobe.pso.eforms.util.XDPUtils;
* @version 1.0
* @author
public class FormFragsRenderPDFServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.err.println("RenderPdfServletScott - doGet");
try {
ServletContext context = this.getServletContext();
// 1. Construct the web app's context url
String contextURL = request.getScheme()
+ "://"
+ request.getServerName()
+ ":"
+ request.getServerPort()
+ request.getContextPath();
// 1a. If making an EJB remote call to FS, construct the JNDI properties object.
Properties jndiProps = new Properties();
jndiProps.setProperty("java.naming.factory.initial","com.ibm.websphere.naming.WsnInitialC ontextFactory");
jndiProps.setProperty("java.naming.factory.url.pkgs","com.ibm.ws.naming");
jndiProps.setProperty("java.naming.provider.url","corbaloc:iiop:127.0.0.1:2809");
// 2. Create FormServerDefinition object to define the form server invocation method
FormServerDefinition fServDef = new FormServerDefinition();
fServDef.setInvocationMethod(FormServerDefinition.EJB_REMOTE);
fServDef.setJndiProperties(jndiProps);
//Specify the path to load the data from
byte[] cXMLData = getBytesFromFile(new File (context.getRealPath("/data/data.xml")));
// 3. Set the various options for rendering the form. The setFormQuery() method establishes the name
// of the temporary file created on the filesystem to hold the "pre-rend -
Variable indent based on xml data using xsl-fo start-indent
I am trying to make a report of a peoplesoft tree which includes xml data to indicate the level of the tree.
I have a template which sort-of works but has some strange behavior. First I set a variable to the value of the treelevel, and multiply by ten to set the value for the indent that I want. I then apply that value for the indent to the start-indent attribute
<?xdoxslt:set_variable($_XDOCTX, 'x', (fld_TREE_LEVEL_NUM)*10)?>
<xsl:attribute name="start-indent" xdofo:ctx="table-cell"><?xdoxslt:get_variable($_XDOCTX, 'x')?></xsl:attribute>
These tags are put in a table row which repeats within a for-each group along with the data to get indented.
The problem is that the indenting seems to work but not consistently and some rows which clearly have different indent levels are printing as if they are at the same level.
Any ideas would be appreciated.Hi! Use xsl:variable:
<xsl:variable name="var"><?fld_TREE_LEVEL_NUM*10?></xsl:variable>
<xsl:attribute name="start-indent" xdofo:ctx="table-cell"><xsl:value-of select="$var" /></xsl:attribute> -
How to group data and assign cell names using Excel templates
Hi all,
reading the article "Real Excel Templates 1.5" on the Tim Dexter's Blog, I found that I need hierarchical data for Excel templates. So only in this way I can group my data.
My hierarchy is composed by 3 levels:
lev 1 DESTINATION: is the higher level that groups SERVICES and COUNTRY
lev 2 SERVICES: is the level that groups the countries
lev 3 COUNTRY: is the lowest level with the COUNTRY, CALLS and CALLS_MINUTES details
An example of my hierarchy is this:
lev 1 INTERNATIONAL
lev 2 INTERNATIONAL FIXED
lev 3 Albania 90 438,15
lev 3 Armenia 1 16,95
lev 2 INTERNATIONAL MOBILE
lev 3 Albania Mobile 161 603,35
lev 3 Australia Mobile 6 34,38
lev 1 NATIONAL
lev 2 HELLAS LOCAL
lev 3 Hellas Local 186,369 707940,6
lev 2 HELLAS MOBILE
lev 3 Hellas Mobile Cosmote 31,33 43856,97
lev 3 Hellas Mobile Q-Telecom 2,398 4343,78
lev 2 HELLAS NATIONAL
lev 3 Hellas Long Distance 649 1499,55
lev 1 INTERNET
lev 2 INTERNET CALLS
lev 3 Cosmoline @Free 79 2871,3
So, my data template is the following (with exactly the hierarchy I want for my data):
<dataTemplate name="emp" description="destinations" dataSourceRef="GINO_DB">
<dataQuery>
<sqlStatement name="Q1">
<![CDATA[SELECT 1 TOTAL_CALLS, 2 TOTAL_CALLS_MIN from dual ]]>
</sqlStatement>
<sqlStatement name="Q2">
<![CDATA[SELECT dest.ID_DESTINATION, dest.DESC_DEST from ale.AAA_DESTINATION dest order by dest.ID_DESTINATION ]]>
</sqlStatement>
<sqlStatement name="Q3">
<![CDATA[SELECT ser.ID_SERVICE,
ser.ID_DEST,
ser.DESC_SERVICE,
count.ID_COUNTRY,
count.ID_SERV,
count.COUNTRY,
count.CALLS,
count.CALLS_MIN
from ale.AAA_SERVICE ser, ale.AAA_COUNTRY count
where ser.ID_SERVICE= count.ID_SERV
and ID_DEST = :ID_DESTINATION
order by ser.ID_SERVICE ]]>
</sqlStatement>
</dataQuery>
<dataStructure>
<group name="G_TOT" source="Q1">
<element name="TOTAL_CALLS" value="G_COUNTRY.CALLS" function="SUM()"/>
<element name="TOTAL_CALLS_MIN" value="G_COUNTRY.CALLS_MIN" function="SUM()"/>
<group name="G_DEST" source="Q2">
<element name="DESC_DEST" value="DESC_DEST"/>
<element name="DEST_CALLS_SUBTOTAL" value="G_COUNTRY.CALLS" function="SUM()"/>
<element name="DEST_CALLS_MIN_SUBTOTAL" value="G_COUNTRY.CALLS_MIN" function="SUM()"/>
<group name="G_SERV" source="Q3">
<element name="DESC_SERVICE" value="DESC_SERVICE"/>
<element name="SERV_CALLS_SUBTOTAL" value="G_COUNTRY.CALLS" function="SUM()"/>
<element name="SERV_CALLS_MIN_SUBTOTAL" value="G_COUNTRY.CALLS_MIN" function="SUM()"/>
<group name="G_COUNTRY" source="Q3">
<element name="COUNTRY" value="COUNTRY"/>
<element name="CALLS" value="CALLS"/>
<element name="CALLS_MIN" value="CALLS_MIN"/>
</group>
</group>
</group>
</group>
</dataStructure>
</dataTemplate>
Not considering the CALLS and CALLS_MIN details (I focused only on the COUNTRY which is as the same level), with this data template, making tests on my excel template, I noticed that I can group ONLY two nested levels using the format XDO_GROUP_?group_name?
XDO_GROUP_?G_DEST?
XDO_GROUP_?G_SERV?
or
XDO_GROUP_?G_DEST?
XDO_GROUP_?G_COUNTRY?
or
XDO_GROUP_?G_SERV?
XDO_GROUP_?G_COUNTRY
If I try to group all the three level together in this order
XDO_GROUP_?G_DEST?
XDO_GROUP_?G_SERV?
XDO_GROUP_?G_COUNTRY
I don't have the output I would like to have.....
Practically, in my excel I have 3 rows with the following labels
DESTINATION (called XDO_?DESC_DEST? - =Sheet1!$A$3
SERVICE (called XDO_?DESC_SERVICE? - =Sheet1!$A$4
COUNTRY (called XDO_?COUNTRY? - =Sheet1!$A$5)
where
XDO_GROUP_?G_DEST? (=Sheet1!$A$3:$B$5)
XDO_GROUP_?G_SERV? (=Sheet1!$A$4:$B$5)
XDO_GROUP_?G_COUNTRY (=Sheet1!$A$5:$B$5)
I noticed that if I don't use the last one (XDO_GROUP_?G_COUNTRY), my output is correct even if I don't have more than one country for each service....As soon as I put XDO_GROUP_?G_COUNTRY....I loose all the 2nd level and the most of times the 3rd level too....
So...I think that the problem is how I choose the excel cells when I assign the XDO_GROUP_?group_name?
Anybody had made some tests, or can help me ???? I'm becoming crazy.....
Any help will be appreciated
Thanks in advance
AlexBut how can I use tags XDO_GROUP_?? to group data correctly using hierarchial xml, I don't want to use flat XML.
Yep, I using Template Builder in Excel to run reports localy, and output is wrong
It's seems that groups couldn't define the level of nesting, I think...
How can I write it in XDO_METADATA sheet?
Though I have hierarchial XML and groups should define nesting level correctly.
I have no clue..... -
Sales - Quoting Functionality - XML Publisher and XSL.
Hi ,
We have changed output in Quoting to use XML Publisher instead of Reports Server.
How can we view the XML tags to create the XSL file?
Its possible to see XML output from PO's , SOA's etc when printed vis Concurrent Mgr and Oracle Forms but the raw XML is not available when using in Sales and Printing a Quote ( uses sample xsl in XML Publisher at the moment...Am formatting this.. but have no raw xml).
Any ideas?
Cheers
StephenI know what I can do in RTF and maybe it´s enough:
1. Ensure you are using both tabs of the help text, you can start in Status Bar and continue with Help Key.
2. You can also use multiple fields one after another.
3. If you fill all of that and need more space I would consider moving the function out into its own XSL template and register it as a sub template and reference it from your main template. This is especially useful if you are going to need the same function across multiple templates.
My problem was why I can´t use XSL-FO - XML in XMLSPY, have´nt anybody tried to go out of the WORD-RTF and code som XSL? Maybe it´s not possible and I have to use WORD-RTF.
/Daniel -
Graphs: Is it possible to take XML Data and display it as a graph in a LC Form?
I am currently using LC ES2 Designer 9 to create PDF reports from XML data. We would also like to incorporate graphs into the PDFs. Has anyone done this or know if it is possible using LiveCycle?
ThanksWhat I've seen, is people using a component to render the graph (Flex Charting or something else) and then put that rendered graph in the form data before it's being merged with the template.
Jasmin -
Calculate end date from inputs : start date and number of months
Hello Experts,
I have a start date and number of months from which i need to calculate the end date.
For Eg: start date = 03-12-2008
no. of months = 48
Ans: end date = 03-12-2012
Please help me.requirement is no different from what is stated in the previous thread.
To elaborate further, I'm looking for some Function Module or some relevant alternative to calculate the future date.
Future date is calculated using a start date input and No. of months.
As stated in the example in my previous thread.
For eg:
Inputs to FM : Start date : 03-12-2008
No. Of months : 48 months
Output from FM: Future Date : 03-12-2012
Looking forward for your reply. -
Create XML or Create XSL? Output HTML
Which is the most logical/fastest solution? Creating a dynamic XML Document by an XSQL query and apply a master stylesheet to obtain HTML output, or Create a dynamic stylesheet(XML Document) and apply to a master XML Document to obtain HTML?
Any suggestions or direction to this question would be of great help.
null<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Manish Mahajan ([email protected]):
Which is the most logical/fastest solution? Creating a dynamic XML Document by an XSQL query and apply a master stylesheet to obtain HTML output, or Create a dynamic stylesheet(XML Document) and apply to a master XML Document to obtain HTML?
Any suggestions or direction to this question would be of great help.
<HR></BLOCKQUOTE>
IMO here the shorter path:
- Designs your web page, with your favorite HTML tool, for example Dreamweaver.
- Converts it with XSplit[url] utility from. It takes a standard html file with special tags for making dynamically generated tags, and generates the XSL,the XML example and the DTD.
- At last, make the xsql page which generate the same XML generated by the XSplit as demo.
Best regards, Marcelo.
null
Maybe you are looking for
-
Load:Class * not found - in portal
In the webgui /portal a link is provided. when you click the link , which is mapped with the transaction code of the ABAP program. gets displayed. THis program is used to download PO into the File server. so File output path is given. The user uses F
-
...monitoring HD...
...I will be filming a project in HD and would like to monitor the result on HDTV. 720P or 1080i? Can monitoring work with a Canopus ADVC110 converter? If anything else I would like to know. Thanks to all.
-
Duplicate Items in Recent Items menu
HI, Just recently (in the last couple of weeks) I have suddenly been getting duplicate entries in the recent items folder (not in the apple menu as has been discussed elsewhere). I have 2 entries for Disk Utility, ITunes, Terminal etc. I have checked
-
I have inherited a huge project in RoboHelp which contains multiple map files. One of the map files is the custom map file that was apparently imported. This is the only one I need, yet there is also a BSSCDefault.h. When I right click to delete, it
-
How to Compare Two Oracle 10g Form(FMB) file.
Hi, One developer had done some changes in one file called N004 version 2. I have done some changes in N004 version 3. If I like to see difference between two Oracle Form Version(FMB) then How can we see them..? Thanks, Div