جدول PDN1 في SAP Business One (إيصال استلام البضائع لأمر الشراء (الأسطر))

PDN1 هو جدول SAP Business One الذي يخزن أسطر إيصال استلام البضائع لأمر الشراء: سطر واحد لكل صنف مستلم، مع الكمية والسعر والمستودع والكمية المفتوحة وسطر أمر الشراء الذي جاء منه. ويُربط بالرأس OPDN عبر DocEntry؛ و BaseType 22 يعني أن السطر نُسخ من أمر شراء.

الحقول الرئيسية في PDN1

الحقلما يحتويه
DocEntryمفتاح الرأس. يُربط بـ OPDN.DocEntry.
LineNumرقم السطر.
ItemCodeالصنف. يُربط بـ OITM.ItemCode.
Dscriptionوصف الصنف.
Quantityالكمية المستلمة.
OpenQtyالكمية المفتوحة المتبقية (لم تُنسخ بعد إلى فاتورة أو مرتجع).
Price / Currencyالسعر وعملة السعر.
LineTotalإجمالي السطر.
WhsCodeالمستودع. يُربط بـ OWHS.WhsCode.
BaseTypeنوع المستند الأساس: 22 = أمر الشراء، 540000006 = عرض أسعار المشتريات، وغيرها.
BaseEntry / BaseLineمفتاح المستند الأساس وسطره.
TargetType / TrgetEntryالمستند الهدف (18 = فاتورة المشتريات، 21 = مرتجع البضائع) ومفتاحه.

كيف يرتبط PDN1 بالجداول الأخرى

تنتمي أسطر PDN1 إلى رأس واحد في OPDN (DocEntry). ويشير BaseType 22 مع BaseEntry و BaseLine إلى سطر أمر الشراء في OPOR؛ ويشير TargetType و TrgetEntry إلى الأمام نحو فاتورة المشتريات (OPCH) أو مرتجع البضائع.

عمليات الربط الشائعة

  • PDN1 T0 INNER JOIN OPDN T1 ON T1.DocEntry = T0.DocEntry (الرأس)
  • PDN1 T0 LEFT JOIN OPOR T2 ON T2.DocEntry = T0.BaseEntry AND T0.BaseType = 22 (أمر الشراء)
  • PDN1 T0 LEFT JOIN OPCH T3 ON T3.DocEntry = T0.TrgetEntry AND T0.TargetType = 18 (فاتورة المشتريات)

متى تستخدم جدول PDN1

استخدم PDN1 لمقارنة الكميات المستلمة بأوامر الشراء، ولسرد الأسطر المستلمة التي لم تُفوتر بعد، ولقراءة آخر سعر استلام لكل صنف ومورد.

مثال على استعلام: الأسطر المستلمة غير المفوترة بعد، مع أمر الشراء الخاص بها

SQL Server

SELECT T1.DocNum AS GrpoNum, T1.DocDate, T1.CardCode, T0.ItemCode, T0.Quantity,
  T0.OpenQty, T0.Price, T2.DocNum AS PoNum
FROM PDN1 T0
INNER JOIN OPDN T1 ON T1.DocEntry = T0.DocEntry
LEFT JOIN OPOR T2 ON T2.DocEntry = T0.BaseEntry AND T0.BaseType = 22
WHERE T0.OpenQty > 0 AND T1.CANCELED = 'N'
ORDER BY T1.DocDate

SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)

SELECT T1."DocNum" AS "GrpoNum", T1."DocDate", T1."CardCode", T0."ItemCode", T0."Quantity",
  T0."OpenQty", T0."Price", T2."DocNum" AS "PoNum"
FROM PDN1 T0
INNER JOIN OPDN T1 ON T1."DocEntry" = T0."DocEntry"
LEFT JOIN OPOR T2 ON T2."DocEntry" = T0."BaseEntry" AND T0."BaseType" = 22
WHERE T0."OpenQty" > 0 AND T1."CANCELED" = 'N'
ORDER BY T1."DocDate"

الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.

خطأ شائع: BaseEntry دون BaseType

قد يستند سطر الإيصال إلى أمر شراء أو عرض أسعار مشتريات أو مستند آخر. و BaseEntry وحده مجرد رقم، فأضف دائمًا BaseType = 22 عند الربط مع OPOR. انظر جدول OPOR (أمر الشراء).

استعلامات جاهزة تستخدم PDN1

أسئلة حول جدول PDN1

كيف أربط PDN1 بأمر الشراء؟

PDN1.BaseType = 22، و PDN1.BaseEntry = OPOR.DocEntry، و PDN1.BaseLine = رقم سطر أمر الشراء.

ماذا يعني OpenQty في PDN1؟

الكمية المستلمة التي لم تُنسخ بعد إلى مستند هدف مثل فاتورة المشتريات أو مرتجع البضائع.

كيف أجد فاتورة المشتريات لسطر إيصال؟

PDN1.TargetType = 18 و PDN1.TrgetEntry = OPCH.DocEntry.

جداول ذات صلة

OPDN (إيصال استلام البضائع لأمر الشراء (الرأس)) · OPOR (أمر الشراء (الرأس)) · OPCH (فاتورة المشتريات (الرأس)) · ابحث في كل جداول SAP Business One

المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.

جاهز للبدء؟

أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.