SAP मूल्य पर प्रक्रिया और सहायता-अनुरोध पर प्रक्रिया
⚡ स्मार्ट सारांश
Process On Value-Request और Process On Help-Request, F4 और F1 के पीछे स्थित स्क्रीन इवेंट हैं। SAP ABAP. यह पृष्ठ दोनों घटनाओं, उन्हें ट्रिगर करने वाले FIELD कथनों और दस्तावेज़ीकरण या संभावित प्रविष्टियों को प्रदर्शित करने वाले फ़ंक्शन मॉड्यूल की व्याख्या करता है।
POH और POV क्या हैं?
सबसे पहले, यदि आपको स्क्रीन फ्लो लॉजिक और उनके उपयोग के बारे में कुछ भी नहीं पता है, तो SAPहम आपको हमारे ट्यूटोरियल को देखने की सलाह देते हैं। संवाद कार्यक्रम.
POH और POV दो स्क्रीन इवेंट हैं जो उपयोगकर्ता की सहायता अनुरोध का उत्तर देते हैं। POH, F1 कुंजी दबाने पर प्रतिक्रिया करता है और बताता है कि किसी फ़ील्ड का क्या अर्थ है, जबकि POV, F4 कुंजी दबाने पर प्रतिक्रिया करता है और उन मानों की सूची देता है जिन्हें वह फ़ील्ड स्वीकार करता है। इन दोनों को स्क्रीन के फ़्लो लॉजिक में PBO और PAI के साथ घोषित किया जाता है।
| मापदंड | पीओएच (सहायता अनुरोध पर प्रक्रिया) | पीओवी (मूल्य-अनुरोध पर प्रक्रिया) |
|---|---|---|
| इसकी बदौलत हुआ | F1 कुंजी | F4 कुंजी, या संभावित प्रविष्टियाँ बटन |
| उद्देश्य | इस क्षेत्र का अर्थ स्पष्ट करता है | यह फ़ील्ड द्वारा स्वीकार किए जाने वाले मानों को प्रदर्शित करता है। |
| डिफ़ॉल्ट स्रोत | ABAP डिक्शनरी में डेटा तत्व प्रलेखन | निश्चित मान, तालिका देखें या सहायता खोजें |
| डेटा परिवहन | नहीं, फ़ील्ड केवल प्रदर्शित होती है | चयनित मान को स्क्रीन फ़ील्ड में वापस लिख दिया जाता है। |
| विशिष्ट फ़ंक्शन मॉड्यूल | HELP_OBJECT_SHOW_FOR_FIELD | F4IF_INT_TABLE_VALUE_REQUEST |
अब, आइए POH और POV पर विस्तार से नज़र डालें
सहायता-अनुरोध (POH) पर प्रक्रिया : F1 सहायता
- जब भी F1 दबाया जाता है, निर्दिष्ट डेटा तत्व के लिए POH इवेंट निष्पादित होता है।
- यदि किसी स्क्रीन के प्रोसेस लॉजिक में PROCESS ON HELP-REQUEST इवेंट मौजूद नहीं है, तो ABAP डिक्शनरी में उस फ़ील्ड के दस्तावेज़ीकरण को आधार मानकर प्रदर्शित किया जाता है। यदि वह भी मौजूद नहीं है, तो कोई सहायता प्रदर्शित नहीं की जाती है।
- फ़ील्ड सहायता दस्तावेज़ प्रदर्शित करने के लिए, आपको POH ईवेंट में निम्नलिखित स्क्रीन प्रवाह तर्क को कोड करना होगा:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- यदि फ़ील्ड के लिए स्क्रीन-विशिष्ट डेटा तत्व दस्तावेज़ मौजूद है , आप इसकी संख्या निर्दिष्ट करके इसे प्रदर्शित कर सकते हैं .
- जो नंबर यह शाब्दिक या चर हो सकता है। चर को संबंधित ABAP प्रोग्राम में घोषित और भरा जाना चाहिए।
- ध्यान दें, FIELD कथन स्क्रीन फ़ील्ड की सामग्री को स्थानांतरित नहीं करता है ABAP प्रोग्राम में PROCESS ON HELP-REQUEST इवेंट में। यह केवल सहायता दस्तावेज़ दिखाता है। बस इतना ही।
मॉड्यूल ABAP प्रोग्राम में इसे एक सामान्य PAI मॉड्यूल की तरह परिभाषित किया गया है। मॉड्यूल के प्रोसेसिंग लॉजिक को यह सुनिश्चित करना होगा कि संबंधित फ़ील्ड के लिए पर्याप्त सहायता प्रदर्शित हो। टेक्स्ट फ़ील्ड वाली एक अतिरिक्त स्क्रीन को कॉल करने के बजाय, उपयुक्त सहायता प्रदर्शित करने के लिए आप निम्नलिखित फ़ंक्शन मॉड्यूल में से किसी एक का उपयोग कर सकते हैं। SAPस्क्रिप्ट दस्तावेज़
HELP_OBJECT_SHOW_FOR_FIELD
- यह फ़ंक्शन मॉड्यूल ABAP शब्दकोश से किसी भी संरचना या डेटाबेस तालिका के घटकों के लिए डेटा तत्व दस्तावेज़ प्रदर्शित करता है।
- आप घटक और संरचना या तालिका का नाम आयात पैरामीटर FIELD और TABLE में पास करते हैं।
HELP_ऑब्जेक्ट_शो
- किसी भी प्रदर्शित करने के लिए इस फ़ंक्शन मॉड्यूल का उपयोग करें SAPस्क्रिप्ट दस्तावेज़.
- आपको दस्तावेज़ वर्ग (उदाहरण के लिए, सामान्य पाठ के लिए TX, डेटा तत्व दस्तावेज़ीकरण के लिए DE) और दस्तावेज़ का नाम आयात पैरामीटर DOKCLASS और DOKNAME में पास करना होगा।
- तकनीकी कारणों से, आपको लाइन प्रकार T के साथ एक खाली आंतरिक तालिका भी पास करनी होगी।LINE फ़ंक्शन मॉड्यूल के टेबल्स पैरामीटर के लिए।
F1 इस क्षेत्र के बारे में जानकारी देता है। अगले इवेंट में यह बताया गया है कि इसमें क्या-क्या दर्ज किया जा सकता है।
मूल्य पर प्रक्रिया (POV): F4
- जब उपयोगकर्ता संभावित प्रविष्टियाँ (F4) फ़ंक्शन चुनता है, तो सिस्टम किसी फ़ील्ड (मान, चेक तालिका, मिलान कोड) के लिए संभावित इनपुट मान प्रदर्शित करता है, बशर्ते कि वे डेवलपर द्वारा संग्रहीत किए गए हों।
- यदि उपयोगकर्ता ने "संभावित प्रविष्टियाँ" कॉल की हैं तो PROCESS ON VALUE-REQUEST ईवेंट हमेशा संसाधित होता है।
- स्क्रीन पर किसी फ़ील्ड के लिए संभावित मान परिभाषित करने के लिए, आपको स्क्रीन प्रवाह तर्क के POV इवेंट में निम्नलिखित को परिभाषित करना होगा:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- संभावित मानों के लिए, ऊपर परिभाषित मॉड्यूल के भीतर, आपको सामान्य फ़ंक्शन मॉड्यूल का उपयोग करना चाहिए HELP_VALUES_GET_WITH_TABLE ABAP शब्दकोष से संभावित मान प्राप्त करने के लिए।
कुछ अन्य फ़ंक्शन भी हैं जिनका उपयोग इनपुट सहायता के लिए किया जा सकता है:
F4IF_FIELD_VALUE_REQUEST
- ABAP शब्दकोश की इनपुट सहायता को गतिशील रूप से कॉल करता है।
- आप ABAP शब्दकोश की संरचना या डेटाबेस तालिका के घटक नामों को आयात पैरामीटर TABNAME और FIELDNAME में फ़ंक्शन मॉड्यूल में पास कर सकते हैं।
- फ़ंक्शन मॉड्यूल प्रारंभ होता है एबीएपी शब्दकोश इस घटक के लिए इनपुट सहायता। सभी प्रासंगिक स्क्रीन फ़ील्ड पढ़े जाते हैं।
- यदि आप आयात पैरामीटर DYNPPROG, DYNPNR, और DYNPROFIELD निर्दिष्ट करते हैं, तो उपयोगकर्ता का चयन स्क्रीन पर संबंधित फ़ील्ड पर वापस आ जाता है।
- यदि आप तालिका पैरामीटर RETURN_TAB निर्दिष्ट करते हैं, तो चयन तालिका में वापस कर दिया जाता है।
MODULE VALUE_CARRIER INPUT. CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' EXPORTING TABNAME = 'DEMOF4HELP' FIELDNAME = 'CARRIER1' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD= 'CARRIER'. ENDMODULE.
F4IF_INT_TABLE_VALUE_REQUEST
- यह फ़ंक्शन मॉड्यूल आपके द्वारा बनाई गई मान सूची प्रदर्शित करता है एबीएपी कार्यक्रम.
- मान सूची को तालिका पैरामीटर VALUE_TAB के रूप में फ़ंक्शन मॉड्यूल में पास किया जाता है।
- यदि आप आयात पैरामीटर DYNPPROG, DYNPNR, और DYNPROFIELD निर्दिष्ट करते हैं, तो उपयोगकर्ता का चयन स्क्रीन पर संबंधित फ़ील्ड पर वापस आ जाता है।
- यदि आप तालिका पैरामीटर RETURN_TAB निर्दिष्ट करते हैं, तो चयन तालिका में वापस कर दिया जाता है।
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
POH और POV के बारे में बस इतना ही। किसी भी संदेह के मामले में अपनी टिप्पणी छोड़ दें।
आंतरिक तालिका से F4 सहायता कैसे बनाएं
ABAP डिक्शनरी में मौजूद न होने वाली एक मान सूची प्रोग्राम के अंदर बनाई जाती है और F4IF_INT_TABLE_VALUE_REQUEST को सौंपी जाती है। नीचे दिए गए चरणों से स्क्रीन फ़ील्ड के लिए एक कार्यशील F4 सहायता तैयार होती है।
- वैल्यू टेबल घोषित करें: एक आंतरिक तालिका बनाएं जिसका पहला कॉलम वह मान रखता हो जिसे स्क्रीन पर वापस लिखा जाता है। इसे PBO मॉड्यूल में या वैल्यू रिक्वेस्ट मॉड्यूल में ही भरें।
- फ्लो लॉजिक में फ़ील्ड को रजिस्टर करें: स्क्रीन पर PROCESS ON VALUE-REQUEST जोड़ें और फ़ील्ड को FIELD … MODULE … से कनेक्ट करें ताकि F4 दबाने पर मॉड्यूल चले।
- फ़ंक्शन मॉड्यूल को कॉल करें: RETFIELD को कॉलम नाम के साथ, DYNPROFIELD को स्क्रीन फ़ील्ड नाम के साथ और VALUE_ORG = 'S' पास करें क्योंकि सूची को एक संरचित तालिका के रूप में पास किया जाता है।
- मान लौटाएँ: DYNPPROG और DYNPNR प्रोग्राम और स्क्रीन की पहचान करते हैं, इसलिए चयनित पंक्ति को अतिरिक्त कोड के बिना सीधे स्क्रीन फ़ील्ड में लिखा जाता है।
- झसे आज़माओ: स्क्रीन को सक्रिय करें, फ़ील्ड पर F4 दबाएं, और जांचें कि सूची दिखाई देती है और चयन फ़ील्ड तक पहुंच जाता है।
* Flow logic of the screen PROCESS ON VALUE-REQUEST. FIELD spfli-connid MODULE f4_connid. * Module in the ABAP program MODULE f4_connid INPUT. DATA: lt_values TYPE STANDARD TABLE OF spfli. SELECT * FROM spfli INTO TABLE lt_values WHERE carrid = spfli-carrid. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'CONNID' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'SPFLI-CONNID' value_org = 'S' TABLES value_tab = lt_values. ENDMODULE.
💡टिप: सूची भरने से पहले, फ़ंक्शन मॉड्यूल DYNP_VALUES_READ का उपयोग करके किसी अन्य स्क्रीन फ़ील्ड का मान पढ़ें। इस प्रकार, पहले से दर्ज की गई एयरलाइन के कनेक्शन जैसी आश्रित F4 सहायता तैयार की जाती है।

