446 lines
24 KiB
Plaintext
446 lines
24 KiB
Plaintext
proc ax_export( doku_id_ref, file_destination, import_ok, user, doc_type_short )
|
|
{
|
|
|
|
if ( ( doc_type_short == "FAKER" ) && ( dok_dat_feld[ 44 ] == "INVOICE_READER" ) )
|
|
{
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Export der Eingangsrechnungen zu Microsoft Dynamics AX
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
call xlog( 4, "AX-EXP: erzeuge Output für Microsoft Dynamics AX ... ")
|
|
|
|
vars ablagepfad = "D\:\\d3\\apps\\fuer_AX\\"
|
|
//vars ablagepfad = "D\:\\d3\\Import\\D3T\\Axapta\\d3scan\\"
|
|
//vars ablagepfad = "\\\\tbbsrv28\\Bereich\\AxaptaImportExport\\DE1\\Eingangsrechnungen\\"
|
|
vars dateiname, anzahl_treffer, i
|
|
|
|
vars system_id, company_code, invoice_number, invoice_date, document_type, posting_date, scan_date, vendor_number, po_numbers, net_amount_invoice_currency
|
|
vars tax_amount, currency, invoicetype, accounting_clerk, verifier, approved_by, wfl_type, wfl_external_state, schluessel, ergebnis, po_numbers_arr[1000]
|
|
vars abteilung, kostenstelle, kostentraeger, gegenkonto, roundoff, enddisc, cashdisc_date, cashdisc_amount
|
|
|
|
vars sz_nr[100]
|
|
vars sz_kuerzel[100]
|
|
vars sz_text[100]
|
|
vars sz_betrag[100]
|
|
|
|
|
|
vars dummy = ""
|
|
|
|
call xlog( 4, "AX-EXP: hole Kopfdaten ... " )
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Kopfdaten
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// Als System-ID wird in Zukunft der Barcode übergeben. Der Barcode kommt vom Scanning
|
|
// in DDF 4.
|
|
if ( dok_dat_feld[ 4 ] == "" )
|
|
{
|
|
system_id = doku_id_ref
|
|
}
|
|
else
|
|
{
|
|
system_id = dok_dat_feld[ 4 ]
|
|
}
|
|
|
|
|
|
dateiname = doku_id_ref ## ".jpl"
|
|
company_code = dok_dat_feld[ 45 ]
|
|
invoice_number = dok_dat_feld[ 22 ]
|
|
invoice_date = dok_dat_feld[ 54 ]
|
|
document_type = "FAKER"
|
|
posting_date = dok_dat_feld[ 55 ]
|
|
scan_date = dok_dat_feld[ 50 ]
|
|
vendor_number = dok_dat_feld[ 82 ]
|
|
po_numbers = dok_dat_feld[ 13 ]
|
|
net_amount_invoice_currency = dok_dat_feld[ 75 ]
|
|
// bruttobetrag doc_field_70
|
|
ergebnis = api_function( "string_replace", net_amount_invoice_currency, ",", "." )
|
|
net_amount_invoice_currency = api_converted_string
|
|
tax_amount = dok_dat_feld[ 70 ]
|
|
ergebnis = api_function( "string_replace", tax_amount, ",", "." )
|
|
tax_amount = api_converted_string
|
|
|
|
////// neue Felder
|
|
roundoff = dok_dat_feld[ 73 ]
|
|
ergebnis = api_function( "string_replace", roundoff, ",", "." )
|
|
roundoff = api_converted_string
|
|
enddisc = dok_dat_feld[ 74 ]
|
|
ergebnis = api_function( "string_replace", enddisc, ",", "." )
|
|
enddisc = api_converted_string
|
|
|
|
|
|
currency = dok_dat_feld[ 43 ]
|
|
invoicetype = dok_dat_feld[ 34 ]
|
|
abteilung = dok_dat_feld[ 27 ]
|
|
kostenstelle = dok_dat_feld[ 23 ]
|
|
kostentraeger = dok_dat_feld[ 24 ]
|
|
gegenkonto = dok_dat_feld[ 21 ]
|
|
accounting_clerk = "" // wird nicht geliefert
|
|
verifier = dok_dat_feld[ 28 ]
|
|
approved_by = dok_dat_feld[ 8 ]
|
|
schluessel = dok_dat_feld[ 48 ]
|
|
wfl_type = dok_dat_feld[ 20 ]
|
|
wfl_external_state = "" // ????
|
|
cashdisc_date = dok_dat_feld[ 57 ]
|
|
cashdisc_amount = dok_dat_feld[ 76 ]
|
|
|
|
|
|
|
|
|
|
call xlog( 4, "AX-EXP: Ablagepfad <:ablagepfad> " )
|
|
call xlog( 4, "AX-EXP: Dateiname <:dateiname> " )
|
|
call xlog( 4, "AX-EXP: ------------------------------------------- " )
|
|
|
|
call xlog( 5, "AX-EXP: system_id <:system_id> " )
|
|
call xlog( 5, "AX-EXP: doku_id <:doku_id_ref> " )
|
|
call xlog( 5, "AX-EXP: company_code <:company_code> " )
|
|
call xlog( 5, "AX-EXP: invoice_number <:invoice_number> " )
|
|
call xlog( 5, "AX-EXP: invoice_date <:invoice_date> " )
|
|
call xlog( 5, "AX-EXP: document_type <:document_type> " )
|
|
call xlog( 5, "AX-EXP: posting_date <:posting_date> " )
|
|
call xlog( 5, "AX-EXP: scan_date <:scan_date> " )
|
|
call xlog( 5, "AX-EXP: vendor_number <:vendor_number> " )
|
|
//call xlog( 5, "AX-EXP: po_numbers <:po_numbers> " )
|
|
|
|
ergebnis = api_function( "string_split", po_numbers, "," )
|
|
if ( ergebnis >= 0 )
|
|
{
|
|
for i = 1 while ( i <= ergebnis ) step 1
|
|
{
|
|
po_numbers_arr[i] = api_splitted_string[i]
|
|
call xlog( 5, "AX-EXP: po_numbers <:po_numbers_arr[:i]> " )
|
|
}
|
|
}
|
|
|
|
call xlog( 5, "AX-EXP: net_amount_invoice_currency <:net_amount_invoice_currency> " )
|
|
call xlog( 5, "AX-EXP: tax_amount <:tax_amount> " )
|
|
call xlog( 5, "AX-EXP: currency <:currency> " )
|
|
call xlog( 5, "AX-EXP: invoice_type <:invoicetype> " )
|
|
call xlog( 5, "AX-EXP: abteilung <:abteilung> " )
|
|
call xlog( 5, "AX-EXP: kostenstelle <:kostenstelle> " )
|
|
call xlog( 5, "AX-EXP: kostentraeger <:kostentraeger> " )
|
|
call xlog( 5, "AX-EXP: gegenkonto <:gegenkonto> " )
|
|
call xlog( 5, "AX-EXP: accounting_clerk <:accounting_clerk> " )
|
|
call xlog( 5, "AX-EXP: verifier <:verifier> " )
|
|
call xlog( 5, "AX-EXP: approved_by <:approved_by> " )
|
|
call xlog( 5, "AX-EXP: schluessel <:schluessel> " )
|
|
call xlog( 5, "AX-EXP: wfl_type <:wfl_type> " )
|
|
call xlog( 5, "AX-EXP: wfl_external_state <:wfl_external_state> " )
|
|
call xlog( 5, "AX-EXP: cashdisc_date <:cashdisc_date> " )
|
|
call xlog( 5, "AX-EXP: cashdisc_amount <:cashdisc_amount> " )
|
|
|
|
|
|
call xlog( 4, "AX-EXP: schreibe Kopfdaten ... " )
|
|
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "System_ID = \":system_id\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "doku_id = \":doku_id_ref\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Company_Code = \":company_code\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Invoice_Number = \":invoice_number\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Invoice_Date = \":invoice_date\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Document_Type = \":document_type\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Posting_Date = \":posting_date\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Scan_Date = \":scan_date\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Vendor_Number = \":vendor_number\" " , "APPEND" )
|
|
//call api_function( "file_add_line", ablagepfad ## dateiname, "PO_Numbers = \":po_numbers\" " , "APPEND" )
|
|
|
|
if ( dok_dat_feld[ 2 ] == "Rechnung mit Bestellbezug" )
|
|
{
|
|
if ( ergebnis >= 0 )
|
|
{
|
|
for i = 1 while ( i <= ergebnis ) step 1
|
|
{
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "PO_Number[:i] = \":po_numbers_arr[:i]\" " , "APPEND" )
|
|
}
|
|
}
|
|
}
|
|
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Net_Amount_Invoice_Currency = \":net_amount_invoice_currency\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Tax_Amount = \":tax_amount\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Currency = \":currency\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Invoice_Type = \":invoicetype\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Accounting_Clerk = \":accounting_clerk\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Verifier = \":verifier\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Approved_By = \":approved_by\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Header_Dimension1 = \":abteilung\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Header_Dimension2 = \":kostenstelle\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Header_Dimension3 = \":kostentraeger\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "Header_ACaccount = \":gegenkonto\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "wfl_type = \":wfl_type\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "wfl_external_state = \":wfl_external_state\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "ROUNDOFF = \":roundoff\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "ENDDISC = \":enddisc\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "CASHDISC_DATE = \":cashdisc_date\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "CASHDISC_AMOUNT = \":cashdisc_amount\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, " " , "APPEND" )
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// sonstige Zuschläge (Kopfebene)
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
if ( dok_dat_feld[ 2 ] == "Rechnung mit Bestellbezug" )
|
|
{
|
|
call xlog( 4, "AX-EXP: hole kopfbezogene Zuschläge (Schlüssel <:schluessel>) ..." )
|
|
|
|
//dbms declare ta_session connection for user 'd3scan' password 'D3_Scan' datasource 'D3T'
|
|
//dbms with connection ta_session
|
|
dbms alias sz_nr, sz_kuerzel, sz_text, sz_betrag
|
|
//dbms with connection ta_session
|
|
dbms sql select sz_nr, sz_kuerzel, sz_text, sz_betrag from ax_sz_kopf where schluessel = :+schluessel order by sz_nr
|
|
anzahl_treffer = @dmrowcount
|
|
//dbms with connection ta_session alias
|
|
dbms alias
|
|
//dbms close connection ta_session
|
|
|
|
if ( anzahl_treffer > 0 )
|
|
{
|
|
for i = 1 while i <= 100 step 1
|
|
{
|
|
if ( sz_kuerzel[i] == "" )
|
|
{
|
|
i = i - 1
|
|
break
|
|
}
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "HEADER_Markup_Code:i = \":sz_kuerzel[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "HEADER_Markup_Desc:i = \":sz_text[:i]\" " , "APPEND" )
|
|
ergebnis = api_function( "string_replace", sz_betrag[ i ], ",", "." )
|
|
sz_betrag[ i ] = api_converted_string
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "HEADER_Markup_Amount:i = \":sz_betrag[:i]\" " , "APPEND" )
|
|
}
|
|
call xlog( 4, "AX-EXP: :i kopfbezogene Zuschläge exportiert." )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, " " , "APPEND" )
|
|
}
|
|
else
|
|
{
|
|
call xlog( 3, "AX-EXP: keine kopfbezogenen Zuschläge gefunden!" )
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Positionsdaten und positionsbezogene sonstige Zuschläge
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
if ( dok_dat_feld[ 2 ] == "Rechnung mit Bestellbezug" )
|
|
{
|
|
|
|
call xlog( 4, "AX-EXP: hole Positionsdaten und positionsbezogene Zuschläge (Schlüssel <:schluessel>) ..." )
|
|
|
|
vars lid_po_number[1000], lid_po_line_number[1000], lid_po_inventtransid[1000], lid_item_number[1000], lid_configid[1000], lid_sizeid[1000]
|
|
vars lid_colorid[1000], lid_delivery_note_number[1000], lid_quantity[1000], lid_unit[1000], lid_discpercent[1000], lid_discamount[1000]
|
|
vars lid_item_amount[1000], lid_amount[1000], lid_approver[1000], sp_ok[1000], pos_nr[1000], sp_e_art_nr[1000], sp_art_besch[1000]
|
|
vars lid_priceunit[1000]
|
|
|
|
|
|
vars lid_markup_code1[1000], lid_markup_desc1[1000], lid_markup_amount1[1000]
|
|
vars lid_markup_code2[1000], lid_markup_desc2[1000], lid_markup_amount2[1000]
|
|
vars lid_markup_code3[1000], lid_markup_desc3[1000], lid_markup_amount3[1000]
|
|
vars lid_markup_code4[1000], lid_markup_desc4[1000], lid_markup_amount4[1000]
|
|
|
|
//dbms declare ta_session2 connection for user 'd3scan' password 'D3_Scan' datasource 'D3T'
|
|
//dbms with connection ta_session2
|
|
dbms alias pos_nr, sp_ok, lid_po_number, lid_po_line_number, lid_po_inventtransid, \
|
|
lid_item_number, sp_e_art_nr, sp_art_besch, lid_delivery_note_number, lid_quantity, lid_item_amount, lid_amount, \
|
|
lid_priceunit, \
|
|
lid_markup_code1, lid_markup_amount1, lid_markup_code2, lid_markup_amount2, \
|
|
lid_markup_code3, lid_markup_amount3, lid_markup_code4, lid_markup_amount4
|
|
|
|
//dbms with connection ta_session2
|
|
dbms sql select pos_nr, sp_ok, sp_best_nr, sp_best_pos, sp_lager_nr, sp_i_art_nr, sp_e_art_nr, \
|
|
sp_art_besch, sp_lief_nr, sp_menge, sp_preis, sp_posbetrag, sp_preismenge, \
|
|
sz_kuerzel_01, sz_betrag_01, \
|
|
sz_kuerzel_02, sz_betrag_02, \
|
|
sz_kuerzel_03, sz_betrag_03, \
|
|
sz_kuerzel_04, sz_betrag_04 from ax_pos_tabelle where schluessel = :+schluessel order by pos_nr
|
|
anzahl_treffer = @dmrowcount
|
|
//dbms with connection ta_session2 alias
|
|
dbms alias
|
|
//dbms close connection ta_session2
|
|
|
|
call xlog( 5, "AX-EXP: Es wurden :anzahl_treffer Treffer gefunden." )
|
|
|
|
if ( anzahl_treffer > 0 )
|
|
{
|
|
for i = 1 while i <= 1000 step 1
|
|
{
|
|
if ( lid_po_number[i] == "" )
|
|
{
|
|
i = i - 1
|
|
break
|
|
}
|
|
|
|
call xlog( 4, "AX-EXP: schreibe Positionszeile :i .... " )
|
|
|
|
|
|
call xlog( 4, "AX-EXP: LID_PO_Number[:i] = \":lid_po_number[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_PO_Line_Number[:i] = \":lid_po_line_number[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_PO_InventTransId[:i] = \":lid_po_inventtransid[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_Item_Number[:i] = \":lid_item_number[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_ConfigId[:i] = \":lid_configid[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_SizeId[:i] = \":lid_sizeid[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_ColorId[:i] = \":lid_colorid[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_Delivery_Note_Number[:i] = \":lid_delivery_note_number[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_Quantity[:i] = \":lid_quantity[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_Unit[:i] = \":lid_unit[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_DiscPercent[:i] = \":lid_discpercent[:i]\" " )
|
|
|
|
call xlog( 4, "AX-EXP: LID_Item_Amount[:i] = \":lid_item_amount[:i]\" " )
|
|
ergebnis = api_function( "string_replace", lid_item_amount[ i ], ",", "." )
|
|
lid_item_amount[ i ] = api_converted_string
|
|
call xlog( 4, "AX-EXP: LID_Item_Amount[:i] = \":lid_item_amount[:i]\" " )
|
|
|
|
call xlog( 4, "AX-EXP: LID_Amount[:i] = \":lid_amount[:i]\" " )
|
|
ergebnis = api_function( "string_replace", lid_amount[ i ], ",", "." )
|
|
lid_amount[ i ] = api_converted_string
|
|
call xlog( 4, "AX-EXP: LID_Amount[:i] = \":lid_amount[:i]\" " )
|
|
|
|
|
|
|
|
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_PO_Number[:i] = \":lid_po_number[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_PO_Line_Number[:i] = \":lid_po_line_number[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_PO_InventTransId[:i] = \":lid_po_inventtransid[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Item_Number[:i] = \":lid_item_number[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_ConfigId[:i] = \":lid_configid[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_SizeId[:i] = \":lid_sizeid[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_ColorId[:i] = \":lid_colorid[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Delivery_Note_Number[:i] = \":lid_delivery_note_number[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Quantity[:i] = \":lid_quantity[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Unit[:i] = \":lid_unit[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_DiscPercent[:i] = \":lid_discpercent[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_DiscAmount[:i] = \":lid_discamount[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Item_Amount[:i] = \":lid_item_amount[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Amount[:i] = \":lid_amount[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_PRICEUNIT[:i] = \":lid_priceunit[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, " " , "APPEND" )
|
|
|
|
call xlog( 4, "AX-EXP: schreibe sonstige Zuschläge für Position :i ... " )
|
|
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_CODE1[:i] = \":lid_markup_code1[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_DESC1[:i] = \":dummy\" " )
|
|
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_AMOUNT1[:i] = \":lid_markup_amount1[:i]\" " )
|
|
ergebnis = api_function( "string_replace", lid_markup_amount1[ i ], ",", "." )
|
|
lid_markup_amount1[ i ] = api_converted_string
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_AMOUNT1[:i] = \":lid_markup_amount1[:i]\" " )
|
|
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_CODE2[:i] = \":lid_markup_code2[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_DESC2[:i] = \":dummy\" " )
|
|
ergebnis = api_function( "string_replace", lid_markup_amount2[ i ], ",", "." )
|
|
lid_markup_amount2[ i ] = api_converted_string
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_AMOUNT2[:i] = \":lid_markup_amount2[:i]\" " )
|
|
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_CODE3[:i] = \":lid_markup_code3[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_DESC3[:i] = \":dummy\" " )
|
|
ergebnis = api_function( "string_replace", lid_markup_amount3[ i ], ",", "." )
|
|
lid_markup_amount3[ i ] = api_converted_string
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_AMOUNT3[:i] = \":lid_markup_amount3[:i]\" " )
|
|
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_CODE4[:i] = \":lid_markup_code4[:i]\" " )
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_DESC4[:i] = \":dummy\" " )
|
|
ergebnis = api_function( "string_replace", lid_markup_amount4[ i ], ",", "." )
|
|
lid_markup_amount4[ i ] = api_converted_string
|
|
call xlog( 4, "AX-EXP: LID_MARKUP_AMOUNT4[:i] = \":lid_markup_amount4[:i]\" " )
|
|
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_CODE1[:i] = \":lid_markup_code1[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_DESC1[:i] = \":dummy\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_AMOUNT1[:i] = \":lid_markup_amount1[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_CODE2[:i] = \":lid_markup_code2[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_DESC2[:i] = \":dummy\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_AMOUNT2[:i] = \":lid_markup_amount2[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_CODE3[:i] = \":lid_markup_code3[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_DESC3[:i] = \":dummy\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_AMOUNT3[:i] = \":lid_markup_amount3[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_CODE4[:i] = \":lid_markup_code4[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_DESC4[:i] = \":dummy\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_MARKUP_AMOUNT4[:i] = \":lid_markup_amount4[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, " " , "APPEND" )
|
|
}
|
|
call xlog( 4, "AX-EXP: :i Positionszeilen exportiert." )
|
|
}
|
|
else
|
|
{
|
|
call xlog( 3, "AX-EXP: keine Positionszeilen gefunden!" )
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
call xlog( 4, "AX-EXP: hole RoB-Zeilen (Schlüssel <:schluessel>) ..." )
|
|
|
|
vars pos_nr[1000], sp_gegen_konto[1000], sp_buchungs_text[1000], sp_kosten_stelle[1000], sp_kosten_traeger[1000], sp_mwst_gruppe[1000], sp_art_mwst_gruppe[1000], sp_mwst_code[1000], sp_projekt[1000], sp_abteilung[1000], sp_posbetrag[1000]
|
|
|
|
dbms alias pos_nr, sp_gegen_konto, sp_buchungs_text, sp_kosten_stelle, sp_kosten_traeger, sp_mwst_gruppe, sp_art_mwst_gruppe, sp_mwst_code, sp_projekt, sp_abteilung, sp_posbetrag
|
|
dbms sql select pos_nr, sp_gegen_konto, sp_buchungs_text, sp_kosten_stelle, sp_kosten_traeger, sp_mwst_gruppe, sp_art_mwst_gruppe, sp_mwst_code, sp_projekt, sp_abteilung, sp_posbetrag \
|
|
from ax_pos_tabelle \
|
|
where schluessel = :+schluessel
|
|
anzahl_treffer = @dmrowcount
|
|
dbms alias
|
|
|
|
//call xlog( 4, "Anzahl Treffer: " ## anzahl_treffer )
|
|
|
|
if ( anzahl_treffer > 0 )
|
|
{
|
|
for i = 1 while i <= anzahl_treffer step 1
|
|
{
|
|
if ( pos_nr[i] == "" )
|
|
{
|
|
i = i - 1
|
|
break
|
|
}
|
|
|
|
call xlog( 4, "AX-EXP: pos_nr " ## pos_nr[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_gegen_konto " ## sp_gegen_konto[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_kosten_stelle " ## sp_kosten_stelle[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_kosten_traeger " ## sp_kosten_traeger[ i ] )
|
|
//call xlog( 4, "AX-EXP: sp_mwst_gruppe " ## sp_mwst_gruppe[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_art_mwst_gruppe " ## sp_art_mwst_gruppe[ i ] )
|
|
//call xlog( 4, "AX-EXP: sp_mwst_code " ## sp_mwst_code[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_projekt " ## sp_projekt[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_abteilung " ## sp_abteilung[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_posbetrag " ## sp_posbetrag[ i ] )
|
|
call xlog( 4, "AX-EXP: sp_buchungs_text " ## sp_buchungs_text[ i ] )
|
|
|
|
//call api_function( "file_add_line", ablagepfad ## dateiname, "HEADER_Markup_Code:i = \":sz_kuerzel[:i]\" " , "APPEND" )
|
|
|
|
//call api_function( "file_add_line", ablagepfad ## dateiname, "LID_ID[:i] = \":i\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_GL_Account[:i] = \":sp_gegen_konto[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Dimension2[:i] = \":sp_kosten_stelle[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Dimension3[:i] = \":sp_kosten_traeger[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Tax_Code[:i] = \":sp_art_mwst_gruppe[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Dimension1[:i] = \":sp_abteilung[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Amount[:i] = \":sp_posbetrag[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Dimension4[:i] = \":sp_projekt[:i]\" " , "APPEND" )
|
|
call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Text[:i] = \":sp_buchungs_text[:i]\" " , "APPEND" )
|
|
|
|
//call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Amount[:i] = \":sp_mwst_code[:i]\" " , "APPEND" )
|
|
//call api_function( "file_add_line", ablagepfad ## dateiname, "LID_Amount[:i] = \":sp_mwst_gruppe[:i]\" " , "APPEND" )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
call xlog( 4, "AX-EXP: :i RoB-Zeilen exportiert." )
|
|
}
|
|
else
|
|
{
|
|
call xlog( 3, "AX-EXP: keine RoB-Zeilen gefunden!" )
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
} |