جدول OPOR في SAP Business One (أمر الشراء (الرأس))
OPOR هو جدول SAP Business One الذي يخزن رأس كل أمر شراء: المورّد، والتواريخ، والإجماليات، والحالة. أسطره في POR1 وتُربط عبر DocEntry، ونوع كائنه 22. وتشير إليه إيصالات استلام البضاعة (OPDN/PDN1) وفواتير المشتريات (OPCH/PCH1) المنسوخة من الأمر عبر BaseType و BaseEntry و BaseLine.
الحقول الرئيسية في OPOR
| الحقل | ما يحتويه |
|---|---|
DocEntry | المفتاح الداخلي. يُربط بـ POR1.DocEntry. |
DocNum | رقم أمر الشراء الذي يراه المستخدمون. |
DocDate | تاريخ ترحيل الأمر. |
DocDueDate | تاريخ التسليم المتوقع. |
CardCode | المورّد. يُربط بـ OCRD.CardCode. |
DocTotal | إجمالي الأمر شاملًا الضريبة. |
DocStatus | O = مفتوح، C = مغلق (استُلم بالكامل أو أُغلق يدويًا). |
CANCELED | Y إذا أُلغي الأمر. |
POR1.ItemCode | الصنف المطلوب. يُربط بـ OITM.ItemCode. |
POR1.Quantity | الكمية المطلوبة في السطر. |
POR1.OpenQty | الكمية التي لم تُستلم بعد. |
POR1.LineStatus | O = مفتوح، C = مغلق. |
POR1.WhsCode | مستودع الاستلام. يُربط بـ OWHS. |
كيف يرتبط OPOR بالجداول الأخرى
OPOR هو الرأس و POR1 الأسطر، ويُربطان عبر DocEntry ويُعرَّف السطر بـ LineNum. عندما يُنشأ إيصال استلام بضاعة لأمر الشراء أو فاتورة مشتريات من الأمر، يخزن كل سطر في المستند الهدف BaseType = 22، و BaseEntry = POR1.DocEntry، و BaseLine = POR1.LineNum. وفي الاتجاه المعاكس، يُظهر POR1.TargetType و TrgetEntry المستند الذي نُسخ إليه السطر (20 = إيصال استلام بضاعة لأمر الشراء، 18 = فاتورة مشتريات).
عمليات الربط الشائعة
OPOR T0 INNER JOIN POR1 T1 ON T0.DocEntry = T1.DocEntry(الأسطر)PDN1 T2 ON T2.BaseType = 22 AND T2.BaseEntry = T1.DocEntry AND T2.BaseLine = T1.LineNum(إيصالات الاستلام من الأمر)PCH1 T3 ON T3.BaseType = 22 AND T3.BaseEntry = T1.DocEntry AND T3.BaseLine = T1.LineNum(فواتير المشتريات المنسوخة مباشرة من الأمر)OPOR T0 INNER JOIN OCRD T4 ON T0.CardCode = T4.CardCode(المورّد)
متى تستخدم جدول OPOR
استخدم OPOR و POR1 لمتابعة الموردين، والاستلامات المتوقعة لكل مستودع، وقيمة الالتزامات المفتوحة، ومراجعة أسعار الشراء. اعمل على الأسطر لكل ما يتعلق بالكميات، لأن أمر الشراء الواحد يُستلم غالبًا على عدة دفعات تسليم.
مثال على استعلام: أسطر أوامر الشراء المفتوحة مع القيمة التي لم تُستلم بعد
SQL Server
SELECT T0.DocNum, T0.DocDueDate, T0.CardCode, T0.CardName, T1.ItemCode, T1.Dscription, T1.Quantity, T1.OpenQty, T1.WhsCode, T1.OpenQty * T1.Price AS OpenValue FROM OPOR T0 INNER JOIN POR1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.DocStatus = 'O' AND T0.CANCELED = 'N' AND T1.LineStatus = 'O' ORDER BY T0.DocDueDate, T0.DocNum
SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)
SELECT T0."DocNum", T0."DocDueDate", T0."CardCode", T0."CardName", T1."ItemCode", T1."Dscription", T1."Quantity", T1."OpenQty", T1."WhsCode", T1."OpenQty" * T1."Price" AS "OpenValue" FROM OPOR T0 INNER JOIN POR1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."DocStatus" = 'O' AND T0."CANCELED" = 'N' AND T1."LineStatus" = 'O' ORDER BY T0."DocDueDate", T0."DocNum"
الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.
خطأ شائع: يبقى الرأس مفتوحًا ما دام سطر واحد مفتوحًا
يبقى OPOR.DocStatus بقيمة 'O' حتى يُغلق كل سطر، لذلك يُظهر التقرير المعتمد على الرأس فقط أمرًا استُلم 90% منه كأنه معلق بالكامل. استخدم POR1.OpenQty و LineStatus. وعند تتبّع الاستلامات، طابق الحقول الأساس الثلاثة (BaseType و BaseEntry و BaseLine): فـ BaseEntry وحده يطابق أيضًا أنواع مستندات أخرى تستخدم الرقم نفسه. انظر استعلام أوامر الشراء المفتوحة.
استعلامات جاهزة تستخدم OPOR
- أوامر الشراء المفتوحة حسب المورّد: أسطر أوامر الشراء المفتوحة التي ما زالت فيها كمية للاستلام، مجمّعة حسب المورّد.
- آخر سعر شراء لكل صنف: أحدث سعر في فاتورة مشتريات، مع المورّد والتاريخ، لكل صنف.
جداول ذات صلة
OPCH (فاتورة المشتريات (الرأس)) · OITM (الأصناف (البيانات الرئيسية للصنف)) · OITW (مخزون الصنف حسب المستودع) · ابحث في كل جداول SAP Business One
المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.
جاهز للبدء؟
أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.
