Bezeichnung neben Eingabefeld

Getting started ... Alles für einen gelungenen Start.
21 Beiträge • Seite 1 von 2 (current) Nächste
21 Beiträge Seite 1 von 2 (current) Nächste

Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
Hallo :) ich habe mal wieder eine Frage ^^

Und zwar, will ich, nachdem die Suchhilfe meines Eingabefeldes benutzt wurde und eine Mitarbeiter ID ausgewählt habe, der Mitarbeiter-Vorname und Mitarbeiter-Nachname rechts neben meinem
Eingabefeld angezeigt wird.

Gibt es hierzu einen FUBA? Oder ein besonderes EVENT?

Ich poste mal eben meinen Quellcode:

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.

Danke schon mal im Voraus nach wiederholten Generve von mir ^^

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Bezeichnung neben Eingabefeld

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
ich habe hier mal ein Beispiel für eine ausgewählte Anzeigevariante eines ALV und den zugehörigen Kurztext:

bei der Definition eines Parameters definierst du ein COMMENT-Feld gleich mit:

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.
anschliessend liest du in Abhängigkeit von der ausgewählten Variante den Text und gibst diesen im Comment-Feld t_vari aus:

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

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
Danke! Das hilft mir schon mal um einiges, ABER steht das bei mir an der richtigen Position? Kannst du da mal bitte rein schauen und mir ein feedback geben :)

Weil im Moment wird es bei mir noch nicht gefüllt und ich hab keine Ahnung warum :/


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.

Re: Bezeichnung neben Eingabefeld

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
pack die Anweisung bitte vor INITIALISATION

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
Aber wenn ich die Anweisung so weit oben positioniere, ist ja zu dem Zeitpunkt noch nicht in mein Texteingabefeld gefüllt weil ich ja erst über meine Suchhilfe ein ID auswählen muss von einem Mitarbeiter

Re: Bezeichnung neben Eingabefeld

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
zumindest nachdem man ENTER gedrückt hat müssten die Texte gezogen werden. Sonst könntest du die Anweisung auch in AT SELECTION-SCREEN ON VALUE-REQUEST FOR statt AT SELECTION-SCREEN OUTPUT packen. Ich bin mir allerdings nicht sicher, ob die aus F4 übergebenen Inhalte der Felder gleich im selben Ereignis ausgelesen werden können.

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Bezeichnung neben Eingabefeld

Beitrag von JHM (Top Expert / 1212 / 2 / 202 ) »
cschmoel hat geschrieben:Weil im Moment wird es bei mir noch nicht gefüllt und ich hab keine Ahnung warum :/
Du solltest dich nochmal mit den Ereignissen des Reports auseinander setzten. Da geht zuviel bei dir durcheinander

Code: Alles auswählen.

IF p_tstmod <> 'X'.
....
ENDIF
Steht in keinem Ereignisblock. Wann soll er denn ausgeführt werden (von der Programm ausführung hergesehen)?

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.
Hier soll die Bezeichnung zu p_bps_to gelesen werden. p_bs_to wird aber in der WHERE nicht verwendet, sondern lv_bp. Wieso?

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
cschmoel

Gruß Hendrik

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
Ohmann ich verzweifel.....

Anscheinend ist ja nicht mal meine lv_bp gefüllt Oo

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.

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
@ JHM

nachdem ich mit der F4 Hilfe per Doppelklick meine´n Mitarbeiter(ID) ausgewählt habe

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
OMG es geht ^^ :D

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
Wie kann ich mehrere Felder in t_bps_to definieren?? Bei mir erlaubt er immer nur eines ....

Re: Bezeichnung neben Eingabefeld

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
t_bps_to ist per Definition ein Feld. Brauchst du zwei Felder um Name und Vorname auszugeben? Dann schreib sie beide mit CONCATENATE in das gleiche Kommentarfeld.
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
ABer wenn ich CONCATENATE benutzte habe ich ja zwischen Vor- und Nachname kein Leerzeichen mehr drin oder

Re: Bezeichnung neben Eingabefeld

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
cschmoel hat geschrieben:ABer wenn ich CONCATENATE benutzte habe ich ja zwischen Vor- und Nachname kein Leerzeichen mehr drin oder
:-) wer sagt das?

Code: Alles auswählen.

CONCATENATE vorname ` ` nachname into t_bps_to.
bei ` handelt es sich um Shift + die Taste links neben Backspace, der Name fällt mir gerade nicht ein 8)
Zuletzt geändert von Alexander D. am 24.08.2012 09:34, insgesamt 1-mal geändert.

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Bezeichnung neben Eingabefeld

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) »
:D Danke Meister Alexander :D :up:

Vergleichbare Themen

5
Antw.
961
Views
Textkästchen neben Kopftexte
von Stefan1 » 06.08.2020 10:32 • Verfasst in ABAP® für Anfänger
4
Antw.
2080
Views
Bezeichnung der Spaltensumme im ALV
von Bright4.5 » 17.01.2024 22:37 • Verfasst in ABAP® für Anfänger
6
Antw.
3266
Views
Bezeichnung zu ist nicht in Sprache DE gepflegt
von Mischi83 » 06.10.2015 11:03 • Verfasst in ABAP® für Anfänger
1
Antw.
11519
Views
In welcher Tabelle ist die Bezeichnung einer Kostenstelle?
von Alexity » 17.07.2019 15:32 • Verfasst in ABAP® für Anfänger
6
Antw.
5850
Views
Bezeichnung zu Wert eines Feldes lesen
von BubbleSort » 24.01.2017 15:59 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

IF mit AND und OR
vor einer Woche von GastX 6 / 8739
Meine Inbox
vor einer Woche von Rabea1103 1 / 6540
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 7691
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 13187

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

IF mit AND und OR
vor einer Woche von GastX 6 / 8739
Meine Inbox
vor einer Woche von Rabea1103 1 / 6540
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 7691
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 13187