SAP TPM_PIN_SELECTION Function Module for Selection Screen
TPM_PIN_SELECTION is a standard tpm pin selection SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Selection Screen processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for tpm pin selection FM, simply by entering the name TPM_PIN_SELECTION into the relevant SAP transaction such as SE37 or SE38.
Function Group: TPM_PIN_DISPLAY
Program Name: SAPLTPM_PIN_DISPLAY
Main Program: SAPLTPM_PIN_DISPLAY
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function TPM_PIN_SELECTION pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'TPM_PIN_SELECTION'"Selection Screen.
EXPORTING
* IM_PRODUCT_GROUP = "Product Group
IM_MODE = ",1=Create,2=Change,3=Display,4=Delete
IMPORTING
EX_PRODUCT_GROUP = "Product Group
EX_DEAL_NUMBER = "Financial Transaction
EX_FLAG_LONG_SHORT = "Long- oder Shortposition
EX_TAB_PS_TERMS = "Table with Position-Differentiating PS Acct Assignments
EX_EXTERNAL_ACCOUNT = "External Account
EX_DIFF_CURRENCY = "Currency as Differentiation Term
EX_CANCEL = "'X'=CANCEL
EX_COMPANY_CODE = "Company Code
EX_COM_VAL_CLASS = "General Valuation Class
EX_SECURITY_ID = "Security ID Number
EX_SECURITY_ACCOUNT = "Securities Account
EX_PORTFOLIO = "Portfolio
EX_LOANS_CONTRACT = "Contract Number
EX_CLASS_ID = "Security ID Number
EX_POSITION_ACCOUNT = "Futures Account for Listed Options and Futures
IMPORTING Parameters details for TPM_PIN_SELECTION
IM_PRODUCT_GROUP - Product Group
Data type: TPM_PRODUCT_GROUPOptional: Yes
Call by Reference: Yes
IM_MODE - ,1=Create,2=Change,3=Display,4=Delete
Data type: IOptional: No
Call by Reference: Yes
EXPORTING Parameters details for TPM_PIN_SELECTION
EX_PRODUCT_GROUP - Product Group
Data type: TPM_PRODUCT_GROUPOptional: No
Call by Reference: Yes
EX_DEAL_NUMBER - Financial Transaction
Data type: TB_RFHAOptional: No
Call by Reference: Yes
EX_FLAG_LONG_SHORT - Long- oder Shortposition
Data type: TPM_FLAG_LONG_SHORTOptional: No
Call by Reference: Yes
EX_TAB_PS_TERMS - Table with Position-Differentiating PS Acct Assignments
Data type: TRGY_PS_TERMSOptional: No
Call by Reference: Yes
EX_EXTERNAL_ACCOUNT - External Account
Data type: TPM_EXT_ACCOUNTOptional: No
Call by Reference: Yes
EX_DIFF_CURRENCY - Currency as Differentiation Term
Data type: TPM_DIFF_CURRENCYOptional: No
Call by Reference: Yes
EX_CANCEL - 'X'=CANCEL
Data type: CHAR1Optional: No
Call by Reference: Yes
EX_COMPANY_CODE - Company Code
Data type: BUKRSOptional: No
Call by Reference: Yes
EX_COM_VAL_CLASS - General Valuation Class
Data type: TPM_COM_VAL_CLASSOptional: No
Call by Reference: Yes
EX_SECURITY_ID - Security ID Number
Data type: VVRANLWOptional: No
Call by Reference: Yes
EX_SECURITY_ACCOUNT - Securities Account
Data type: RLDEPOOptional: No
Call by Reference: Yes
EX_PORTFOLIO - Portfolio
Data type: RPORTBOptional: No
Call by Reference: Yes
EX_LOANS_CONTRACT - Contract Number
Data type: RANLOptional: No
Call by Reference: Yes
EX_CLASS_ID - Security ID Number
Data type: VVRANLWOptional: No
Call by Reference: Yes
EX_POSITION_ACCOUNT - Futures Account for Listed Options and Futures
Data type: TPM_POS_ACCOUNT_FUTOptional: No
Call by Reference: Yes
Copy and paste ABAP code example for TPM_PIN_SELECTION Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_ex_product_group | TYPE TPM_PRODUCT_GROUP, " | |||
| lv_im_product_group | TYPE TPM_PRODUCT_GROUP, " | |||
| lv_ex_deal_number | TYPE TB_RFHA, " | |||
| lv_ex_flag_long_short | TYPE TPM_FLAG_LONG_SHORT, " | |||
| lv_ex_tab_ps_terms | TYPE TRGY_PS_TERMS, " | |||
| lv_ex_external_account | TYPE TPM_EXT_ACCOUNT, " | |||
| lv_ex_diff_currency | TYPE TPM_DIFF_CURRENCY, " | |||
| lv_ex_cancel | TYPE CHAR1, " | |||
| lv_im_mode | TYPE I, " | |||
| lv_ex_company_code | TYPE BUKRS, " | |||
| lv_ex_com_val_class | TYPE TPM_COM_VAL_CLASS, " | |||
| lv_ex_security_id | TYPE VVRANLW, " | |||
| lv_ex_security_account | TYPE RLDEPO, " | |||
| lv_ex_portfolio | TYPE RPORTB, " | |||
| lv_ex_loans_contract | TYPE RANL, " | |||
| lv_ex_class_id | TYPE VVRANLW, " | |||
| lv_ex_position_account | TYPE TPM_POS_ACCOUNT_FUT. " |
|   CALL FUNCTION 'TPM_PIN_SELECTION' "Selection Screen |
| EXPORTING | ||
| IM_PRODUCT_GROUP | = lv_im_product_group | |
| IM_MODE | = lv_im_mode | |
| IMPORTING | ||
| EX_PRODUCT_GROUP | = lv_ex_product_group | |
| EX_DEAL_NUMBER | = lv_ex_deal_number | |
| EX_FLAG_LONG_SHORT | = lv_ex_flag_long_short | |
| EX_TAB_PS_TERMS | = lv_ex_tab_ps_terms | |
| EX_EXTERNAL_ACCOUNT | = lv_ex_external_account | |
| EX_DIFF_CURRENCY | = lv_ex_diff_currency | |
| EX_CANCEL | = lv_ex_cancel | |
| EX_COMPANY_CODE | = lv_ex_company_code | |
| EX_COM_VAL_CLASS | = lv_ex_com_val_class | |
| EX_SECURITY_ID | = lv_ex_security_id | |
| EX_SECURITY_ACCOUNT | = lv_ex_security_account | |
| EX_PORTFOLIO | = lv_ex_portfolio | |
| EX_LOANS_CONTRACT | = lv_ex_loans_contract | |
| EX_CLASS_ID | = lv_ex_class_id | |
| EX_POSITION_ACCOUNT | = lv_ex_position_account | |
| . " TPM_PIN_SELECTION | ||
ABAP code using 7.40 inline data declarations to call FM TPM_PIN_SELECTION
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.Search for further information about these or an SAP related objects