SAP Business One SDK में ग्रिडव्यू (GridView) के डेटा को बटन क्लिक पर डेटाबेस में सेव करने के कई तरीके हैं।
मुख्य दृष्टिकोण
1. SAP DI API Documents (अनुशंसित)
SAP DI (Data Interface) API के डॉक्यूमेंट ऑब्जेक्ट्स (जैसे Documents, PurchaseOrders) का उपयोग करें। यह बिजनेस लॉजिक, वैलिडेशन और ऑथोराइज़ेशन को स्वचालित रूप से हैंडल करता है।
// C# उदाहरण
Documents oPurchaseOrder = (Documents)oCompany.GetBusinessObject(BoObjectTypes.oPurchaseOrders);
oPurchaseOrder.CardCode = "SUP001";
// ग्रिड से लाइन आइटम जोड़ें
foreach (DataRow row in gridData.Rows) {
oPurchaseOrder.Lines.ItemCode = row["ItemCode"].ToString();
oPurchaseOrder.Lines.Quantity = Convert.ToDouble(row["Qty"]);
oPurchaseOrder.Lines.Add();
}
int retVal = oPurchaseOrder.Add();
if (retVal != 0) { /* त्रुटि हैंडलिंग */ }
2. डायरेक्ट SQL (केवल सरल केस के लिए)
सीधे SQL INSERT/UPDATE स्टेटमेंट निष्पादित करें। यह तेज़ है लेकिन बिजनेस लॉजिक बायपास करता है - केवल तब उपयोग करें जब आप सुनिश्चित हों।
string sql = "INSERT INTO OINV (CardCode, DocDate, ...) VALUES (@CardCode, @DocDate, ...)"; // पैरामीटराइज़्ड क्वेरी का उपयोग करें
3. Data Transfer Workbench (DTW)
- डेटा को CSV/Excel में एक्सपोर्ट करें
- DTW टेम्पलेट में इम्पोर्ट करें
- वैलिडेशन और त्रुटि हैंडलिंग बिल्ट-इन है
- बड़ी मात्रा में डेटा माइग्रेशन के लिए उपयुक्त
4. DI API के साथ बैच प्रोसेसिंग
एकाधिक डॉक्यूमेंट बनाने के लिए oCompany.StartTransaction() और oCompany.EndTransaction() का उपयोग करें।
सर्वोत्तम अभ्यास
- DI API प्राथमिकता दें - डेटा अखंडता सुनिश्चित करता है
- ग्रिड डेटा को वैलिडेट करें सेव करने से पहले
- त्रुटि हैंडलिंग और लॉगिंग लागू करें
- बड़े डेटासेट के लिए बैच प्रोसेसिंग करें