جدول OCTG في SAP Business One (شروط الدفع)
OCTG هو جدول شروط الدفع في SAP Business One: صف واحد لكل شرط دفع، مع رمزه ونقطة البداية والأشهر والأيام الإضافية وعدد الأقساط وحد الائتمان والخصم النقدي. يخزن شركاء الأعمال والمستندات GroupNum الذي يُربط بـ OCTG.GroupNum، لذا يشرح OCTG كيف يُحسب تاريخ استحقاق الفاتورة.
الحقول الرئيسية في OCTG
| الحقل | ما يحتويه |
|---|---|
GroupNum | رقم شروط الدفع، وهو المفتاح. يشير إليه OCRD.GroupNum و OINV.GroupNum. |
PymntGroup | رمز شروط الدفع (الاسم الذي يختاره المستخدمون). |
PayDuMonth | البدء من: E = نهاية الشهر، H = منتصف الشهر، Y = بداية الشهر، N = التاريخ المحدد. |
ExtraMonth | عدد الأشهر الإضافية. |
ExtraDays | عدد الأيام الإضافية. |
BslineDate | تاريخ الاستحقاق مبني على: P = تاريخ الترحيل، S = تاريخ النظام، T = تاريخ المستند، C = تاريخ الإقفال. |
InstNum | عدد الأقساط. |
TolDays | عدد أيام السماح. |
CredLimit | الحد الأقصى للائتمان. |
VolumDscnt | نسبة الخصم الإجمالية. |
ListNum | قائمة الأسعار. تُربط بـ OPLN.ListNum. |
DiscCode | رمز الخصم النقدي (OCDC). |
Active | Y = نشط، N = غير نشط. |
كيف يرتبط OCTG بالجداول الأخرى
OCTG بيانات رئيسية. يعطي OCRD.GroupNum شروط الدفع الافتراضية لشريك الأعمال، ويحتوي رأس المستند (مثل OINV.GroupNum) على الشروط المستخدمة في ذلك المستند. وعندما يكون InstNum أكبر من واحد، تُخزن أقساط الفاتورة في INV6.
عمليات الربط الشائعة
OCRD T0 LEFT JOIN OCTG T1 ON T1.GroupNum = T0.GroupNum(الشروط الافتراضية لشريك الأعمال)OINV T2 INNER JOIN OCTG T1 ON T1.GroupNum = T2.GroupNum(الشروط المستخدمة في الفاتورة)OINV T2 INNER JOIN INV6 T3 ON T3.DocEntry = T2.DocEntry(الأقساط المنشأة من الشروط)
متى تستخدم جدول OCTG
استخدم OCTG لسرد شروط الدفع مع أشهرها وأيامها، ولمقارنة الشروط في الفواتير بالشروط الافتراضية للعميل، ولحساب تواريخ الاستحقاق في الكود الذي يرحّل المستندات.
مثال على استعلام: شروط الدفع مع عدد العملاء الذين يستخدمون كلًا منها
SQL Server
SELECT T1.GroupNum, T1.PymntGroup, T1.PayDuMonth, T1.ExtraMonth, T1.ExtraDays, T1.InstNum, COUNT(T0.CardCode) AS BusinessPartners FROM OCTG T1 LEFT JOIN OCRD T0 ON T0.GroupNum = T1.GroupNum GROUP BY T1.GroupNum, T1.PymntGroup, T1.PayDuMonth, T1.ExtraMonth, T1.ExtraDays, T1.InstNum ORDER BY T1.GroupNum
SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)
SELECT T1."GroupNum", T1."PymntGroup", T1."PayDuMonth", T1."ExtraMonth", T1."ExtraDays", T1."InstNum", COUNT(T0."CardCode") AS "BusinessPartners" FROM OCTG T1 LEFT JOIN OCRD T0 ON T0."GroupNum" = T1."GroupNum" GROUP BY T1."GroupNum", T1."PymntGroup", T1."PayDuMonth", T1."ExtraMonth", T1."ExtraDays", T1."InstNum" ORDER BY T1."GroupNum"
الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.
خطأ شائع: قراءة ExtraDays فقط
قد يُخزن شرط اسمه "45 يومًا" على شكل شهر إضافي واحد زائد 15 يومًا، وقد ينقل PayDuMonth نقطة البداية إلى نهاية الشهر أولًا. والكود الذي يضيف ExtraDays فقط إلى تاريخ الترحيل يحصل على تاريخ استحقاق خاطئ. طبّق نقطة البداية، ثم ExtraMonth، ثم ExtraDays، انطلاقًا من التاريخ الأساس المحدد في BslineDate. انظر استعلام الفواتير المتأخرة.
استعلامات جاهزة تستخدم OCTG
- فواتير العملاء المتأخرة: الفواتير المفتوحة التي تجاوزت تاريخ استحقاقها، مع أيام التأخير ورقم هاتف العميل.
- تقرير أعمار ذمم العملاء (AR Aging): رصيد الفواتير المفتوحة لكل عميل في فئات 0–30 و31–60 و61–90 وأكثر من 90 يومًا حسب تاريخ الاستحقاق.
أسئلة حول جدول OCTG
كيف أحصل على اسم شروط الدفع لعميل؟
اربط OCRD.GroupNum بـ OCTG.GroupNum واقرأ OCTG.PymntGroup.
ماذا يعني PayDuMonth في OCTG؟
نقطة بداية تاريخ الاستحقاق: E = نهاية الشهر، H = منتصف الشهر، Y = بداية الشهر، N = التاريخ المحدد.
أين تُخزن أقساط الفاتورة؟
يحدد OCTG.InstNum عددها؛ وأقساط كل فاتورة مبيعات صفوف في INV6.
جداول ذات صلة
OCRD (شركاء الأعمال) · OINV (فاتورة المبيعات (الرأس)) · INV6 (فاتورة المبيعات (الأقساط)) · ابحث في كل جداول SAP Business One
المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.
جاهز للبدء؟
أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.
