جدول OVPM في SAP Business One (الدفعات الصادرة (الرأس))
OVPM هو جدول SAP Business One الذي يخزن رأس كل دفعة صادرة: المورّد (أو الحساب) المدفوع له، والتاريخ، والمبالغ نقدًا وتحويلًا وشيكًا وبطاقة. له أعمدة ORCT نفسها. المستندات التي يسددها في VPM2، والشيكات في VPM1، ونوع كائنه 46.
الحقول الرئيسية في OVPM
| الحقل | ما يحتويه |
|---|---|
DocEntry | المفتاح الداخلي. تشير إليه VPM1 و VPM2 عبر عمودهما DocNum. |
DocNum | رقم الدفعة الذي يراه المستخدمون. |
DocDate | تاريخ ترحيل الدفعة. |
DocType | S = مورّد، C = عميل (مثل استرداد)، A = حساب. |
CardCode | شريك الأعمال المدفوع له. يُربط بـ OCRD.CardCode. |
CashSum | المبلغ المدفوع نقدًا. |
TrsfrSum | المبلغ المدفوع بتحويل بنكي من TrsfrAcct. |
CheckSum | إجمالي الشيكات الصادرة. |
CreditSum | المبلغ المدفوع ببطاقة ائتمان. |
DocTotal | إجمالي المبلغ المدفوع بالعملة المحلية. |
Canceled | N = عادية، Y = ملغاة، C = الإلغاء نفسه. |
TransId | قيد يومية الدفعة. يُربط بـ OJDT.TransId. |
كيف يرتبط OVPM بالجداول الأخرى
يعمل OVPM تمامًا مثل ORCT ولكن في جانب المشتريات. يسرد VPM2 المستندات المسددة: VPM2.DocNum هو OVPM.DocEntry للدفعة، و VPM2.DocEntry هو مفتاح المستند المسدد، ويخبرك VPM2.InvType بنوعه (18 = فاتورة مشتريات، 19 = إشعار دائن للمشتريات). و SumApplied هو المبلغ المدفوع لكل مستند. والدفعات التي ينشئها معالج الدفع (Payment Wizard) هي أيضًا صفوف عادية في OVPM.
عمليات الربط الشائعة
OVPM T0 INNER JOIN VPM2 T1 ON T1.DocNum = T0.DocEntry(المستندات المسددة)VPM2 T1 INNER JOIN OPCH T2 ON T2.DocEntry = T1.DocEntry AND T1.InvType = '18'(فواتير المشتريات المسددة)OVPM T0 LEFT JOIN OCRD T3 ON T3.CardCode = T0.CardCode(البيانات الرئيسية للمورّد)OVPM T0 INNER JOIN OJDT T4 ON T4.TransId = T0.TransId(قيد اليومية)
متى تستخدم جدول OVPM
استخدم OVPM لتقارير التدفق النقدي، وسجل المدفوعات لكل حساب بنكي، وكشوف حسابات الموردين. اربط VPM2 بـ OPCH عندما تحتاج المشتريات أو الحسابات الدائنة معرفة أي فواتير الموردين سُددت، ومتى، وبأي دفعة، مثلًا للرد على مورّد يقول إن فاتورة ما زالت مفتوحة.
مثال على استعلام: فواتير المشتريات التي سددتها كل دفعة صادرة
SQL Server
SELECT T0.DocNum AS PaymentNo, T0.DocDate, T0.CardCode, T0.CardName, T2.DocNum AS APInvoiceNo, T2.NumAtCard AS VendorRef, T1.SumApplied FROM OVPM T0 INNER JOIN VPM2 T1 ON T1.DocNum = T0.DocEntry INNER JOIN OPCH T2 ON T2.DocEntry = T1.DocEntry AND T1.InvType = '18' WHERE T0.Canceled = 'N' ORDER BY T0.DocDate, T0.DocNum
SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)
SELECT T0."DocNum" AS "PaymentNo", T0."DocDate", T0."CardCode", T0."CardName", T2."DocNum" AS "APInvoiceNo", T2."NumAtCard" AS "VendorRef", T1."SumApplied" FROM OVPM T0 INNER JOIN VPM2 T1 ON T1."DocNum" = T0."DocEntry" INNER JOIN OPCH T2 ON T2."DocEntry" = T1."DocEntry" AND T1."InvType" = '18' WHERE T0."Canceled" = 'N' ORDER BY T0."DocDate", T0."DocNum"
الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.
خطأ شائع: صفِّ Canceled وتحقق من InvType
تبقى الدفعات الصادرة الملغاة في OVPM بقيمة Canceled = 'Y'، فاستبعدها وإلا كان إجمالي المصروف النقدي مرتفعًا جدًا. وعند ربط VPM2، صفِّ دائمًا InvType: فبدونه، الدفعة التي سددت أيضًا إشعارًا دائنًا أو قيد يومية تُربط بفاتورة مشتريات لا علاقة لها تحمل رقم DocEntry نفسه. انظر استعلام الدفعات الصادرة.
استعلامات جاهزة تستخدم OVPM
- الدفعات الصادرة حسب التاريخ: دفعات الموردين المنفذة خلال فترة، مقسمة إلى نقد وتحويل وشيك وبطاقة.
- تقرير أعمار ذمم الموردين (AP Aging): رصيد فواتير المشتريات المفتوحة لكل مورّد في فئات حسب تاريخ الاستحقاق.
جداول ذات صلة
OPCH (فاتورة المشتريات (الرأس)) · ORCT (الدفعات الواردة (الرأس)) · OJDT (قيد اليومية (الرأس)) · ابحث في كل جداول SAP Business One
المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.
جاهز للبدء؟
أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.
