SAP Değere Göre Süreç ve Yardım Talebi Üzerine Süreç
⚡ Akıllı Özet
"Değer Talebi Üzerine İşlem" ve "Yardım Talebi Üzerine İşlem", F4 ve F1 tuşlarının arkasındaki ekran olaylarıdır. SAP ABAP. Bu sayfa, hem olayları, hem de bunları tetikleyen FIELD ifadelerini ve dokümantasyonu veya olası girdileri görüntüleyen fonksiyon modüllerini açıklamaktadır.
POH ve POV nedir?
Öncelikle, ekran akışı mantığı ve kullanım alanları hakkında hiçbir şey bilmiyorsanız, bu konuyu daha detaylı incelemeniz gerekiyor. SAPBu konuda hazırladığımız eğitim videosunu izlemenizi öneririz. Diyalog Programı.
POH ve POV, kullanıcının yardım isteğine yanıt veren iki ekran olayıdır. POH, F1 tuşuna tepki verir ve bir alanın ne anlama geldiğini açıklar; POV ise F4 tuşuna tepki verir ve alanın kabul ettiği değerleri listeler. Her ikisi de ekranın akış mantığında, PBO ve PAI'nin yanında tanımlanır.
| Kriterler | POH (Yardım Talebi İşlemi) | POV (Değer Talebine Dayalı İşlem) |
|---|---|---|
| Tetikleyen | F1 tuşu | F4 tuşu veya Olası girişler düğmesi |
| Amaç | Alanın anlamını açıklıyor. | Alanın kabul ettiği değerleri sunar. |
| Varsayılan kaynak | ABAP Sözlüğündeki veri öğesi dokümantasyonu | Sabit değerler, kontrol tablosu veya arama yardımı |
| Veri aktarımı | Hiçbiri, alan yalnızca görüntüleniyor. | Seçilen değer ekran alanına geri yazılır. |
| Tipik fonksiyon modülü | HELP_OBJECT_SHOW_FOR_FIELD | F4IF_INT_TABLE_VALUE_REQUEST |
Şimdi POH ve POV'ye ayrıntılı olarak bakalım
Yardım Talebi Süreci (POH): F1 Yardımı
- F1 tuşuna her basıldığında, belirtilen veri öğesi için POH olayı yürütülür.
- Bir ekranın işlem mantığında "YARDIM İSTEĞİ ÜZERİNE İŞLEM" olayı mevcut değilse, ABAP Sözlüğündeki alanın dokümantasyonu temel alınarak görüntülenir. Bu dokümantasyon mevcut olmasa bile, hiçbir yardım görüntülenmez.
- Alan yardım belgelerini görüntülemek için POH olayında aşağıdaki ekran akışı mantığını kodlamanız gerekir:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- Alan için ekrana özel veri öğesi dokümantasyonu varsa numarasını belirterek görüntüleyebilirsiniz .
- Numara bir değişmez veya değişken olabilir. Değişken ilgili ABAP programında bildirilmeli ve doldurulmalıdır.
- FIELD ifadesinin ekran alanının içeriğini aktarmadığını unutmayın. YARDIM-TALEP ÜZERİNE İŞLEM etkinliğinde ABAP programına. Yalnızca yardım belgelerini gösterir. Bu kadar.
Modül ABAP programında normal bir PAI modülü gibi tanımlanır. Modülün işlem mantığı, söz konusu alan için yeterli yardımın görüntülenmesini sağlamalıdır. Metin alanları içeren ek bir ekran çağırmak yerine, uygun bir bilgi görüntülemek için aşağıdaki fonksiyon modüllerinden birini kullanmalısınız. SAPsenaryo belgesi
HELP_OBJECT_SHOW_FOR_FIELD
- Bu işlev modülü, ABAP Sözlüğündeki herhangi bir yapının veya veritabanı tablosunun bileşenleri için veri öğesi belgelerini görüntüler.
- Bileşenin ve yapının veya tablonun adını FIELD ve TABLE içe aktarma parametrelerine iletirsiniz.
HELP_OBJECT_SHOW
- Herhangi bir öğeyi görüntülemek için bu işlev modülünü kullanın. SAPkomut dosyası belgesi.
- Belge sınıfını (örneğin, genel metinler için TX, veri öğesi belgeleri için DE) ve belgenin adını DOKCLASS ve DOKNAME içe aktarma parametrelerine iletmelisiniz.
- Teknik nedenlerden dolayı, satır tipi T olan boş bir dahili tablo da iletmeniz gerekmektedir.LINE fonksiyon modülünün tables parametresine.
F1, alanı açıklıyor. Sonraki etkinlik, alana nelerin girilebileceğini listeliyor.
Değere Göre Süreç (POV): F4
- Kullanıcı Olası girişler (F4) işlevini seçtiğinde sistem, geliştirici tarafından saklanmaları koşuluyla bir alan için olası giriş değerlerini (değerler, kontrol tablosu, eşleştirme kodu) görüntüler.
- VALUE-REQUEST ÜZERİNDE PROSES olayı, eğer kullanıcı "Olası girişler"i çağırmışsa her zaman işlenir.
- Ekrandaki bir alan için Olası değerleri tanımlamak için, ekran akış mantığının POV olayında aşağıdakileri tanımlamanız gerekir:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- Yukarıda tanımlanan modül içindeki Olası değerler için genel işlev modülünü kullanmalısınız. HELP_VALUES_GET_WITH_TABLE ABAP Sözlüğünden olası değerleri almak için.
Giriş yardımı için kullanılabilecek başka işlevler de vardır:
F4IF_FIELD_VALUE_REQUEST
- ABAP Sözlüğünün giriş yardımını dinamik olarak çağırır.
- ABAP Sözlüğünün bir yapısının veya veritabanı tablosunun bileşen adlarını TABNAME ve FIELDNAME içe aktarma parametrelerindeki işlev modülüne aktarabilirsiniz.
- İşlev modülü şunları başlatır: ABAP Sözlüğü Bu bileşen için yardım girin. İlgili ekran alanlarının tümü okunur.
- DYNPPROG, DYNPNR ve DYNPROFIELD içe aktarma parametrelerini belirtirseniz kullanıcının seçimi ekrandaki ilgili alana döndürülür.
- RETURN_TAB tablo parametresini belirtirseniz seçim bunun yerine tabloya döndürülür.
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
- Bu işlev modülü, oluşturduğunuz bir değer listesini görüntüler. ABAP programı.
- Değer listesi işlev modülüne VALUE_TAB tablo parametresi olarak aktarılır.
- DYNPPROG, DYNPNR ve DYNPROFIELD içe aktarma parametrelerini belirtirseniz kullanıcının seçimi ekrandaki ilgili alana döndürülür.
- RETURN_TAB tablo parametresini belirtirseniz seçim bunun yerine tabloya döndürülür.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
Hepsi POH ve POV için. Herhangi bir şüpheniz olması durumunda yorumlarınızı bırakın.
Dahili Tablodan F4 Yardımı Nasıl Oluşturulur?
ABAP Sözlüğünde bulunmayan bir değer listesi program içinde oluşturulur ve F4IF_INT_TABLE_VALUE_REQUEST fonksiyonuna iletilir. Aşağıdaki adımlar, bir ekran alanı için çalışan bir F4 yardım mesajı üretir.
- Değer tablosunu tanımlayın: Ekrana geri yazılacak değeri içeren ilk sütuna sahip bir dahili tablo oluşturun. Bunu bir PBO modülünde veya değer isteği modülünün kendisinde doldurun.
- Alanı akış mantığına kaydedin: Ekrana "PROCESS ON VALUE-REQUEST" ifadesini ekleyin ve alanı "FIELD … MODULE …" ile bağlayın, böylece F4 tuşuna basıldığında modül çalışır.
- Fonksiyon modülünü çağırın: RETFIELD parametresine sütun adını, DYNPROFIELD parametresine ekran alanı adını ve VALUE_ORG = 'S' değerini girin, çünkü liste yapılandırılmış bir tablo olarak iletilmektedir.
- Değeri döndürün: DYNPPROG ve DYNPNR, programı ve ekranı tanımlar; böylece seçilen satır, ek kod yazılmadan doğrudan ekran alanına yazılır.
- Dene: Ekranı etkinleştirin, alanda F4 tuşuna basın ve listenin göründüğünü ve seçimin alana ulaştığını kontrol edin.
* 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.
💡 İpucu: Listeyi doldurmadan önce DYNP_VALUES_READ fonksiyon modülü ile başka bir ekran alanının değerini okuyun. Bu şekilde, daha önce girilmiş havayolu şirketlerine ait bağlantılar gibi bağımlı bir F4 yardımı oluşturulur.

