Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to retrieve the selected value in f4if_int_table_value_request

Former Member
0 Kudos

hi guys,

I have created a search help using fm f4if_int_table_value_request,my value table contains several fields including vbeln. When i am selecting a record the return table is capturing the last column of the record but i want to select the vbeln which is in the first column.

Plz help...

6 REPLIES 6

rosenberg_eitan
Active Contributor
0 Kudos

Hi,

Use the "where used" in SE37 and try to locate some sample code.

Regards.

Former Member
0 Kudos

hi prathik,

can u post u code her.

0 Kudos

MODULE F4_ON_VALUE_REQUEST INPUT.

   TYPES : BEGIN OF TYP,
           G_VBELN TYPE VBELN,
           FKDAT TYPE ZCHEQUEIT-FKDAT,
           BASEAMNT TYPE ZCHEQUEIT-AGRV,
           SERVTAX TYPE ZCHEQUEIT-SERVT,
           BALAMNT TYPE ZCHEQUEIT-BALA,
            END OF TYP.


   DATA :  IT_VAL TYPE TABLE OF TYP,
           WA_VAL TYPE TYP,
           IT_RET TYPE TABLE OF DDSHRETVAL,
           WA_RET TYPE DDSHRETVAL,
           IT_DYN TYPE TABLE OF DYNPREAD,
           WA_DYN TYPE DYNPREAD,
           IT_FIELDTAB TYPE TABLE OF DSELC,
           WA_FIELDTAB TYPE DSELC,
           LV_VKORG TYPE VKORG,
           LV_KUNNR TYPE KUNNR,
           INDEX TYPE SY-INDEX.

   TYPES : BEGIN OF TY_VBRK,
            VBELN TYPE VBRK-VBELN,
            KNUMV TYPE VBRK-KNUMV,
            FKDAT TYPE VBRK-FKDAT,
            NETWR TYPE VBRK-NETWR,
            END OF TY_VBRK.

   TYPES : BEGIN OF TY_KONV,
           KNUMV TYPE KONV-KNUMV,
           KSCHL TYPE KONV-KSCHL,
           KWERT TYPE KONV-KWERT,
           END OF TY_KONV.

   DATA : IT_VBRK TYPE STANDARD TABLE OF TY_VBRK,
          WA_VBRK TYPE TY_VBRK,
          IT_KONV TYPE STANDARD TABLE OF TY_KONV,
          WA_KONV TYPE TY_KONV,
          G_BASEAMNT TYPE KWERT,
          G_SERVTAX TYPE KWERT.
*


   MOVE 'VKORG' TO WA_DYN-FIELDNAME.
   APPEND WA_DYN TO IT_DYN.
   MOVE 'KUNNR' TO WA_DYN-FIELDNAME.
   APPEND WA_DYN TO IT_DYN.


   CALL FUNCTION 'DYNP_VALUES_READ'
     EXPORTING
       DYNAME                               = SY-REPID
       DYNUMB                               = SY-DYNNR
*
     TABLES
       DYNPFIELDS                           = IT_DYN
*
             .
   IF SY-SUBRC <> 0.
* Implement suitable error handling here
   ENDIF.

*
   CLEAR WA_DYN.
   READ TABLE IT_DYN INTO WA_DYN WITH KEY FIELDNAME = 'VKORG' .
   LV_VKORG = WA_DYN-FIELDVALUE .
   READ TABLE IT_DYN INTO WA_DYN WITH KEY FIELDNAME = 'KUNNR' .
   LV_KUNNR = WA_DYN-FIELDVALUE.

*
   SELECT XBLNR FROM BSID INTO TABLE IT_VAL WHERE
     BUKRS = LV_VKORG AND KUNNR = LV_KUNNR AND BLART = 'RV'."
*
   SELECT VBELN KNUMV FKDAT NETWR FROM VBRK INTO TABLE IT_VBRK
     FOR ALL ENTRIES IN IT_VAL WHERE VBELN = IT_VAL-G_VBELN.

   SELECT KNUMV KSCHL KWERT FROM KONV INTO TABLE IT_KONV
     FOR ALL ENTRIES IN IT_VBRK WHERE KNUMV = IT_VBRK-KNUMV.

   CLEAR : WA_KONV.

   LOOP AT IT_VAL INTO WA_VAL.
     READ TABLE IT_VBRK INTO WA_VBRK WITH KEY VBELN = WA_VAL-G_VBELN.
     IF SY-SUBRC = 0.
       WA_VAL-FKDAT  = WA_VBRK-FKDAT.
       WA_VAL-BALAMNT = WA_VBRK-NETWR.
     ENDIF.
     LOOP AT IT_KONV INTO WA_KONV WHERE KNUMV = WA_VBRK-KNUMV.
       IF WA_KONV-KSCHL = 'ZAGV'.
         WA_VAL-BASEAMNT = WA_VAL-BASEAMNT + WA_KONV-KWERT.
       ELSEIF WA_KONV-KSCHL = 'JSRT' OR WA_KONV-KSCHL = 'JEC3' OR WA_KONV-KSCHL = 'JES3'.
         WA_VAL-SERVTAX = WA_VAL-SERVTAX + WA_KONV-KWERT.
       ENDIF.

     ENDLOOP.
     MODIFY IT_VAL FROM WA_VAL TRANSPORTING FKDAT  BALAMNT. "BASEAMNT SERVTAX
     CLEAR : WA_KONV,WA_VBRK,WA_VAL.
   ENDLOOP.

*
   CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
     EXPORTING
*       DDIC_STRUCTURE         = 'TYP'
       RETFIELD               = 'VBELN'
*       PVALKEY                = ' '
      DYNPPROG               = SY-REPID
      DYNPNR                 = SY-DYNNR
      DYNPROFIELD            = 'Invoice No.'
*     DYNPROFIELD            = 'WA_ZCHEQUEIT-VBELN'
*
      VALUE_ORG              = 'S'
     TABLES
      VALUE_TAB              = IT_VAL
*     FIELD_TAB              = IT_FIELDTAB
      RETURN_TAB             = IT_RET
*     DYNPFLD_MAPPING        = it_fieldtab.
         
   IF SY-SUBRC <> 0.
* Implement suitable error handling here
   ENDIF.

CLEAR : WA_DYN,LV_VKORG,LV_KUNNR.
   REFRESH : IT_DYN,IT_VAL,IT_RET.
ENDMODULE.                 " F4_ON_VALUE_REQUEST  INPUT

0 Kudos

Hi,

     Check    DYNPROFIELD            = 'Invoice No.',

     Here In place of 'Invoice No'  Pass Screen element Name

former_member322289
Participant
0 Kudos

Hi...

please see this:

Regards!

rosenberg_eitan
Active Contributor
0 Kudos

Hi,

The code is also update the output fields.

SCARR is global .

Screen: Attached

Some code:

364. *----------------------------------------------------------------------*
365. MODULE f4_carrid_1 INPUT.
366.   PERFORM f4_carrid_1 .
367. ENDMODULE.                    "f4_carrid_1 INPUT
368. *----------------------------------------------------------------------*
369. FORM f4_carrid_1 .
370.  
371.   DATA: it_value TYPE TABLE OF scarr .
372.  
373.   SELECT * INTO TABLE it_value FROM scarr  .
374.  
375.   DATA: it_return TYPE TABLE OF ddshretval .
376.  
377.   CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
378.     EXPORTING
379.       retfield        = 'CARRID'
380.       value_org       = 'S'
381.     TABLES
382.       value_tab       = it_value
383.       return_tab      = it_return
384.     EXCEPTIONS
385.       parameter_error = 1
386.       no_values_found = 2
387.       OTHERS          = 3.
388.  
389.   FIELD-SYMBOLS: <st_return> LIKE LINE OF it_return .
390.  
391.   READ TABLE it_return ASSIGNING <st_return> INDEX 1 .
392.  
393.   CHECK sy-subrc EQ 0 .
394.  
395.   scarr-carrid = <st_return>-fieldval .
396.  
397.   FIELD-SYMBOLS: <st_value> LIKE LINE OF it_value .
398.  
399.   READ TABLE it_value ASSIGNING <st_value>
400.   WITH KEY
401.     carrid = scarr-carrid .
402.  
403.   DATA: it_dynfields TYPE TABLE OF dynpread .
404.   DATA: st_dynfields LIKE LINE OF it_dynfields .
405.   FIELD-SYMBOLS: <st_dynfields> LIKE LINE OF it_dynfields .
406.  
407.   st_dynfields-fieldname = 'SCARR-CARRNAME'.
408.   st_dynfields-fieldvalue = <st_value>-carrname .
409.   APPEND st_dynfields TO it_dynfields.
410.   st_dynfields-fieldname = 'SCARR-CURRCODE'.
411.   st_dynfields-fieldvalue = <st_value>-currcode .
412.   APPEND st_dynfields TO it_dynfields.
413.  
414.   CALL FUNCTION 'DYNP_VALUES_UPDATE'
415.     EXPORTING
416.       dyname               = sy-cprog
417.       dynumb               = sy-dynnr
418.     TABLES
419.       dynpfields           = it_dynfields
420.     EXCEPTIONS
421.       invalid_abapworkarea = 1
422.       invalid_dynprofield  = 2
423.       invalid_dynproname   = 3
424.       invalid_dynpronummer = 4
425.       invalid_request      = 5
426.       no_fielddescription  = 6
427.       undefind_error       = 7
428.       OTHERS               = 8.
429.  
430. ENDFORM.                    "F4_CARRID

Regards.