SAP मूल्य पर प्रक्रिया और सहायता-अनुरोध पर प्रक्रिया

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

Process On Value-Request और Process On Help-Request, F4 और F1 के पीछे स्थित स्क्रीन इवेंट हैं। SAP ABAP. यह पृष्ठ दोनों घटनाओं, उन्हें ट्रिगर करने वाले FIELD कथनों और दस्तावेज़ीकरण या संभावित प्रविष्टियों को प्रदर्शित करने वाले फ़ंक्शन मॉड्यूल की व्याख्या करता है।

  • पीओएच का उद्देश्य: PROCESS ON HELP-REQUEST, F1 पर प्रतिक्रिया करता है और ABAP डिक्शनरी में संग्रहीत फ़ील्ड दस्तावेज़ीकरण दिखाता है।
  • 🔎 दृष्टिकोण का उद्देश्य: PROCESS ON VALUE-REQUEST, F4 पर प्रतिक्रिया करता है और मानों, एक चेक टेबल या खोज सहायता द्वारा परिभाषित संभावित प्रविष्टियों को दिखाता है।
  • 🧾 बैकअप नियम: जब POH इवेंट अनुपस्थित होता है, तो सिस्टम डेटा एलिमेंट डॉक्यूमेंटेशन पर वापस आ जाता है, और जब वह भी अनुपस्थित होता है तो सिस्टम कुछ भी प्रदर्शित नहीं करता है।
  • 🚫 परिवहन सीमा: POH में FIELD स्टेटमेंट स्क्रीन फील्ड को प्रोग्राम में स्थानांतरित नहीं करता है, क्योंकि यह केवल सहायता प्रदर्शित करता है।
  • 📚 सहायता मॉड्यूल: HELP_OBJECT_SHOW_FOR_FIELD डेटा तत्व दस्तावेज़ीकरण प्रदर्शित करता है, और HELP_OBJECT_SHOW किसी भी अन्य जानकारी को प्रदर्शित करता है। SAPस्क्रिप्ट दस्तावेज़.
  • ???? मूल्य मॉड्यूल: F4IF_FIELD_VALUE_REQUEST डिक्शनरी इनपुट सहायता शुरू करता है, और F4IF_INT_TABLE_VALUE_REQUEST प्रोग्राम के अंदर निर्मित सूची प्रदर्शित करता है।
  • वापसी का पथ: DYNPPROG, DYNPNR और DYNPROFIELD चयनित मान को स्क्रीन फ़ील्ड में लौटाते हैं, जबकि RETURN_TAB इसे एक तालिका में लौटाता है।

SAP मूल्य पर प्रक्रिया और सहायता अनुरोध पर प्रक्रिया

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 सहायता तैयार होती है।

  1. वैल्यू टेबल घोषित करें: एक आंतरिक तालिका बनाएं जिसका पहला कॉलम वह मान रखता हो जिसे स्क्रीन पर वापस लिखा जाता है। इसे PBO मॉड्यूल में या वैल्यू रिक्वेस्ट मॉड्यूल में ही भरें।
  2. फ्लो लॉजिक में फ़ील्ड को रजिस्टर करें: स्क्रीन पर PROCESS ON VALUE-REQUEST जोड़ें और फ़ील्ड को FIELD … MODULE … से कनेक्ट करें ताकि F4 दबाने पर मॉड्यूल चले।
  3. फ़ंक्शन मॉड्यूल को कॉल करें: RETFIELD को कॉलम नाम के साथ, DYNPROFIELD को स्क्रीन फ़ील्ड नाम के साथ और VALUE_ORG = 'S' पास करें क्योंकि सूची को एक संरचित तालिका के रूप में पास किया जाता है।
  4. मान लौटाएँ: DYNPPROG और DYNPNR प्रोग्राम और स्क्रीन की पहचान करते हैं, इसलिए चयनित पंक्ति को अतिरिक्त कोड के बिना सीधे स्क्रीन फ़ील्ड में लिखा जाता है।
  5. झसे आज़माओ: स्क्रीन को सक्रिय करें, फ़ील्ड पर 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 सहायता तैयार की जाती है।

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

दोनों में से कोई नहीं। F1 और F4 स्क्रीन को बाधित करते हैं और अपना स्वयं का इवेंट चलाते हैं, फिर उसी स्क्रीन पर वापस आ जाते हैं। नियमित PAI प्रोसेसिंग तभी शुरू होती है जब उपयोगकर्ता एक सामान्य फ़ंक्शन कोड को ट्रिगर करता है।

डेटा एलिमेंट या चेक टेबल से जुड़ी सर्च हेल्प पहले से ही F4 लिस्ट तैयार कर देती है। POV कोडिंग की आवश्यकता केवल तभी होती है जब मान रनटाइम पर गणना किए जाते हैं या स्क्रीन के किसी अन्य फ़ील्ड पर निर्भर करते हैं।

कॉलम के नाम के साथ DYNPROFIELD पास करें और GET CURSOR का उपयोग करें। LINE पंक्ति का पता लगाने के लिए। फिर फ़ंक्शन मॉड्यूल अगले PBO पर नियंत्रण की सही पंक्ति में मान लिखता है।

जी हां। ABAP डेवलपमेंट टूल्स में AI असिस्टेंट POV फ्लो लॉजिक, वैल्यू टेबल को भरने वाला SELECT क्वेरी और सही RETFIELD और DYNPROFIELD पैरामीटर के साथ F4IF_INT_TABLE_VALUE_REQUEST को कॉल करने का लॉजिक लिखते हैं।

नहीं। F1 अभी भी ABAP डिक्शनरी में संग्रहीत दस्तावेज़ों को पढ़ता है। AI सहायक जैसे कि SAP जूल स्क्रीन के बगल में सरल भाषा में प्रश्नों के उत्तर देता है, जो फील्ड डॉक्यूमेंटेशन का पूरक है न कि उसका विकल्प।

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