0% found this document useful (0 votes)
785 views19 pages

SAFT-PT User Exits

This document describes various transaction types for a user exit used to customize XML output for tax reporting. Transaction types include filling material types, setting transaction descriptions, mapping invoice types, fetching customer/vendor details, setting debit/credit amounts, and identifying financial invoices. The user exit allows customizing fields like product type, description, invoice type, amounts, conditions, payment mechanisms, materials, exchange rates and more based on customer-specific mappings and logic.

Uploaded by

ordonezpedro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
785 views19 pages

SAFT-PT User Exits

This document describes various transaction types for a user exit used to customize XML output for tax reporting. Transaction types include filling material types, setting transaction descriptions, mapping invoice types, fetching customer/vendor details, setting debit/credit amounts, and identifying financial invoices. The user exit allows customizing fields like product type, description, invoice type, amounts, conditions, payment mechanisms, materials, exchange rates and more based on customer-specific mappings and logic.

Uploaded by

ordonezpedro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Transaction Type 1: To fill Material Type

Description: Fill Reference material type.


Scenario/Usage:
To identify Product Type (of the materials from the complete product data)
IMPORT PARAMETERS: WA_MASTER
(Allows MATNR, MAKTL, MAKTX, and EAN11 to be available to identify the corresponding
PRODUCT_TYPE)
EXPORT PARAMERTERS: WA_MASTER-MTREF
Report would send complete product data (matnr, matkl, maktx, ean11 in the work area
wa_master); exit should then fetch mtref from customer specific coding and fill up the user exits
export parameter product_type in the user exit.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 2: To set description of Transactions in Fi Section of XML file.
Scenario: Used to set the description of transactions.

Import Parameters: wa_master
Export Parameters: tdgl_desc
Pass the description of transaction in the parameter tdgl_desc.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 3: To map the correct Invoice Type of Billing Documents.
Scenario: Invoice Type mapping
The customer has some set of document types specifically for the invoice, but this is not same
as ones described by the DGCI Authorities and hence needs to be map customer specific
invoice type values to Tax Authority Specific Values
XML field: InvoiceType

Solution:
User Exit Option provided to map customer specific Invoice Types to the Tax Authorities specified
Types.
Use Transaction Type = 3 to map the customer specific values to Tax Authorities specified values

CALL FUNCTION 'PT_USER_EXIT_DART'
EXPORTING
wa_master = wa_master
transaction_type = 3
IMPORTING
invoice_type = tdglsedc.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 4: To fetch the customer details for the master section.
Description: Reading customer specific name ( 1 to 4 ).
Import Parameter: WA_MASTER
Parameters available: ALL CUSTOMER MASTER INFORMATION
Export Parameter: WA_MASTER_CP
Scenario /Usage:
Allows to retrieve customer details , if has to deviate from generic fetch
Customer specific values can be retrieved and populated to the new work area:
WA_MASTER_CP, which has exactly the same structure definition as WA_MASTER.
If WA_MASTER_CP is populated, these values will be considered for customer data population
for the XML creation.

--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 5: To fetch the vendor details for the master section.
Description: Reading customer specific name ( 1 to 4 ).
Import Parameter: WA_MASTER
Parameters available: ALL Vendor MASTER INFORMATION
Export Parameter: WA_MASTER_CP
Scenario /Usage:
Allows to retrieve vendor details , if has to deviate from the generic fetch
Vendor specific values can be retrieved and populated to the new work area:
WA_MASTER_CP, which has exactly the same structure definition as WA_MASTER.
If WA_MASTER_CP is populated, these values will be considered for vendor
master names population for the XML creation
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 6: To set the customer specific debit/credit amounts.
Report will pass document details in the work area wa_master, exit should then
copy this data into one more work area of the exit - wa_master_cp and then fill up
the fields sd_dr_amount/ sd_cr_amount of wa_master_cp based on customer
specific VBTYP.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 10: To set the customer specific Condition Type and Settlement Amount.
Refer note : 1300586 for more details on this.
If customers use kntyp as E but a different kschl which is part of condition
record for the document, it would be sufficient to pass kschl into the user
exits export parameter product_type.
If customers dont use kntyp as E then exit has to pass the line settelemnt
amount in the user exits export parameter wrk_amount.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 20: To Identify FI invoice.
To identify FI invoices other than using SD00 and document types
Wa_master has the information based on current line item being processed and also the
document header.
CALL FUNCTION 'PT_USER_EXIT_DART'
EXPORTING
wa_master = wa_master
transaction_type = '20'
wa_fi_hd = wa_fi_hd
IMPORTING
invoice_type = tdglsedc.
Pass Y to invoice_type value from the user exit, if the document is a manual FI invoice to be
considered for the XML creation
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 21: Journal Description.
Report will pass document details in the work area wa_master and also the
header in wa_fi_hd, exit should then send the description.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 22: To set the Numbering Seies of SD documents.
Report will pass document details in the work area wa_master, exit should then
send the Numbering series to the user exits export parameter tdgl_desc so
that this can be concatenated to invoice number filed of the XML file.

--------------------------------------------------------------------------------------------------------------------------------



Transaction Type 25: To set the Payment Payment Mechanism
Report fill up this field with values TB or CH based on zlsch(Payment
Method) from VBRK values T and C. For user specific types, exit will be called
and based on billing document details from the work area wa_master,
customer specific PaymentMechanism has to be filled in the user exits export
parameter tdgl_desc.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 27: For Material Master Data Creation(FI invoices)
The materials have to be identified explicitly in the cases where it is not a part of the
standard
MARA tables
SAFTPT_FIMD(G/L account based material identification)
And PTSAFT_MATPRE (SAFT PT: prefix for material numbers) of company code
Combinations.
The materials are provided in each line item of Accounting document(TEXT) as shown
Below VF3WC8HZC9E043129 is the product description, but a product code associated with
this cannot be identified from any of the 3 options mentioned above
Pre-Requisites
Pre-requisites before the user exit can be made use of
Product Code
1. Customers should have mechanism to relate the product description to a
product code via creating & maintaining customer specific tables
2. Customer needs to maintain code for retrieving data based on the data
maintained in the customer specific table and for the transaction type = 27 in
the user exit
Function module parameters available for material identification
INPUT/ IMPORTING PARAMETERS TO FUNCTION MODULE
WA_MASTER
TRANSACTION_TYPE = 27
OUTPUT / exporting (tables) parameters from function module
Materials identified to be part of XML file to be filled in an
internal table with type SAFTPT_PRODS Need to pass to report the following values
MATNR (Material Number)
MTREF (Reference material type)
CNAME1(Material Group Description)
MAKTX(Material Description (Short Text))
EAN11(International Article Number (EAN/UPC),if available

--------------------------------------------------------------------------------------------------------------------------------


Transaction Type 28: Product Code is empty always for manual FI invoices
Description: Product code and description are derived based on line item description when sales
invoices are generated from FI module directly.
The user exit is required to include the materials derived from line item description, when the
materials used in the manual invoice cannot be identified by contract type or by the G/L
accounts to which it is being posted to. Line item descriptions provided in the accounting
document is taken as the product description.
Scenario:
Each FI invoice will have the product description mentioned in the line item description .From
this, its not possible to identify a product code to be made available in XML file
-How to use the user exit in SourceDocuments sections
Pre-requisites
1. Customers should
a. Maintain the product code/product description data in customer specific tables (or)
b. Have logic to identify product code from line item descriptions
2. Use the transaction type = 28 to retrieve or maintain logic for product code /product
description in case of SourceDocuments section(FISD_RE)
Function module parameters available for material identification
Importing parameters/ inputs to function module
Wa_master ( provides all information including the line item number which is
being currently processed WA_MASTER-POSNR)
Document header based on which the line items have to be retrieved
and corresponding descriptions identified
OUTPUT / exporting (tables) parameters from function module
PROD_CODE => PRODUCT CODE
PROD_DESCRIPTION => PRODUCT DESCRIPTION

--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 31: To set the Exchange rate for Billing Documents
Scenario:
If exchange rate in FI document differs from SD invoice, then populate the user exit to pass the
exchangerate.
Import Parameters: wa_master
Export Parameters: tdgl_desc.
--------------------------------------------------------------------------------------------------------------------------------



Transaction Type 34: To set the Exemption Reason.
Description:
Populate the exemption reason as per the customer logic that suites the business process.
XML Field number:
IMPORT PARAMETERS: WA_MASTER, WA_FI_HD
EXPORT Parameter: WA_MASTER
Scenario /Usage:
If tax exemption reason is mainatained in SAFT_PT_TAX_DATA, Then this will
have the priority1. If its not present then the user exit can be made use of to populate theex
emption reason as per the customer logic that suites the business process.
--------------------------------------------------------------------------------------------------------------------------------

Transaction Type 35: Invalid Line Items to be ignored from SD document.
Purpose of User Exit:
Only valid line items are reported, especially when sub item are present for a main invoice line item
which will bear more details of the main line item. When these lines items need to be ignored, the user
exit can be used.
When the main line item has to avoided and all sub items are to be reported in SAF-T, in cases where
the sub items bear information relevant for reporting and main line item is just a dummy/summary of
information this can be used

IMPORT PARAMETRS:
a. INVOICE NUMBER: WA_MASTER-VBELN
b. INVOICE LINE ITEM NUMBER: WA_MASTER-POSNR
c. INVOICE TYPE: WA_MASTER-FKART

EXPORT PARAMETERS:
TDGLSEDC AS SPACE OR CLEARED as TDGLSEDC should be X for all valid line items , which will be the
default value. When the line item has to be excluded, then this value has to be cleared and exported
back to the report
Invoked at subroutines : create_bidata_items ,Calculate_totals
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 40: To set the indicator for Cash Sales (SD) scenario.
Scenario:
In case of onetime accounting document (Cash Sales) that are not posted to customer account,
customer master data was missing in xml file.
Import Parameters:
I_BUKRS
I_YEAR
IT_DATE
Export Parameters:
EV_GL_STRING
Need to set 'X' in TDGL_DESC".
Usage: You can pass the parameter IT_DATE to filter the data for cash sale Scenario within selection
date range.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 43: To set the indicator for Negative Invoices
Scenario:
If Negative invoices are posted in a system, then they needs to be identified to calculate the total debit
and credit amount properly.
Import Parameters:
wa_master2
Export Parameters:
Tdgl_desc
Usage: Identify the invoice as a negative invoice and set the value of parameter tdgl_desc as NEG_INV.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 44: To set the invoice status.
Scenario:
To map the Invoice Status to the Customer defined Invoice types.
Import Parameters:
wa_master
wa_bi_hd
wa_fi_hd
Export Parameters:
Tdgl_desc
Usage: Use the import parameters to pass the required value of invoice type in the field tdgl_desc.
--------------------------------------------------------------------------------------------------------------------------------




Transaction Type 47: To Read Ship to address

Scenario /Usage :
Usual documents have the same ship-to address and sold-to address, but there are some specific ones
where we have different addresses. The invoice is sent according to the sold-to party information, but the
materials are delivered at the ship-to address.

Import Parameter:
WA_MASTER
Export Parameter:
Tdgl_desc

Usage:
Report will pass document details in the work area wa_master, exit should then send the description in the
user exits export parameter tdgl_desc
--------------------------------------------------------------------------------------------------------------------------------
Transaction 53
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 54: To set the correct Address Details.
Scenario:
Inconsistent address details were reported in source documents <SHIPTO> section of the SAFT
XML file when customer address detail gets changed over a period of time. Though, this change
information is available in the change tables CDHDR and CDPOS, it is too costly for us to consider
this in the standard report, considering the fact that many customers will not have this case.

Input Parameters:
wa_master
wa_bi_hd

Expected values from the exit:
Parameter tdglsedc = 'X'
wa_master_export-st_ort01 for city
wa_master_export-st_stras for address detail
wa_master_export-st_land1 for country
wa_master_export-st_pstlz for postal code

--------------------------------------------------------------------------------------------------------------------------------



Transaction Type 55: To fill the description of journal and transactions.
Scenario /Usage
Here we will retrieve the descriptions of Journal and Transactions from BKPF (Account
document header) table and PTDART_ITEMS structure while fetching FI data.
If these descriptions are initial then we select from T003T (Document type text) table.
Import Parameter: WA_MASTER, WA_FI_HD
Export Parameter: WA_MASTER-JR_DESC, WA_MASTER-GL_DESC.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 56:
Scenario:
1. When a plant has more than one storage location; then Ship from address details populated in
SD section is inconsistent. We only read address information of plant. So if customers have
multiple storage locations for a plant and if they want that information to be reported, then this
exit has to be implemented and the values should be populated in the below parameters.
Input Parameters:
wa_master
wa_bi_hd

Expected values from the exit:
Parameter tdglsedc = 'SL'
wa_master_export-sf_ort01 for city
wa_master_export-sf_stras for address detail
wa_master_export-sf_land1 for country
wa_master_export-sf_pstlz for postal code

2. In source document section of the file for the tag <CustomerID>, by default SHIP-TO Party will
be reported. Few customers wanted Payer ID to be reported instead.
In such case this exit has to be implemented.

Input Parameters:
wa_master
wa_bi_hd

Expected values from the exit:
Parameter tdglsedc = 'SL'
Parameter KUNRG for populating Payer ID in XML file.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 59:
Description: Fill other value than in field invoice number apart from VBELN.
Import Parameters:
WA_MASTER, WA_BI_HD
Export Parameters:
GV_BILLING_NO
Scenario /Usage
This is used when user wants to fill other value than in field invoice number apart from
VBELN.
--------------------------------------------------------------------------------------------------------------------------------

Transaction Type 60: To populate the tax information if 3
rd
party tax engine is used.
Scenario:
To populate Tax Information in source document section of the file when customers are using an
external (3
rd
party) tax engine such as SABRIX to calculate taxes. [For SD Invoices]
Input Parameters:
wa_master
wa_bi_hd

Expected values from the exit:

Parameter tdglsedc = 'X'
"wa_master_export-md_tax_percntg" for tax percentage
"wa_master_export-md_tax_type" for tax type
"wa_master_export-md_taxcountryregion" for tax country region
"wa_master_export-md_tax_code" for tax code
"wa_master_export-md_tax_desc1" for tax code description
"wa_master_export-md_tax_exp_date" for tax expiration date
"wa_master_export-md_tax_amount" for tax amount
"wa_master_export-md_tax_exempt_reason" for tax exemption reason

--------------------------------------------------------------------------------------------------------------------------------

Transaction Type 61: To populate the tax information if 3
rd
party tax engine is used for manual FI
invoices.
Scenario:
To populate Tax Information in source document section of the file when customers are using an
external (3
rd
party) tax engine such as SABRIX to calculate taxes. [For Manual FI Invoices]
Input Parameters:
wa_master
wa_bi_hd

Expected values from the exit:
Parameter tdglsedc = 'X'
"wa_master_export-md_tax_percntg" for tax percentage
"wa_master_export-md_tax_type" for tax type
"wa_master_export-md_taxcountryregion" for tax country region
"wa_master_export-md_tax_code" for tax code
"wa_master_export-md_tax_desc1" for tax code description
"wa_master_export-md_tax_exp_date" for tax expiration date
"wa_master_export-md_tax_amount" for tax amount
"wa_master_export-md_tax_exempt_reason" for tax exemption reason
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 65: To fill the billing details
Import Parameters:
WA_MASTER, WA_FI_POS
Export Parameters:
BILL_DOC_TYPE, TDGLSEDC, WA_MASTER-GLSGTXT, GV_BILLING_NO
Scenario /Usage
This will Import PTDART_ITEMS structure and data from BSEG and Exports the Billing
document type, Document Header Text, and Billing document number.

--------------------------------------------------------------------------------------------------------------------------------


Transaction Type 77: To identify archived documents.
Scenario:

Duplication of Invoices in the SAFT XML file if the underlying accounting documents of invoices are
archived. So this exit has been provided for customers to identify such accounting documents that are
archived, thereby avoiding the invoices being duplicated in SAFT XML file.

Input Parameters:
wa_master
i_vbeln
i_bukrs
i_year

Expected values from the exit:
Parameter e_archive = 'X'

--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 79: To change Tax Point Date
Import Parameters:
wa_master
wa_bi_hd
Export Parameter:
GL_DATE
Usage: If you want to display different Tax Pointing Date, then pass the value to the parameter
GL_DATE.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 80: To identify Internal Billing Documents
Import Parameters:
wa_master
wa_bi_hd
Export Parameters:
EV_EXL_BILL_DOC
Scenario:
Internal documents should not be considered in calculation of total amounts. Identify the
documents as internal documents using the parameters and set the value of parameter
EV_EXL_BILL_DOC as X.
Transaction 81: Exchange Rate for Self Billing.
Scenario: Override the exchange rate maintained in an invoice with a new exchange rate
I/P Parameters: WA_BI_HD
WA_MASTERS: RBKP-BELNR /RBKP-GJAHR / RBKP-LIFNR and RBKP-BUKRS are available
O/P of User exit
Pass the exchange rate to be considered to tdglsedc, else the exchange rate maintained in the invoice
header is considered
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 82: Invoice Type for Self Billing Documents
Scenario: To set the invoice type to any of the FT,NC, ND etc
Input Parameters:
Wa_master => lifnr, invoice date, invoice period, company code,
Expected output:
Set the invoice type and pass to TDGLSEDC value.
If the above parameter is not set, the values will be set as per the default values.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 83: To set customer address for Self-Billing Documents
Scenario: Set customer address same as company address- by default is plant address
Input Parameters:
wa_master-bukrs
wa_master-kunnr

Export Parameters:
tdglsedc
Usage:
Set the parameter value as X to set company address.
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 84:
Scenario: To identify the discount amount related to the invoice
Input Parameters:
WA_BI_HD
WA_MASTERS RBKP-BELNR /RBKP-GJAHR / RBKP-LIFNR and RBKP-BUKRS are available
Line number of invoice being processed
Expected O/P
The discount amount linked to the line item
--------------------------------------------------------------------------------------------------------------------------------
Transaction Type 85: To identify valid Self Billing document
Scenario: To identify if a document is a valid invoice to be considered as valid for reporting in addition
to the check of the document type maintained in the customization table
Input Parameters:
WA_BI_HD
WA_MASTERS: RBKP-BELNR /RBKP-GJAHR / RBKP-LIFNR and RBKP-BUKRS are available
Expected from User exit for further processing
If the invoice has to be discarded, pass X to tdglsedc
--------------------------------------------------------------------------------------------------------------------------------


Transaction Type 86: To set Product Type of Self- Billing Documents
Scenario: To set the Product type to S,P,O
Input Parameter:
Wa_master
Expected output:
Product type to have one of the values. If no value is passed, then pass the value mapped in the report.
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 87: To set the Payment Mechanism for Self Billing Documents
Scenario: To set the payment mechanism for all payment methods other than C, T.
Input Parameter:
Wa_master-belnr , wa_master-bukrs,
Wa_master-gjahr,
Wa_master-lifnr ,
Wa_master-lsch
Export Parameter:
Tdglsedc -> pass the payment mechanism as one from CH, NU, CD,TR,TB based on RBKP-ZLSCH which is
mapped to WA_MASTER-LSCH
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 88: To Set the Line Description from PO text
Scenario: Set the Line Description from PO text
Input Parameter:
Wa_master-belnr = rseg-belnr
Wa_master-bukrs
Wa_master-gjahr
Wa_master-glbuzei
Wa_master-gllifnr
Wa_master-werks
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 90:
Business Scenario: When billing document are generated in external system but are present in ERP
system and needs to be reported for SAFT reporting customers needs to use these user exit.
Customer need to set value 'X' in parameter "EV_EXT_SYS" for the documents generated from external
billing system so that they should not be considered for TotalDebit and TotalCredit.
For Invoice Status the value expected for these kind of document is "F".
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 91:
Customer need to set value 'X' in parameter "EV_EXT_SYS" for the documents generated from external
billing system and also need to pass value for InvoiceNo,InvoiceStatus,Hash,HashControl if values need
to be considered from user exit.
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 92: To populate currency not supported by DGCI.
Import Parameters:
wa_master2
Export Parameters:
tdgl_desc
In cases where currency used in document is not supported by DGCI customers need to populate thi
s user exit so that currency tag can be avoided.

Transaction Type 94:
Scenario: To change settlement date in source document.
Input Parameter:
wa_master
wa_bi_hd
Export Parameter:
wa_master_export
Usage: For changing Settlement Date in Source Documents section, can be used where customer's need
to set value in parameter wa_master_export-SD_SETL_DATE.
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 95:
Scenario: To identify external FI document and populate others details as well.
Input Parameter:
wa_master
wa_fi_hd
Export Parameter:
ev_ext_sys
ev_gv_hash
ev_hashcontrol
ev_invoice_status
ev_invoice_no
Usage : Customer need to set the value X in parameter EV_EXT_SYS For the document generated
from the external FI system and also need to pass the value for invoice no, Invoice status, Hash , Hash
control if value need to consider from user exit. For invoice status expected for this kind of document is
F. If no values are passed from the user exit, Report will pass the value as for other documents.
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 96:
Scenario: To exclude external FI documents not to be considered on totals.
Input Parameter:
wa_master
wa_fi_hd
Export Parameter:
EV_EXT_SYS
Usage:
Customer need to set value 'X' in parameter "EV_EXT_SYS" for the Documents generated from external
FI system so that they should not be considered for Total Debit and Total Credit.
-------------------------------------------------------------------------------------------------------------------------------
Transaction Type 99:
Scenario: To change source billing value in source document of XML file.
Input Parameter:
wa_master
wa_bi_hd
Export Parameter:
EV_SourceBilling
Usage: For new field Source Billing added in Source Documents section default value 'P' will be
populated. In case customer's want to change Source Billing value user exit with transaction type = '99'
can be used where customer's need to set value in parameter "EV_SourceBilling".

Transaction Type 100:
Scenario: To change the value of EV_EAC_CODE on source document.
Input Parameter:
wa_master
wa_bi_hd
Export Parameter:
EV_EAC_CODE
Usage: For changing EACcode in Source Documents section, this user exit can be used where
customer's need to set value in parameter "EV_EAC_CODE".
-------------------------------------------------------------------------------------------------------------------------------

You might also like