SAP 가치에 따른 처리 및 도움 요청에 대한 처리

⚡ 스마트 요약

값 요청 처리 및 도움 요청 처리는 F4 및 F1 키에 해당하는 화면 이벤트입니다. SAP ABAP. 이 페이지에서는 이벤트, 해당 이벤트를 발생시키는 FIELD 문, 그리고 설명이나 가능한 입력값을 표시하는 함수 모듈에 대해 설명합니다.

  • POH 목적: 도움말 요청에 대한 프로세스는 F1 키에 반응하여 ABAP 딕셔너리에 저장된 필드 설명을 표시합니다.
  • 🔎 POV 목적: 값 요청에 대한 처리 기능은 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와 함께 화면의 흐름 논리에 선언됩니다.

기준 POH(지원 요청 처리 과정) POV(가치 요청 기반 프로세스)
발동되다 F1 키 F4 키 또는 가능한 입력 버튼
목적 해당 분야의 의미를 설명합니다. 해당 필드가 허용하는 값을 제공합니다.
기본 소스 ABAP 사전의 데이터 요소 문서화 고정값, 확인표 또는 검색 도움말
데이터 전송 없음, 해당 필드는 표시만 됩니다. 선택된 값이 화면 필드에 다시 표시됩니다.
일반적인 기능 모듈 HELP_OBJECT_SHOW_FOR_FIELD F4IF_INT_TABLE_VALUE_REQUEST

이제 POH와 POV에 대해 자세히 살펴보겠습니다.

도움말 요청(POH) 프로세스: F1 도움말

  • F1 키를 누를 때마다 지정된 데이터 요소에 대한 POH 이벤트가 실행됩니다.
  • 화면의 처리 로직에 '도움 요청 시 처리' 이벤트가 없는 경우, ABAP 딕셔너리의 해당 필드 문서를 기반으로 도움말이 표시됩니다. 해당 문서조차 없는 경우에는 도움말이 표시되지 않습니다.
  • 필드 도움말 문서를 표시하려면 POH 이벤트에 다음 화면 흐름 논리를 코딩해야 합니다.
PROCESS ON HELP-REQUEST
FIELD <f> [MODULE <mod>] WITH <num>
  • 필드에 대한 화면별 데이터 요소 문서가 있는 경우 , 번호를 지정하여 표시할 수 있습니다. .
  • 수 리터럴이거나 변수일 수 있습니다. 해당 ABAP 프로그램에서 변수를 선언하고 채워야 합니다.
  • FIELD 문은 화면 필드의 내용을 전송하지 않습니다. PROCESS ON HELP-REQUEST 이벤트의 ABAP 프로그램에. 도움말 문서만 표시됩니다. 그게 다야.

모듈 이 모듈은 일반 PAI 모듈처럼 ABAP 프로그램에 정의됩니다. 모듈의 처리 로직은 해당 필드에 대해 적절한 도움말이 표시되도록 해야 합니다. 텍스트 필드가 있는 추가 화면을 호출하는 대신, 다음 함수 모듈 중 하나를 사용하여 적절한 도움말을 표시해야 합니다. SAP스크립트 문서

HELP_OBJECT_SHOW_FOR_FIELD

  • 이 기능 모듈은 ABAP 사전의 모든 구조 또는 데이터베이스 테이블의 구성 요소에 대한 데이터 요소 문서를 표시합니다.
  • 구성요소 및 구조 또는 테이블의 이름을 가져오기 매개변수 FIELD 및 TABLE에 전달합니다.

HELP_OBJECT_SHOW

  • 이 기능 모듈을 사용하여 다음을 표시합니다. SAP스크립트 문서.
  • 문서 클래스(예: 일반 텍스트의 경우 TX, 데이터 요소 문서의 경우 DE)와 문서 이름을 가져오기 매개변수 DOKCLASS 및 DOKNAME에 전달해야 합니다.
  • 기술적인 이유로, 행 유형이 T인 빈 내부 테이블도 함께 전달해야 합니다.LINE 함수 모듈의 tables 매개변수에.

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 Dictionary에서 가능한 값을 가져옵니다.

입력 도움말에 사용할 수 있는 다른 기능도 있습니다:

F4IF_FIELD_VALUE_REQUEST

  • ABAP 사전의 입력 도움말을 동적으로 호출합니다.
  • ABAP 사전의 구조 또는 데이터베이스 테이블의 구성요소 이름을 가져오기 매개변수 TABNAME 및 FIELDNAME의 함수 모듈에 전달할 수 있습니다.
  • 기능 모듈은 ABAP 사전 이 구성 요소에 대한 도움말을 입력합니다. 관련된 화면 필드를 모두 읽습니다.
  • 가져오기 매개변수 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

  • 이 기능 모듈은 사용자가 생성한 값 목록을 표시합니다. ABAP 프로그램.
  • 값 목록은 테이블 매개변수 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 Joule은 화면 옆에 쉬운 언어로 질문에 대한 답변을 제공하여 현장 문서를 대체하는 것이 아니라 보완합니다.

이 게시물을 요약하면 다음과 같습니다.