Code: Alles auswählen.
SELECTION-SCREEN BEGIN OF BLOCK brbg WITH FRAME TITLE frtitle.
PARAMETERS:
p_radd RADIOBUTTON GROUP rbg DEFAULT 'X',
p_rdel RADIOBUTTON GROUP rbg.
SELECTION-SCREEN SKIP 1.
PARAMETERS:
p_bps_to LIKE lv_bp OBLIGATORY,
p_bps_fr LIKE lv_bp OBLIGATORY.
SELECTION-SCREEN SKIP 1.
PARAMETERS:
p_tstmod AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK brbg.
********************************************************************************
*… SELECTION SCREEN END *
********************************************************************************
INITIALIZATION.
vc_repid = sy-repid.
vc_dynnr = sy-dynnr.
********************************************************************************
* Read the business partner role out of maiConnect customizing *
********************************************************************************
CALL METHOD /mai/cl_gw_exchange_handler=>get_gw_cust_param
EXPORTING
iv_parameter = 'GW_STD_EMPL_ROLE'
RECEIVING
rv_value = lv_role.
********************************************************************************
* Select only business partners with role from GW_STD_EMPL_ROLE (e.g. GWEMP) *
********************************************************************************
SELECT but000~partner but000~name_first but000~name_last but000~name1_text but100~rltyp
FROM but000
INNER JOIN but100 ON but000~partner = but100~partner
INTO CORRESPONDING FIELDS OF TABLE lt_bpid
WHERE but100~rltyp = lv_role.
********************************************************************************
* Return of values for search assistance (F4 help) *
********************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bps_to.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'PARTNER'
dynpprog = vc_repid
dynpnr = vc_dynnr
dynprofield = 'S_BPS_TO'
value_org = 'S'
TABLES
value_tab = lt_bpid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
********************************************************************************
*… SELECTION SCREEN ON VALUE-REQUEST *
********************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bps_fr.
CALL METHOD /mai/cl_gw_exchange_handler=>get_gw_cust_param
EXPORTING
iv_parameter = 'GW_STD_EMPL_ROLE'
RECEIVING
rv_value = lv_role.
SELECT but000~partner but000~name_first but000~name_last but000~name1_text but100~rltyp
FROM but000
INNER JOIN but100 ON but000~partner = but100~partner
INTO CORRESPONDING FIELDS OF TABLE lt_bpid
WHERE but100~rltyp = lv_role.
********************************************************************************
* Return of values for search assistance (F4 help) *
********************************************************************************
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'PARTNER'
dynpprog = vc_repid
dynpnr = vc_dynnr
dynprofield = 'S_BPS_fr'
value_org = 'S'
TABLES
value_tab = lt_bpid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
END-OF-SELECTION.
Code: Alles auswählen.
* Selektion Anzeigevariante
SELECTION-SCREEN BEGIN OF BLOCK vari WITH FRAME TITLE text-002.
PARAMETERS: p_vari LIKE disvariant-variant.
SELECTION-SCREEN COMMENT 50(20) t_vari FOR FIELD p_vari. "<--------------
SELECTION-SCREEN END OF BLOCK vari.
Code: Alles auswählen.
*--------------------------------------------------------------------*
"Beschreibung zur Anzeigevariante auslesen
*--------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
CLEAR t_vari.
IF p_vari IS NOT INITIAL.
"Benutzerspezifische Variante lesen
SELECT SINGLE text INTO t_vari
FROM ltdxt WHERE relid = 'LT'
AND report = sy-repid
AND username = sy-uname
AND variant = p_vari
AND langu = sy-langu.
ENDIF.
...
START-OF-SELECTION.
Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel
Code: Alles auswählen.
************************************************************************
*… DATA DECLARATION *
************************************************************************
TYPES:
BEGIN OF ty_bpid,
partner TYPE but000-partner,
name_first TYPE bu_namep_f,
name_last TYPE bu_namep_l,
name1_text TYPE bu_name1tx,
rltyp TYPE but100-rltyp,
END OF ty_bpid.
DATA:
lv_bp TYPE but000-partner,
lv_role TYPE string,
ls_bpid TYPE ty_bpid,
lt_bpid TYPE TABLE OF ty_bpid,
lt_bpid_from TYPE TABLE OF ty_bpid,
ls_return TYPE bapiret2,
lt_return TYPE TABLE OF bapiret2,
lv_success TYPE i VALUE 1,
lv_pos TYPE i VALUE 1,
lv_answer TYPE string,
lv_result TYPE string,
vc_repid LIKE sy-repid,
vc_dynnr LIKE sy-dynnr.
DATA:
lv_contactperson TYPE bapibus1006_relations,
ls_contactperson TYPE but050,
lt_contactperson TYPE TABLE OF bapibus1006_relations,
lv_rel_type TYPE bu_reltyp,
lv_partner TYPE bu_partner,
lv_partner2 TYPE bu_partner.
********************************************************************************
*… SELECTION SCREEN *
********************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK brbg WITH FRAME TITLE frtitle.
PARAMETERS:
p_radd RADIOBUTTON GROUP rbg DEFAULT 'X',
p_rdel RADIOBUTTON GROUP rbg.
SELECTION-SCREEN SKIP 1.
PARAMETERS:
p_bps_to LIKE lv_bp OBLIGATORY.
SELECTION-SCREEN COMMENT 50(20) t_bps_to FOR FIELD p_bps_to.
PARAMETERS:
p_bps_fr LIKE lv_bp OBLIGATORY.
SELECTION-SCREEN COMMENT 50(20) t_bps_fr FOR FIELD p_bps_fr.
SELECTION-SCREEN SKIP 1.
PARAMETERS:
p_tstmod AS CHECKBOX DEFAULT 'X'.
********************************************************************************
* Testmode query *
********************************************************************************
IF p_tstmod <> 'X'.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'Warnung!'
TEXT_QUESTION = 'Programm nicht in Testmodus ausführen?'
TEXT_BUTTON_1 = 'Ja'(001)
TEXT_BUTTON_2 = 'Nein'(002)
DEFAULT_BUTTON = '2'
IMPORTING
ANSWER = lv_answer.
case lv_answer.
when '1'. " JA
when '2'. "Nein
EXIT.
when 'A'. "abbrechen
EXIT.
endcase.
ELSE.
IF p_bps_fr IS INITIAL.
MESSAGE 'Keine Kontaktdaten vorhanden' TYPE 'I'.
ENDIF.
ENDIF.
SELECTION-SCREEN END OF BLOCK brbg.
********************************************************************************
*… SELECTION SCREEN END *
********************************************************************************
INITIALIZATION.
vc_repid = sy-repid.
vc_dynnr = sy-dynnr.
CALL METHOD /mai/cl_gw_exchange_handler=>get_gw_cust_param
EXPORTING
iv_parameter = 'GW_STD_EMPL_ROLE'
RECEIVING
rv_value = lv_role.
********************************************************************************
* Select only business partners with role from GW_STD_EMPL_ROLE (e.g. GWEMP) *
********************************************************************************
SELECT but000~partner but000~name_first but000~name_last but000~name1_text but100~rltyp
FROM but000
INNER JOIN but100 ON but000~partner = but100~partner
INTO CORRESPONDING FIELDS OF TABLE lt_bpid
WHERE but100~rltyp = lv_role.
********************************************************************************
* Return of values for search assistance (F4 help) *
********************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bps_to.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'PARTNER'
dynpprog = vc_repid
dynpnr = vc_dynnr
dynprofield = 'S_BPS_TO'
value_org = 'S'
TABLES
value_tab = lt_bpid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
********************************************************************************
*… SELECTION SCREEN ON VALUE-REQUEST *
********************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bps_fr.
CALL METHOD /mai/cl_gw_exchange_handler=>get_gw_cust_param
EXPORTING
iv_parameter = 'GW_STD_EMPL_ROLE'
RECEIVING
rv_value = lv_role.
********************************************************************************
* Select only business partners with role from GW_STD_EMPL_ROLE (e.g. GWEMP) *
********************************************************************************
SELECT but000~partner but000~name_first but000~name_last but000~name1_text but100~rltyp
FROM but000
INNER JOIN but100 ON but000~partner = but100~partner
INTO CORRESPONDING FIELDS OF TABLE lt_bpid
WHERE but100~rltyp = lv_role.
********************************************************************************
* Return of values for search assistance (F4 help) *
********************************************************************************
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'PARTNER'
dynpprog = vc_repid
dynpnr = vc_dynnr
dynprofield = 'S_BPS_fr'
value_org = 'S'
TABLES
value_tab = lt_bpid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
AT SELECTION-SCREEN OUTPUT.
CLEAR t_bps_to.
IF p_bps_to IS NOT INITIAL.
SELECT SINGLE but000~name_last INTO t_bps_to
FROM but000
INNER JOIN but100 ON but000~partner = but100~partner
WHERE but100~partner = lv_bp.
ENDIF.
END-OF-SELECTION.
Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel
Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel
Du solltest dich nochmal mit den Ereignissen des Reports auseinander setzten. Da geht zuviel bei dir durcheinandercschmoel hat geschrieben:Weil im Moment wird es bei mir noch nicht gefüllt und ich hab keine Ahnung warum :/
Code: Alles auswählen.
IF p_tstmod <> 'X'.
....
ENDIF
Code: Alles auswählen.
IF p_bps_to IS NOT INITIAL.
SELECT SINGLE but000~name_last INTO t_bps_to
FROM but000
INNER JOIN but100 ON but000~partner = but100~partner
WHERE but100~partner = lv_bp.
ENDIF.
Code: Alles auswählen.
IF p_bps_to IS NOT INITIAL.
SELECT SINGLE but000~name_last INTO t_bps_to
FROM but000
INNER JOIN but100 ON but000~partner = but100~partner
WHERE but100~partner = lv_bp.
ENDIF.
cschmoel hat geschrieben:ABer wenn ich CONCATENATE benutzte habe ich ja zwischen Vor- und Nachname kein Leerzeichen mehr drin oder
Code: Alles auswählen.
CONCATENATE vorname ` ` nachname into t_bps_to.
Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel