ABAP का परिचय: डेटाटाइप्स, Operaटोर और संपादक – ट्यूटोरियल

⚡ स्मार्ट सारांश

ABAP का परिचय भाषा को कवर करता है। SAP यह संसाधन R/3 सिस्टम पर एप्लिकेशन बनाने के लिए बनाया गया है। यह डेटा प्रकारों, ऑपरेटरों, नियंत्रण कथनों, आंतरिक तालिका और SE38 संपादक के बारे में बताता है, जहाँ से प्रत्येक ABAP प्रोग्राम शुरू होता है।

  • 🔤 घोषणा सिंटैक्स: DATA variable_name TYPE variable_type ABAP में प्रत्येक वेरिएबल को घोषित करता है।
  • 🔢 जानकारी का प्रकार: I, F और P में संख्याएँ होती हैं; C, D, N और T में अक्षर होते हैं; X में हेक्साडेसिमल डेटा होता है।
  • Operaटोर्स: अंकगणितीय ऑपरेटर मानों को बदलते हैं, जबकि EQ, NE, GT और LT जैसे तार्किक ऑपरेटर निर्णयों को संचालित करते हैं।
  • 🔁 नियंत्रण कथन: IF, CASE, WHILE और DO यह निर्धारित करते हैं कि प्रोग्राम की कौन सी लाइनें वास्तव में चलेंगी।
  • ???? आंतरिक तालिकाएँ: एक आंतरिक तालिका मेमोरी में कई पंक्तियों को संग्रहीत करती है और प्रत्येक ABAP रिपोर्ट का मुख्य आधार होती है।
  • संपादक: ट्रांजैक्शन SE38 ABAP एडिटर है, जहाँ प्रोग्राम लिखे, जाँचे और निष्पादित किए जाते हैं।

का परिचय SAP ABAP

एबीएपी क्या है?

ABAP का पूरा नाम एडवांस्ड बिजनेस एप्लीकेशन प्रोग्रामिंग है। यह एक प्रोग्रामिंग भाषा है जिसका उपयोग कंप्यूटर विकास के लिए किया जाता है।ping के लिए आवेदन SAP आर/3 प्रणाली.

ABAP के नवीनतम संस्करण को ABAP ऑब्जेक्ट्स कहा जाता है और यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का समर्थन करता है। SAP ABAP/4, जो कि ABAP का पुराना संस्करण है, का उपयोग करके लिखे गए अनुप्रयोगों के साथ-साथ ABAP ऑब्जेक्ट्स का उपयोग करने वाले अनुप्रयोगों को भी चलाएगा।

यह परिचय प्रत्येक विवरण को दस्तावेजीकृत करने का प्रयास नहीं करता है। ABAP भाषा यह संरचना का निर्माण करता है। यह प्रमुख अवधारणाओं को शीघ्रता से प्रस्तुत करता है, ताकि आप कार्यशील प्रोग्राम लिखना शुरू कर सकें और फिर अधिक उन्नत विषयों की ओर बढ़ सकें।

जानकारी का प्रकार

प्रत्येक ABAP प्रोग्राम की शुरुआत उस डेटा को घोषित करने से होती है जिसके साथ वह काम करेगा।

ABAP में वेरिएबल घोषित करने का सिंटैक्स –

DATA Variable_Name TYPE Variable_Type.

उदाहरण:

DATA employee_number TYPE I.

निम्नलिखित ABAP द्वारा समर्थित डेटा प्रकारों की सूची है।

डाटा प्रकार प्रारंभिक क्षेत्र लंबाई मान्य फ़ील्ड लंबाई आरंभिक मूल्य अर्थ
संख्यात्मक प्रकार
I 4 4 0 पूर्णांक (पूर्णांक)
F 8 8 0 चल बिन्दु संख्या
P 8 1 – 16 0 पैक्ड संख्या
चरित्र प्रकार
C 1 1 – 65535 ' … ' टेक्स्ट फ़ील्ड (अल्फ़ान्यूमेरिक अक्षर)
D 8 8 '00000000' दिनांक फ़ील्ड (प्रारूप: YYYYMMDD)
N 1 1 – 65535 '0 … 0' संख्यात्मक पाठ फ़ील्ड (संख्यात्मक अक्षर)
T 6 6 '000000' समय फ़ील्ड (प्रारूप: HHMMSS)
हेक्साडेसिमल प्रकार
X 1 1 – 65535 एक्स'० … ०' हेक्साडेसिमल फ़ील्ड

ऊपर दिए गए आठ प्रकार क्लासिक निश्चित लंबाई वाले प्रकार हैं। ABAP दो परिवर्तनीय लंबाई वाले प्रकार भी प्रदान करता है जिनसे शुरुआती लोग लगभग तुरंत परिचित हो जाते हैं: STRING है किसी भी लंबाई के पाठ के लिए, और एक्सस्ट्रिंग किसी भी लंबाई के बाइनरी डेटा के लिए।

ABAP Operaमरोड़

एक बार डेटा घोषित हो जाने के बाद, ऑपरेटर ही उसे बदलते हैं और उसकी तुलना करते हैं।

मान निर्दिष्ट करना

a = 16.
MOVE 16 TO a.
WRITE a TO b.

ये तीनों स्टेटमेंट एक वैल्यू को ट्रांसफर करते हैं। बराबर का चिह्न आधुनिक रूप है, जबकि MOVE और WRITE TO पुराने समकक्ष हैं जो आपको अभी भी पुराने प्रोग्रामों में देखने को मिलेंगे।

अंकगणितीय आपरेशनस

COMPUTE a = a * 100.

ABAP ऐड और सब्सक्रिप्शन को भी सपोर्ट करता है।TRACT, MULTIPLY और DIVIDE स्वतंत्र कीवर्ड के रूप में उपयोग किए जाते हैं, लेकिन ऊपर दिखाया गया COMPUTE रूप सबसे अधिक बार उपयोग किया जाता है।

लॉजिकल ऑपरेटर्स

तार्किक ऑपरेटर सही या गलत मान लौटाते हैं, और अगले भाग में प्रत्येक नियंत्रण कथन इन्हीं की जाँच करता है। प्रत्येक का एक शब्द रूप और एक प्रतीक रूप होता है, और दोनों परस्पर विनिमय योग्य होते हैं।

शब्द रचना प्रतीक रूप अर्थ
EQ = के बराबर
NE <> बराबर नही है
GT > से अधिक
GE >= इससे बड़ा या इसके बराबर
LT < Less से
LE <= Less से या उसके बराबर

नियंत्रण कथन

कंट्रोल स्टेटमेंट ऊपर दिए गए लॉजिकल ऑपरेटरों का उपयोग करके यह तय करते हैं कि कोड की कौन सी लाइनें चलेंगी और कितनी बार चलेंगी।

यदि… अंत यदि

IF [NOT] exp [ AND / OR [NOT] exp ].
  ........
[ELSEIF exp.
  .......]
[ELSE.
  .......]
ENDIF.

मामले का विवरण

CASE variable.
  WHEN value1.
    .........
  WHEN value2.
    .........
  [WHEN OTHERS.
    .........]
ENDCASE.

WHILE लूप

WHILE <logical expression>.
  .....
ENDWHILE.

DO लूप

DO <n> TIMES.
  .....
ENDDO.

WHILE लूप तब तक चलता है जब तक उसकी शर्त पूरी होती है। DO लूप एक निश्चित संख्या में बार चलता है, या तब तक अनंत रूप से चलता रहता है जब तक कि EXIT स्टेटमेंट उसे रोक न दे।

ABAP में आंतरिक तालिकाएँ

एकल चर अक्सर पर्याप्त नहीं होते। व्यावसायिक प्रोग्राम एक साथ कई पंक्तियों को पढ़ते हैं, और आंतरिक तालिका वह संरचना है जो उन्हें मेमोरी में रखती है।

एक इंटरनल टेबल एक डायनामिक ऐरे है। इसका कोई निश्चित आकार नहीं होता, यह केवल प्रोग्राम की अवधि तक ही मौजूद रहती है, और डेटाबेस और स्क्रीन के बीच पंक्तियों को स्थानांतरित करने का यह मानक तरीका है।

" Declare an internal table and a work area
DATA: lt_employees TYPE TABLE OF pa0001,
      ls_employee  TYPE pa0001.

" Fill it from the database
SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS.

" Read it row by row
LOOP AT lt_employees INTO ls_employee.
  WRITE: / ls_employee-pernr, ls_employee-ename.
ENDLOOP.

ऊपर दिए गए तीन ऑपरेशन रोज़मर्रा के अधिकांश कार्यों को कवर करते हैं: टेबल को डिक्लेयर करना, उसे SELECT स्टेटमेंट से भरना, फिर LOOP AT का उपयोग करके उसे एक्सेस करना। APPEND एक पंक्ति जोड़ता है, READ TABLE एक पंक्ति ढूंढता है, और DELETE किसी शर्त से मेल खाने वाली पंक्तियों को हटाता है।

ABAP/4 संपादक

ऊपर दिए गए सभी वाक्य-विन्यास को एक ही स्थान पर टाइप किया जाता है।

सौदा SE38 यह ABAP एडिटर खोलता है, जहां आप एक डेवलपर के रूप में अपना अधिकांश समय प्रोग्राम बनाने और संशोधित करने में व्यतीत करेंगे।

ABAP/4 संपादक

ABAP/4 संपादक, लेनदेन SE38

अपना पहला ABAP प्रोग्राम कैसे लिखें

ऊपर दी गई स्क्रीन पर निम्नलिखित चरण पूरे होते हैं। नीचे दिए गए क्रम का पालन करने से कुछ ही मिनटों में एक कार्यशील रिपोर्ट तैयार हो जाती है।

  1. एडिटर खोलें। लेनदेन कोड दर्ज करें SE38 में SAP जीयूआई कमांड फ़ील्ड में एंटर दबाएं।
  2. प्रोग्राम का नाम बताइए। ऐसा नाम टाइप करें जो इससे शुरू होता हो Z or Y, उदाहरण के लिए ZHELLO_WORLDवे दो अक्षर ग्राहक नेमस्पेस हैं, और SAP यह गारंटी देता है कि अपग्रेड के दौरान यह उन्हें कभी ओवरराइट नहीं करेगा।
  3. इसे बनाइए। क्लिक करें बनाएंएक संक्षिप्त विवरण दर्ज करें और चुनें निष्पादन योग्य कार्यक्रम प्रकार के रूप में.
  4. एक पैकेज असाइन करें। चुनें स्थानीय वस्तु अभ्यास कार्य के लिए। एक स्थानीय ऑब्जेक्ट आपके सिस्टम में ही रहता है और उसे किसी परिवहन अनुरोध की आवश्यकता नहीं होती है।
  5. कोड लिखें।
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. वाक्य संरचना की जाँच करें। दबाएँ Ctrl + F2स्टेटस बार किसी भी त्रुटि और उस पंक्ति की जानकारी देता है जिसके कारण त्रुटि हुई है।
  2. प्रोग्राम को सक्रिय करें। दबाएँ Ctrl + F3एक निष्क्रिय प्रोग्राम नहीं चल सकता।
  3. निष्पादित। दबाएँ F8आउटपुट सूची खुलती है और दोनों WRITE लाइनें प्रदर्शित करती है।

WRITE स्टेटमेंट में फॉरवर्ड स्लैश का इस्तेमाल करने से प्रिंट की नई लाइन खुल जाती है। इसे हटाने से सब कुछ एक ही लाइन में प्रिंट हो जाता है, जो कि शुरुआती लोगों द्वारा सीखी जाने वाली पहली फॉर्मेटिंग आदत है।

सामान्य ABAP लेनदेन Codes

कुछ ही ट्रांजैक्शन कोड एक नए ABAP डेवलपर की लगभग सभी जरूरतों को पूरा करते हैं।

सौदा उद्देश्य
SE38 ABAP एडिटर। प्रोग्राम बनाएं, संपादित करें, जांचें और चलाएं।
SE80 ऑब्जेक्ट नेविगेटर। प्रोग्राम, क्लास, पैकेज और स्क्रीन के लिए एक ही वर्कबेंच।
SE11 ABAP डिक्शनरी। डेटाबेस टेबल, डेटा एलिमेंट और डोमेन को परिभाषित और जांचें।
SE16N डेटा ब्राउज़र। SELECT क्वेरी लिखे बिना किसी भी तालिका की सामग्री देखें।
SE37 फंक्शन बिल्डर। फंक्शन मॉड्यूल बनाएं और उनका परीक्षण करें।
SE24 क्लास बिल्डर। ABAP ऑब्जेक्ट्स के लिए ग्लोबल क्लास बनाएं।
ST22 डंप विश्लेषण। प्रोग्राम समाप्त होने पर रनटाइम त्रुटि पढ़ें।

SE38 और SE11 पहली रिपोर्ट बनाने के लिए पर्याप्त हैं। प्रोग्राम क्रैश होने की स्थिति में ST22 सबसे महत्वपूर्ण हो जाता है।

अक्सर पूछे जाने वाले प्रश्न

Z और Y मिलकर ग्राहक नेमस्पेस बनाते हैं। SAP यह कभी भी उन उपसर्गों वाले ऑब्जेक्ट्स को शिप नहीं करता है, इसलिए अपग्रेड आपके प्रोग्राम को ओवरराइट नहीं कर सकता है। उस नेमस्पेस के बाहर के नामों के बदले जाने का जोखिम रहता है।

ABAP/4 प्रक्रियात्मक संस्करण है, जो रिपोर्ट और सब-रूटीन पर आधारित है। ABAP ऑब्जेक्ट्स में क्लास, इंटरफेस और इनहेरिटेंस शामिल हैं। दोनों एक ही सिस्टम में चलते हैं, इसलिए पुराना और नया कोड साथ-साथ मौजूद रहते हैं।

पैक्ड टाइप P का उपयोग करें। यह दशमलव संख्याओं को सटीक रूप से संग्रहीत करता है, जो मुद्रा की आवश्यकता है। टाइप F एक फ्लोटिंग पॉइंट संख्या है और इसमें राउंडिंग त्रुटियां होती हैं जिससे वित्तीय योग अविश्वसनीय हो जाते हैं।

जी हां। एक एआई सहायक डंप की व्याख्या कर सकता है, स्यूडोकोड को एबीएपी में अनुवाद कर सकता है और एक साफ-सुथरा लूप सुझा सकता है। हमेशा सिंटैक्स जांच करें, क्योंकि जेनरेट किया गया कोड उन तालिकाओं का संदर्भ दे सकता है जो आपके सिस्टम में मौजूद नहीं हैं।

समीक्षा के बिना नहीं। जनरेट किया गया कोड अक्सर प्राधिकरण जांच, प्रदर्शन नियमों और ABAP क्लाउड द्वारा जारी API सूची को अनदेखा करता है। इसे पहले ड्राफ्ट की तरह मानें, फिर किसी भी कोड की तरह इसका परीक्षण करें।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: