*"----------------------------------------------------------------------
*" REFERENCE(IV_BUKRS) TYPE TB_BUKRS OPTIONAL
*" REFERENCE(IV_RFHA) TYPE VTBFHA-RFHA OPTIONAL
*" REFERENCE(IV_RANL) TYPE VTBFHA-RANL OPTIONAL
*" REFERENCE(IV_KONTRH) TYPE VTBFHA-KONTRH OPTIONAL
*" REFERENCE(IV_DOCUMENT_NO) TYPE BKPF-BELNR OPTIONAL
*" REFERENCE(IV_YEAR) TYPE BKPF-GJAHR OPTIONAL
*" REFERENCE(IV_RFHAX) TYPE CHAR1 OPTIONAL
*" REFERENCE(LV_TPM13) TYPE FLAG OPTIONAL
*" REFERENCE(LV_TPM12) TYPE FLAG OPTIONAL
*"----------------------------------------------------------------------
DATA: ls_vtbfha TYPE vtbfha,
DATA: lv_activitytype LIKE vtbfhazu-sfgzustt,
lv_companycode LIKE vtbfha-bukrs,
lv_dealno LIKE vtbfha-rfha,
lv_dealtype LIKE vtbfha-sfgtyp,
lv_producttype LIKE vtbfha-sanlf.
DATA: lv_rltyp LIKE but100-rltyp. " VALUE 'FS0000'.
DATA: im_search_strategy TYPE tpm_search_strategy VALUE '1',
im_no_loa TYPE char1 VALUE 'X',
im_no_pos TYPE char1 VALUE 'X',
im_no_dea TYPE char1 VALUE 'X',
im_no_ea TYPE char1 VALUE tpmco_xtrue,
im_incl_deletable TYPE tpm_incl_sign VALUE tpmco_con_trl_incl,
im_incl_reversable TYPE tpm_incl_sign VALUE tpmco_con_trl_incl,
im_incl_reversed TYPE tpm_incl_sign VALUE tpmco_con_trl_excl,
im_incl_to_fix TYPE tpm_incl_sign VALUE tpmco_con_trl_incl,
im_incl_to_reverse TYPE tpm_incl_sign VALUE tpmco_con_trl_excl,
im_incl_opf TYPE tpm_incl_sign VALUE tpmco_con_trl_incl,
im_incl_paid TYPE tpm_incl_sign VALUE tpmco_con_trl_incl,
im_incl_paym_reversed TYPE tpm_incl_sign VALUE tpmco_con_trl_excl,
im_incl_paym_to_reverse TYPE tpm_incl_sign VALUE tpmco_con_trl_excl,
im_select_flows TYPE char1 VALUE 'X',
im_display_flows TYPE char1 VALUE 'X',
im_pos_attrib_sel TYPE REF TO cl_position_attributes_trl.
DATA: im_date LIKE trgs_datum OCCURS 0 WITH HEADER LINE,
sec LIKE trgs_security_id OCCURS 0 WITH HEADER LINE,
rfha LIKE trgs_deal_number OCCURS 0 WITH HEADER LINE,
pfl LIKE trgs_portfolio OCCURS 0 WITH HEADER LINE,
buk LIKE trgs_company_code OCCURS 0 WITH HEADER LINE.
DATA : rt_bukrs TYPE RANGE OF bukrs,
rt_rfha TYPE RANGE OF tb_rfha,
rt_ranl TYPE RANGE OF ranl.
DATA: lv_value TYPE c LENGTH 10 VALUE 'ZTPM13_DIS'.
IF iv_rfha IS NOT INITIAL AND iv_bukrs IS NOT INITIAL AND lv_tpm13 IS INITIAL.
SELECT SINGLE * "#EC CI_ALL_FIELDS_NEEDED
lv_companycode = iv_bukrs.
lv_producttype = ls_vtbfha-sanlf.
lv_dealtype = ls_vtbfha-sfgtyp.
IF iv_rfhax IS INITIAL. "Display
CALL FUNCTION 'TB_TRANSACTION_TO_DISPLAY'
activitytype = lv_activitytype
companycode = lv_companycode
producttype = lv_producttype
CALL FUNCTION 'TB_TRANSACTION_CALL'
activitytype = lv_activitytype
companycode = lv_companycode
producttype = lv_producttype
IF iv_ranl IS NOT INITIAL AND lv_tpm13 IS INITIAL.
CALL FUNCTION 'SECURITY_DIALOG'
i_security_number = iv_ranl
invalid_security_number = 1
invalid_parameter_combination = 2
* Implement suitable error handling here
IF iv_kontrh IS NOT INITIAL.
* CALL FUNCTION 'FTR_PARTNER_DISPLAY'
* PI_PARTNER_ROLE = LV_RLTYP
SET PARAMETER ID 'BPA' FIELD iv_kontrh .
* FREE MEMORY ID 'KONTRH'.
* SET PARAMETER ID 'KON' FIELD KONTRH .
* CALL TRANSACTION 'BUP2'.
IF iv_document_no IS NOT INITIAL AND iv_year IS NOT INITIAL AND iv_bukrs IS NOT INITIAL.
SET PARAMETER ID 'BLN' FIELD iv_document_no .
SET PARAMETER ID 'BUK' FIELD iv_bukrs.
SET PARAMETER ID 'GJR' FIELD iv_year."DATE+0(4).
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
* MESSAGE 'Required fields are empty.'type 'E' DISPLAY LIKE 'S'.
IF lv_tpm13 IS NOT INITIAL.
SET PARAMETER ID 'ZDIS' FIELD lv_value.
IF iv_rfha IS NOT INITIAL.
CALL FUNCTION 'TPM_TRL_FLOW_PROTOCOL'
im_search_strategy = im_search_strategy
im_incl_deletable = im_incl_deletable
im_incl_reversable = im_incl_reversable
im_incl_reversed = im_incl_reversed
im_incl_to_fix = im_incl_to_fix
im_incl_to_reverse = im_incl_to_reverse
im_incl_opf = im_incl_opf
im_incl_paid = im_incl_paid
im_incl_paym_reversed = im_incl_paym_reversed
im_incl_paym_to_reverse = im_incl_paym_to_reverse
im_select_flows = im_select_flows
im_display_flows = im_display_flows
im_pos_attrib_sel = im_pos_attrib_sel
IF iv_ranl IS NOT INITIAL.
CALL FUNCTION 'TPM_TRL_FLOW_PROTOCOL'
im_search_strategy = im_search_strategy
im_incl_deletable = im_incl_deletable
im_incl_reversable = im_incl_reversable
im_incl_reversed = im_incl_reversed
im_incl_to_fix = im_incl_to_fix
im_incl_to_reverse = im_incl_to_reverse
im_incl_opf = im_incl_opf
im_incl_paid = im_incl_paid
im_incl_paym_reversed = im_incl_paym_reversed
im_incl_paym_to_reverse = im_incl_paym_to_reverse
im_select_flows = im_select_flows
im_display_flows = im_display_flows
im_pos_attrib_sel = im_pos_attrib_sel
SET PARAMETER ID 'ZDIS' FIELD space.
IF lv_tpm12 IS NOT INITIAL.
IV_KONTRH TYPE VTBFHA-KONTRH
IV_DOCUMENT_NO TYPE BKPF-BELNR