SAP TB_PARTNER_CHECK Function Module for Check Business Partner
TB_PARTNER_CHECK is a standard tb partner check SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Check Business Partner 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 tb partner check FM, simply by entering the name TB_PARTNER_CHECK into the relevant SAP transaction such as SE37 or SE38.
Function Group: TB03
Program Name: SAPLTB03
Main Program: SAPLTB03
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function TB_PARTNER_CHECK 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 'TB_PARTNER_CHECK'"Check Business Partner.
EXPORTING
* COMPANYCODE = ' ' "Company Code
* SGSART = ' ' "Produktart (für Berechtigungsprüfung)
* I_CONV = 'X' "ZGP Werte in TRGP umwandeln
* ZGP = ' ' "
* FLG_AUTH_INDICATOR_CHECK = ' ' "Berechtigung des Partners prüfen
* FLG_CUSTOMER = 'X' "Debitorische Daten prüfen und lesen
* FLG_DELETE_INDICATOR_CHECK = ' ' "Löschvormerkung von Partner und Rolle prüfen
* FLG_RELEASE_INDICATOR_CHECK = ' ' "Freigabekennzeichen des Partners prüfen
PARTNER = "Geschäftsparter
* I_RLTYP = "Rolle (ZGP)
* ROLE = ' ' "Role
* SFHAART = ' ' "Geschäftsart (für Berechtigungsprüfung)
IMPORTING
BP000_ENTRY = "Eintrag im Geschäftspartnerstamm
BP1000_ENTRY = "Eintrag in Geschäftspartner-Rolle
KNA1_ENTRY = "Eintrag im Debitorenstamm
KNB1_ENTRY = "Eintrag im Debitorenstamm je Buchungskreis
E_BUT000 = "BP: General Data I
E_BUT001 = "BP: General data II
E_BP001 = "Treasury Attributes Organization
E_CUSTOMER = "Customer Number
EXCEPTIONS
CUSTOMER = 1 CUSTOMER_COMPANYCODE = 2 DELETE_INDICATOR_PARTNER = 3 DELETE_INDICATOR_ROLE = 4 PARTNER = 5 PARTNER_AUTH = 6 PARTNER_NOT_RELEASED = 7 ROLE = 8 ADDRESS = 9
IMPORTING Parameters details for TB_PARTNER_CHECK
COMPANYCODE - Company Code
Data type: T001-BUKRSDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
SGSART - Produktart (für Berechtigungsprüfung)
Data type: TZPA-GSARTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CONV - ZGP Werte in TRGP umwandeln
Data type: BOOLE-BOOLEDefault: 'X'
Optional: Yes
Call by Reference: Yes
ZGP -
Data type: BOOLE-BOOLEDefault: ' '
Optional: Yes
Call by Reference: Yes
FLG_AUTH_INDICATOR_CHECK - Berechtigung des Partners prüfen
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
FLG_CUSTOMER - Debitorische Daten prüfen und lesen
Data type:Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
FLG_DELETE_INDICATOR_CHECK - Löschvormerkung von Partner und Rolle prüfen
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
FLG_RELEASE_INDICATOR_CHECK - Freigabekennzeichen des Partners prüfen
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
PARTNER - Geschäftsparter
Data type: BP000-PARTNROptional: No
Call by Reference: No ( called with pass by value option)
I_RLTYP - Rolle (ZGP)
Data type: BUT100-RLTYPOptional: Yes
Call by Reference: Yes
ROLE - Role
Data type: BP1000-ROLETYPDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
SFHAART - Geschäftsart (für Berechtigungsprüfung)
Data type: AT10-SFHAARTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for TB_PARTNER_CHECK
BP000_ENTRY - Eintrag im Geschäftspartnerstamm
Data type: BP000Optional: No
Call by Reference: No ( called with pass by value option)
BP1000_ENTRY - Eintrag in Geschäftspartner-Rolle
Data type: BP1000Optional: No
Call by Reference: No ( called with pass by value option)
KNA1_ENTRY - Eintrag im Debitorenstamm
Data type: KNA1Optional: No
Call by Reference: No ( called with pass by value option)
KNB1_ENTRY - Eintrag im Debitorenstamm je Buchungskreis
Data type: KNB1Optional: No
Call by Reference: No ( called with pass by value option)
E_BUT000 - BP: General Data I
Data type: BUT000Optional: No
Call by Reference: Yes
E_BUT001 - BP: General data II
Data type: BUT001Optional: No
Call by Reference: Yes
E_BP001 - Treasury Attributes Organization
Data type: BP001Optional: No
Call by Reference: Yes
E_CUSTOMER - Customer Number
Data type: KNA1-KUNNROptional: No
Call by Reference: Yes
EXCEPTIONS details
CUSTOMER - Debitor ist nicht vorgesehen
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
CUSTOMER_COMPANYCODE - Debitor ist für Bukrs. nicht vorgesehen
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DELETE_INDICATOR_PARTNER - Löschvormerkung für Geschäftspartner gesetzt
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DELETE_INDICATOR_ROLE - Löschvormerkung für Rolle gesetzt
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
PARTNER - Geschäftsparter
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
PARTNER_AUTH - Partner ist für Geschäft nicht berechtigt
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
PARTNER_NOT_RELEASED - Partner is not released
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ROLE - Role
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ADDRESS - Partneradresse ist nicht vorgesehen
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for TB_PARTNER_CHECK 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_customer | TYPE STRING, " | |||
| lv_bp000_entry | TYPE BP000, " | |||
| lv_companycode | TYPE T001-BUKRS, " SPACE | |||
| lv_sgsart | TYPE TZPA-GSART, " SPACE | |||
| lv_i_conv | TYPE BOOLE-BOOLE, " 'X' | |||
| lv_zgp | TYPE BOOLE-BOOLE, " ' ' | |||
| lv_bp1000_entry | TYPE BP1000, " | |||
| lv_customer_companycode | TYPE BP1000, " | |||
| lv_flg_auth_indicator_check | TYPE BP1000, " SPACE | |||
| lv_kna1_entry | TYPE KNA1, " | |||
| lv_flg_customer | TYPE KNA1, " 'X' | |||
| lv_delete_indicator_partner | TYPE KNA1, " | |||
| lv_knb1_entry | TYPE KNB1, " | |||
| lv_delete_indicator_role | TYPE KNB1, " | |||
| lv_flg_delete_indicator_check | TYPE KNB1, " SPACE | |||
| lv_partner | TYPE KNB1, " | |||
| lv_e_but000 | TYPE BUT000, " | |||
| lv_flg_release_indicator_check | TYPE BUT000, " SPACE | |||
| lv_partner | TYPE BP000-PARTNR, " | |||
| lv_e_but001 | TYPE BUT001, " | |||
| lv_partner_auth | TYPE BUT001, " | |||
| lv_e_bp001 | TYPE BP001, " | |||
| lv_i_rltyp | TYPE BUT100-RLTYP, " | |||
| lv_partner_not_released | TYPE BUT100, " | |||
| lv_role | TYPE BP1000-ROLETYP, " SPACE | |||
| lv_role | TYPE BP1000, " | |||
| lv_e_customer | TYPE KNA1-KUNNR, " | |||
| lv_address | TYPE KNA1, " | |||
| lv_sfhaart | TYPE AT10-SFHAART. " SPACE |
|   CALL FUNCTION 'TB_PARTNER_CHECK' "Check Business Partner |
| EXPORTING | ||
| COMPANYCODE | = lv_companycode | |
| SGSART | = lv_sgsart | |
| I_CONV | = lv_i_conv | |
| ZGP | = lv_zgp | |
| FLG_AUTH_INDICATOR_CHECK | = lv_flg_auth_indicator_check | |
| FLG_CUSTOMER | = lv_flg_customer | |
| FLG_DELETE_INDICATOR_CHECK | = lv_flg_delete_indicator_check | |
| FLG_RELEASE_INDICATOR_CHECK | = lv_flg_release_indicator_check | |
| PARTNER | = lv_partner | |
| I_RLTYP | = lv_i_rltyp | |
| ROLE | = lv_role | |
| SFHAART | = lv_sfhaart | |
| IMPORTING | ||
| BP000_ENTRY | = lv_bp000_entry | |
| BP1000_ENTRY | = lv_bp1000_entry | |
| KNA1_ENTRY | = lv_kna1_entry | |
| KNB1_ENTRY | = lv_knb1_entry | |
| E_BUT000 | = lv_e_but000 | |
| E_BUT001 | = lv_e_but001 | |
| E_BP001 | = lv_e_bp001 | |
| E_CUSTOMER | = lv_e_customer | |
| EXCEPTIONS | ||
| CUSTOMER = 1 | ||
| CUSTOMER_COMPANYCODE = 2 | ||
| DELETE_INDICATOR_PARTNER = 3 | ||
| DELETE_INDICATOR_ROLE = 4 | ||
| PARTNER = 5 | ||
| PARTNER_AUTH = 6 | ||
| PARTNER_NOT_RELEASED = 7 | ||
| ROLE = 8 | ||
| ADDRESS = 9 | ||
| . " TB_PARTNER_CHECK | ||
ABAP code using 7.40 inline data declarations to call FM TB_PARTNER_CHECK
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.| "SELECT single BUKRS FROM T001 INTO @DATA(ld_companycode). | ||||
| DATA(ld_companycode) | = ' '. | |||
| "SELECT single GSART FROM TZPA INTO @DATA(ld_sgsart). | ||||
| DATA(ld_sgsart) | = ' '. | |||
| "SELECT single BOOLE FROM BOOLE INTO @DATA(ld_i_conv). | ||||
| DATA(ld_i_conv) | = 'X'. | |||
| "SELECT single BOOLE FROM BOOLE INTO @DATA(ld_zgp). | ||||
| DATA(ld_zgp) | = ' '. | |||
| DATA(ld_flg_auth_indicator_check) | = ' '. | |||
| DATA(ld_flg_customer) | = 'X'. | |||
| DATA(ld_flg_delete_indicator_check) | = ' '. | |||
| DATA(ld_flg_release_indicator_check) | = ' '. | |||
| "SELECT single PARTNR FROM BP000 INTO @DATA(ld_partner). | ||||
| "SELECT single RLTYP FROM BUT100 INTO @DATA(ld_i_rltyp). | ||||
| "SELECT single ROLETYP FROM BP1000 INTO @DATA(ld_role). | ||||
| DATA(ld_role) | = ' '. | |||
| "SELECT single KUNNR FROM KNA1 INTO @DATA(ld_e_customer). | ||||
| "SELECT single SFHAART FROM AT10 INTO @DATA(ld_sfhaart). | ||||
| DATA(ld_sfhaart) | = ' '. | |||
Search for further information about these or an SAP related objects