alguem tem uma ideia de como importar este XML pra dentro de um dataset? <ExportTableDataResponse xmlns="http://sisteplant.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ExportTableDataResult> <root xmlns=""> <table name="Search"> <r> <c name="c0">1</c> <c name="c2">05/09/2014 10:23:00</c> <c name="c3">05/09/2014 00:00:00</c> <c name="c5">PRE</c> <c name="c6">0</c> <c name="c7">1</c> <c name="c8">0</c> <c name="c9">m0000p</c> <c name="c10">ALM06</c> <c name="c11">A1</c> <c name="c12">1,0000</c> <c name="c13">1000,00000</c> <c name="c14">PRE</c> <c name="c15">1</c> <c name="c17">0</c> </r> </table> </root> </ExportTableDataResult>
Tente fazer desta forma... Código: DEFINE VARIABLE cTargetType AS CHARACTER NO-UNDO. DEFINE VARIABLE cFile AS CHARACTER NO-UNDO. DEFINE VARIABLE lFormatted AS LOGICAL NO-UNDO. DEFINE VARIABLE cEncoding AS CHARACTER NO-UNDO. DEFINE VARIABLE cSchemaLocation AS CHARACTER NO-UNDO. DEFINE VARIABLE lWriteSchema AS LOGICAL NO-UNDO. DEFINE VARIABLE lMinSchema AS LOGICAL NO-UNDO. DEFINE VARIABLE lRetOK AS LOGICAL NO-UNDO. DEFINE TEMP-TABLE ttCustomer NO-UNDO LIKE Customer. DEFINE TEMP-TABLE ttOrder NO-UNDO LIKE Order. DEFINE TEMP-TABLE ttInvoice NO-UNDO LIKE Invoice. DEFINE DATASET DSET FOR ttCustomer, ttOrder, ttInvoice DATA-RELATION CustOrd FOR ttCustomer, ttOrd RELATION-FIELDS(CustNum,CustNum) NESTED DATA-RELATION OrdInv FOR ttOrder, ttInv RELATION-FIELDS(OrderNum,OrderNum) NESTED. DEFINE DATA-SOURCE dsCustomer FOR Customer. DEFINE DATA-SOURCE dsOrder FOR Order. DEFINE DATA-SOURCE dsInvoice FOR Invoice. BUFFER ttCustomer:HANDLE:ATTACH-DATA-SOURCE(DATA-SOURCE dsCustomer:HANDLE). BUFFER ttOrder:HANDLE:ATTACH-DATA-SOURCE(DATA-SOURCE dsOrder:HANDLE). BUFFER ttInvoice:HANDLE:ATTACH-DATA-SOURCE(DATA-SOURCE dsInvoice:HANDLE). DATA-SOURCE dsCustomer:FILL-WHERE-STRING = "WHERE Customer.CustNum = 2 ". DATASET DSET:FILL(). ASSIGN cTargetType = "file" cFile = "dset.xml" lFormatted = TRUE cEncoding = ? cSchemaLocation = ? lWriteSchema = FALSE lMinSchema = FALSE. lRetOK = DATASET DSET:WRITE-XML(cTargetType, cFile, lFormatted, cEncoding, cSchemaLocation, lWriteSchema, lMinSchema).
A acho que voce não entendeu, eu não estou querendo criar um arquivo xml, estou tentando importar um arquivo xml pra dentro de um dataset. Só que com esta estrutura de XML nao estou conseguindo fazer.
Blz. desculpa pela minha falha, vou ler com mais atenção. Olhando no Help do progress achei esse outro exemplo: DEFINE VARIABLE cSourceType AS CHARACTER NO-UNDO. DEFINE VARIABLE cReadMode AS CHARACTER NO-UNDO. DEFINE VARIABLE lOverrideDefaultMapping AS LOGICAL NO-UNDO. DEFINE VARIABLE cFile AS CHARACTER NO-UNDO. DEFINE VARIABLE cSchemaLocation AS CHARACTER NO-UNDO. DEFINE VARIABLE cFieldTypeMapping AS CHARACTER NO-UNDO. DEFINE VARIABLE cVerifySchemaMode AS CHARACTER NO-UNDO. DEFINE VARIABLE lRetOK AS LOGICAL NO-UNDO. DEFINE VARIABLE hDSet AS HANDLE NO-UNDO. CREATE DATASET hDSet. ASSIGN cSourceType = "file" cFile = "dset.xml" cReadMode = "empty" cSchemaLocation = "cust-ord-inv.xsd" lOverrideDefaultMapping = ? cFieldTypeMapping = ? cVerifySchemaMode = ?. lRetOK = hDSet:READ-XML(cSourceType, cFile, cReadMode, cSchemaLocation, lOverrideDefaultMapping, cFieldTypeMapping, cVerifySchemaMode