FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour impossible Error
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
impossible Error
Posted: Thu Nov 27, 2025 06:44 AM

hi,

got to link File using

link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:libucrt /NODEFAULTLIB:msvcrt /force:multiple

but now i got a Impossible Error

===========
Path and name: D:\ALASKA\ZUGFERD\IMPORT.exe (64 bits)
Size: 5,729,792 bytes
Compiler version: Harbour 3.2.0dev (r2104281802)
FiveWin version: FWH 24.07
C compiler version: Microsoft Visual C 19.32.31332 (64-bit)
Windows 10 64 Bits, version: 6.2, Build 9200

Time from start: 0 hours 0 mins 0 secs
Error occurred at: 11/27/25, 07:34:27
Error description: Error DBCMD/2001 Workarea not in use: DBAPPEND

Stack Calls

Called from: => DBAPPEND( 0 )
Called from: IMPORT.prg => IMPORTINVOICE( 42 )

39   USE TAX_SUM NEW exclusiv
40   ZAP
41   FOR EACH cTax IN ExtractTaxes( cXml )
42      APPEND BLANK
greeting,

Jimmy
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: impossible Error
Posted: Thu Nov 27, 2025 09:40 AM

hi,
have DEBUG it using HMG

#include <hmg.ch>

/* ============================================================================
   Erweiterung: Steuerzusammenfassung (BT-95–BT-102) und Zahlungsbedingungen (BT-20/21)
   ============================================================================ */
* REQUEST HB_GT_WIN 
* REQUEST HB_GT_WIN_DEFAULT
* REQUEST HB_FUN_HB_GTSYS
* REQUEST HB_GT_WIN_DEFAULT           // Console
#require "hbwin"

PROCEDURE MAIN( cXmlFile )
ImportInvoice( cXmlFile )

PROCEDURE ImportInvoice( cXmlFile )
   LOCAL cXml := MemoRead( cXmlFile )
   LOCAL CTAX
   // ------------------- 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 Ctod( SubStr( ExtractTag( cXml, "<udt:DateTimeString format=´102´>", "</udt:DateTimeString>" ), 1, 8 ) )
   REPLACE DOC_TYPE WITH ExtractTag( cXml, "<ram:TypeCode>", "</ram:TypeCode>" )
   REPLACE CURR     WITH ExtractTag( cXml, "<ram:InvoiceCurrencyCode>", "</ram:InvoiceCurrencyCode>" )
   REPLACE TOT_NET  WITH Val( ExtractTag( cXml, "<ram:TaxBasisTotalAmount>", "</ram:TaxBasisTotalAmount>" ) )
   REPLACE TOT_TAX  WITH Val( ExtractTag( cXml, "<ram:TaxTotalAmount", "</ram:TaxTotalAmount>" ) )
   REPLACE TOT_GROS WITH Val( ExtractTag( cXml, "<ram:GrandTotalAmount>", "</ram:GrandTotalAmount>" ) )
   USE

   // ------------------- Payment Terms (BT-20/21) -------------------
   USE PAYMENT NEW exclusiv
   ZAP
   APPEND BLANK
   REPLACE PAY_ID   WITH win_UuidCreateString()
   REPLACE PAYMENT->INV_ID   WITH LastInvoiceId()
   REPLACE PAYMENT->MEANS    WITH ExtractTag( cXml, "<ram:SpecifiedTradeSettlementPaymentMeans><ram:TypeCode>", "</ram:TypeCode>" )
   REPLACE PAYMENT->MEANS_TX WITH "Bank transfer"
   REPLACE PAYMENT->DUE_DATE WITH Ctod( "20240607" ) // aus Text "Zahlbar bis 07.06.2024"
   REPLACE PAYMENT->REF      WITH ExtractTag( cXml, "<ram:SpecifiedTradePaymentTerms><ram:Description>", "</ram:Description>" )
   USE

   // ------------------- Tax Summary (BT-95–BT-102) -------------------
   USE TAX_SUM NEW exclusiv
   ZAP
   FOR EACH cTax IN ExtractTaxes( cXml )
      APPEND BLANK
      REPLACE TS_ID    WITH win_UuidCreateString()
      REPLACE TAX_SUM->INV_ID   WITH LastInvoiceId()
      REPLACE TAX_SUM->VAT_TYP  WITH ExtractTag( cTax, "<ram:TypeCode>", "</ram:TypeCode>" )      // BT-95
      REPLACE TAX_SUM->VAT_CAT  WITH ExtractTag( cTax, "<ram:CategoryCode>", "</ram:CategoryCode>" ) // BT-95
      REPLACE TAX_SUM->RATE     WITH Val( ExtractTag( cTax, "<ram:RateApplicablePercent>", "</ram:RateApplicablePercent>" ) ) // BT-96
      REPLACE TAX_SUM->TAXABLE  WITH Val( ExtractTag( cTax, "<ram:BasisAmount>", "</ram:BasisAmount>" ) ) // BT-101
      REPLACE TAX_SUM->TAX_AMT  WITH Val( ExtractTag( cTax, "<ram:CalculatedAmount>", "</ram:CalculatedAmount>" ) ) // BT-102
   NEXT
   USE

RETURN

/* ------------------- Helper functions ------------------- */
FUNCTION ExtractTag( cXml, cStart, cEnd )
   LOCAL n1, n2
   n1 := At( cStart, cXml )
   IF n1 == 0
      RETURN ""
   ENDIF
   n1 += Len( cStart )
   n2 := HB_At( cEnd, cXml, n1 )
   RETURN AllTrim( SubStr( cXml, n1, n2 - n1 ) )
RETURN ""

FUNCTION ExtractTaxes( cXml )
   LOCAL aTaxes := {}
   LOCAL nPos := 1, n1, n2
   DO WHILE ( n1 := HB_At( "<ram:ApplicableTradeTax>", cXml, nPos ) ) > 0
      n2 := HB_At( "</ram:ApplicableTradeTax>", cXml, n1 )
      AAdd( aTaxes, SubStr( cXml, n1, n2 - n1 ) )
      nPos := n2 + 1
   ENDDO
   RETURN aTaxes
RETURN {}

FUNCTION LastInvoiceId()
   LOCAL cId := ""
   USE INVOICE NEW
   GO BOTTOM
   cId := PAYMENT->INV_ID
   USE
   RETURN cId
RETURN ""

it seem to happend in second Loop of

45 USE TAX_SUM NEW exclusiv
46   ZAP
47   FOR EACH cTax IN ExtractTaxes( cXml )
48      APPEND BLANK

HMG Errorlog File


------------------------------------

Date:11/27/25 Time: 10:19:35
Error DBCMD/2001 Workarea not in use DBAPPEND
Called from DBAPPEND(0)
Called from IMPORTINVOICE(48)
Called from MAIN(13)


------------------------------------

any TIP ?

greeting,

Jimmy
Posts: 137
Joined: Mon Oct 22, 2012 04:43 PM
Re: impossible Error
Posted: Thu Nov 27, 2025 03:59 PM
FUNCTION LastInvoiceId()
   LOCAL cId := ""
   LOCAL nSelect:=Select()
   USE INVOICE NEW
   GO BOTTOM
   cId := PAYMENT->INV_ID
   USE
   Select(nSelect)
   RETURN cId
RETURN ""
Regards



Ing. Anton Lerchster
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: impossible Error
Posted: Fri Nov 28, 2025 04:23 PM

hi,

alerchster wrote:
FUNCTION LastInvoiceId()
   LOCAL cId := ""
   LOCAL nSelect:=Select()
   USE INVOICE NEW
   GO BOTTOM
   cId := PAYMENT->INV_ID
   USE
   Select(nSelect)
   RETURN cId
RETURN ""

seems it was a Typo of COPILOT ...

instead of

   USE INVOICE NEW
   GO BOTTOM
   cId := PAYMENT->INV_ID
   

must be

   USE INVOICE NEW
   GO BOTTOM
   cId := INVOICE->INV_ID
greeting,

Jimmy

Continue the discussion