الربط مع SAP

SAP لا يحتاج تكاملًا خاصًا — نداء HTTP صادر من برنامج الدفع إلى نقطة الإنشاء المباشر بمفتاح API. عبر Integration Suite بـiFlow، أو من ABAP بوجهة RFC، مع خريطة حقول F110 وتحويل التاريخ.

آخر تحديث: 2026-09-21

في الصفحة دي

المبدأ

لا كود خاص بـSAP في البرنامج: SAP (ECC · S/4HANA · Business One) يرسل نداء HTTP صادرًا عند تأكيد الدفع إلى POST /api/cheque-logs — الاسم البديل لنقطة الإنشاء المباشر — بترويسة X-API-KEY. كل قواعد تلك الصفحة تسري هنا: bank_name إلزامي، الصف يُنشأ مؤكَّدًا، والتكرار محميّ برقم الشيك وexternal_id.

الطريق الأول: SAP Integration Suite (CPI)

  1. iFlow بـHTTPS Receiver Adapter إلى APP_URL/api/cheque-logs.
  2. ترويسة X-API-KEY بالمفتاح من تبويب مفاتيح API (مفتاح لشركة SAP التي تدفع منها).
  3. Content-Type: application/json وAccept: application/json.

الطريق الثاني: ABAP (وجهة RFC نوع HTTP)

في SM59 وجهة ZCHEQUES_API نوع G إلى عنوان التنصيبة، ثم:

abap
cl_http_client=>create_by_destination( EXPORTING destination = 'ZCHEQUES_API' IMPORTING client = lo_client ).
lo_client->request->set_method( 'POST' ).
lo_client->request->set_header_field( name = 'X-API-KEY'    value = lv_api_key ).
lo_client->request->set_header_field( name = 'Content-Type' value = 'application/json' ).
lo_client->request->set_cdata( lv_json ).
lo_client->send( ). lo_client->receive( ).

lv_json بالحقول أدناه — وbank_name فيها.

خريطة الحقول (من برنامج الدفع F110)

SAP الشيك ملاحظة
LIFNR / NAME1 recipient_name اسم المورّد
WRBTR amount المبلغ
WAERS currency كود العملة
BELNR cheque_number · reason رقم المستند
ZALDT cheque_date تاريخ SAP YYYYMMDD يُحوَّل إلى YYYY-MM-DD قبل الإرسال
بنك الدفع (HBKID ← اسمه) bank_name إلزامي — كما يعيده /api/banks
BELNR + BUKRS external_id مفتاح التكرار الاختياري — يجعل إعادة الإرسال آمنة
cheque_type OUT دائمًا لمدفوعات F110

مثال الجسم

json
{ "bank_name": "بنك مصر", "cheque_type": "OUT", "recipient_name": "شركة النيل للتوريدات",
  "amount": 1250.50, "currency": "EGP", "cheque_date": "2026-10-15",
  "cheque_number": "100200", "reason": "1400001234", "external_source": "sap", "external_id": "1000-1400001234" }

مشاكل شائعة

  • 422 «اسم البنك مطلوب.»bank_name غائب أو فارغ.
  • 422 «رقم الشيك … مستعمَل بالفعل» — إعادة تشغيل F110؛ عامله كنجاح سابق، أو أرسل external_id فتعود 200 reused.
  • 401 — الوجهة بلا الترويسة، أو المفتاح انتهى.

صفحات ذات صلة

اطلب نسختك التجريبية مجانًا