how to write this Line ?

Post Reply
User avatar
Jimmy
Posts: 1799
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

how to write this Line ?

Post by Jimmy »

hi,

i try to read from XML File

Code: Select all | Expand

 <ram:IssueDateTime>
   <udt:DateTimeString format="102">20240528</udt:DateTimeString>

using this

Code: Select all | Expand

   REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, "<udt:DateTimeString format=´102´>", "</udt:DateTimeString>" ), 1, 8 ) )

but it give me only Error
Image

how to write that Line ?

greeting,
Jimmy
User avatar
mauri.menabue
Posts: 184
Joined: Thu Apr 17, 2008 2:38 pm

Re: how to write this Line ?

Post by mauri.menabue »

hi Jimmy,
try to semplify the expression :

Code: Select all | Expand

   LOCAL dRet
   LOCAL xRet
   LOCAL cRet
   LOCAL c102

   c102 := "´102´"
   
xRet := ExtractTag( cXml, "<udt:DateTimeString format=" + c102 + ">", "</udt:DateTimeString>" )
cRet := SubStr( xRet, 1, 8 )
dRet := Stod( cRet ) REPLACE ISU_DATE WITH dRet

thanks

User avatar
Jimmy
Posts: 1799
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: how to write this Line ?

Post by Jimmy »

hi,

mauri.menabue wrote: Thu Nov 27, 2025 12:06 pm

try to semplify the expression :

THX for help
nice Idee, but still NOT working :(
Image

Code: Select all | Expand

PROCEDURE ImportInvoice( cXmlFile )
   LOCAL cXml := MemoRead( cXmlFile )
   LOCAL CTAX
   LOCAL dRet
   LOCAL xRet
   LOCAL cRet
   LOCAL c102

   c102 := "´102´"
   // ------------------- Invoice Header -------------------
   USE INVOICE NEW exclusiv
   ZAP
   APPEND BLANK
   REPLACE INV_ID   WITH win_UuidCreateString()
   REPLACE INV_NUM  WITH ExtractTag( cXml, "<ram:ID>", "</ram:ID>" )
   *REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, ´<udt:DateTimeString format="102">´, "</udt:DateTimeString>" ), 1, 8 ) )
   xRet := ExtractTag( cXml, "<udt:DateTimeString format=" + c102 + ">", "</udt:DateTimeString>" )
   cRet := SubStr( xRet, 1, 8 )
   dRet := Stod( cRet )
   REPLACE ISU_DATE WITH dRet

it must be this String :

Code: Select all | Expand

<udt:DateTimeString format="102"

but it is this String :

<udt:DateTimeString format="´102´"

i have also try this :

Code: Select all | Expand

 c102 := chr(34)+"102"+CHR(34)
   // ------------------- Invoice Header -------------------
   USE INVOICE NEW exclusiv
   ZAP
   APPEND BLANK
   
* REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, "<udt:DateTimeString format=´102´>", "</udt:DateTimeString>" ), 1, 8 ) ) xRet := ExtractTag( cXml, "<udt:DateTimeString format=" + c102 + ">", "</udt:DateTimeString>" ) cRet := SubStr( xRet, 1, 8 ) dRet := Stod( cRet ) REPLACE ISU_DATE WITH dRet

Image

but still dos NOT work :(

greeting,
Jimmy
User avatar
alerchster
Posts: 154
Joined: Mon Oct 22, 2012 4:43 pm

Re: how to write this Line ?

Post by alerchster »

Code: Select all | Expand

REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, [<udt:DateTimeString format="102">], [</udt:DateTimeString>] ), 1, 8 ) )

maybe

Regards

Ing. Anton Lerchster
User avatar
mauri.menabue
Posts: 184
Joined: Thu Apr 17, 2008 2:38 pm

Re: how to write this Line ?

Post by mauri.menabue »

hi Jimmi,
is problem solved ?
if not try

Code: Select all | Expand

   LOCAL dRet
   LOCAL xRet
   LOCAL cRet
   LOCAL cTagStart 
   LOCAL cTagEnd  

   cTagStart := '<udt:DateTimeString format="102">'
   cTagEnd   := '</udt:DateTimeString>'
   xRet        :=  ExtractTag( cXml, cTagStart, cTagEnd )
   cRet        := SubStr( xRet, 1, 8 )
   dRet        := Stod( cRet )

   REPLACE ISU_DATE WITH dRet

Thanks

User avatar
Jimmy
Posts: 1799
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: how to write this Line ?

Post by Jimmy »

hi,

alerchster wrote: Thu Nov 27, 2025 4:29 pm

Code: Select all | Expand

REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, [<udt:DateTimeString format="102">], [</udt:DateTimeString>] ), 1, 8 ) )

maybe

YES, it work without "quote" ?! :)
THX very much

greeting,
Jimmy
Post Reply