---
sourceDocument: Yokohama – Finanzen und Lieferkette
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/source-to-pay-operations

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama – Finanzen und Lieferkette

ft:clusterId :

    - stpop

bundleId :

    - stpop

workflow :

    - Creator


---

# Führen Sie das Korrekturskript für aus Accounts Payable Operations

# Führen Sie das Korrekturskript für aus Accounts Payable Operations {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 Minuten Lesedauer

Führen Sie das Korrekturskript für eine erfolgreiche Installation von aus Accounts Payable Operations.

## Vorbereitungen

* Installieren `Verarbeitung Von Kreditorenrechnungen `Plugin.
* Führen Sie ein Korrekturskript aus, damit die Ausnahme „unzureichende Mittel" (Header-Betragsabweichung) funktioniert.
* Legen Sie fest Anwendungsbereich Bis Allgemeine Source-to-Pay-Architektur .
* Alle Rechnungen, die der Bestellung zugeordnet sind, müssen im System verfügbar sein, damit die Ausnahme für unzureichende Mittel (Header-Betragsabweichung) funktioniert.
* Stellen Sie sicher, dass Rechnungen dieselbe Währung haben wie die, die der Bestellwährung zugeordnet ist, damit die Ausnahme erfolgreich ausgeführt wird.
* Sie können das Korrekturskript in Batches ausführen, indem Sie den Befehl hinzufügen `gr.setLimit(100000) `Nach der Befehlszeile `gr.addEncodedQuery("in_process_invoiced_amountISEMPTY" `. Führen Sie das Skript in Batches von 100k oder 200k aus.
* Stellen Sie sicher, dass Bestellungen mit aktualisiert werden Rechnungsbetrag in Bearbeitung Und Rechnungsbetrag Felder.  
  Hinweis:  
  Wenn das Korrekturskript für Bestellungen nicht ausgeführt wird, funktioniert die Ausnahme für unzureichende Mittel (Header-Betragsabweichung), die einer Rechnung zugeordnet ist, nicht.

{#run-fix-script-for-apo__ul_gyr_r44_dzb}

Erforderliche Rolle: Administrator

## Prozedur

1. Navigieren zu AlleSystemdefinitionKorrekturskriptsan.
2. Klicken Sie auf Neu.  
   Ein neuer Korrekturskriptdatensatz wird geöffnet.
3. In Name Feld, geben Sie den Namen als ein `Aktualisieren Sie die fakturierten Bestellbeträge für APO `.
4. In Skript Feld kopieren und das unten genannte Skript einfügen.

    updatePOInvoicedAmounts();

    function updatePOInvoicedAmounts() {
        var sessionCurrency = new sn_currency.GlideCurrencyConfig().getSessionCurrency();
        var gr = new GlideRecord("sn_shop_purchase_order");
        gr.addEncodedQuery('in_process_invoiced_amountISEMPTY');
        gr.query();
        while (gr.next()) {
            var poSysID = gr.getValue('sys_id');
            var inProcessInvoiceAmt = getInProcessInvoicedAmount(poSysID);
            var invoicedAmount = getInvoicedAmount(poSysID);
            var poCurrency = !gs.nil(gr.total_amount) ? gr.total_amount.currency : sessionCurrency;
            var amtUpdated = false;
            if (!gs.nil(inProcessInvoiceAmt)) {
                inProcessInvoiceAmt = poCurrency + ';' + inProcessInvoiceAmt;
                gr.getElement('in_process_invoiced_amount').setDisplayValue(inProcessInvoiceAmt);
                amtUpdated = true;
            }
            if (!gs.nil(invoicedAmount)) {
                invoicedAmount = poCurrency + ';' + invoicedAmount;
                gr.getElement('invoiced_amount').setDisplayValue(invoicedAmount);
                amtUpdated = true;
            }
            if (amtUpdated)
                gr.update();
        }
    }
     
    function getInProcessInvoicedAmount(poSysId) {
        var query = 'invoice_amountISNOTEMPTY,^invoice_amount.amount!=0^stateINpo_matching_completed,exceptions_found,no_exceptions_found,pending_approval,approval_recalled,approved';
        var gr = new GlideAggregate('sn_shop_invoice');
        gr.addNotNullQuery('purchase_order');
        gr.addQuery('purchase_order', poSysId);
        gr.addEncodedQuery(query);
        gr.addAggregate('SUM', 'invoice_amount.amount');
        gr.groupBy('purchase_order');
        gr.query();
        if (gr.next()) {
            var inProcessInvoicedAmt = gr.getAggregate('SUM', 'invoice_amount.amount');
            return inProcessInvoicedAmt;
        }
        return 0;
    }
     
    function getInvoicedAmount(poSysId) {
        var query = 'invoice_amountISNOTEMPTY,^invoice_amount.amount!=0^stateINpending_payment,paid';
        var gr = new GlideAggregate('sn_shop_invoice');
        gr.addNotNullQuery('purchase_order');
        gr.addQuery('purchase_order', poSysId);
        gr.addEncodedQuery(query);
        gr.addAggregate('SUM', 'invoice_amount.amount');
        gr.groupBy('purchase_order');
        gr.query();
        if (gr.next()) {
            var invoicedAmt = gr.getAggregate('SUM', 'invoice_amount.amount');
            return invoicedAmt;
        }
        return 0;
    }

5. Klicken Sie auf Absenden.
6. Suchen und wählen Sie in der Listenansicht Korrekturskript aus `Aktualisieren Sie die fakturierten Bestellbeträge für APO `Korrekturskript.  
   Die `Aktualisieren Sie die fakturierten Bestellbeträge für APO `Korrekturskript wird geöffnet.
7. Wählen Sie Aus Führen Sie Das Korrekturskript Aus .  
   Ein Popup-Fenster mit Optionen für wird angezeigt Abbrechen , Fahren Sie Fort Und Fahren Sie im Hintergrund fort .
8. Klicken Sie Auf Fahren Sie im Hintergrund fort .

