Different trx codes can be used to produce different selection options

This example shows how different transactions codes can be used to produce different selection options for the same program. The example allows for lookups on Sales Order number, Purchase Order Number, Delivery Number or Invoice number.



*--- SELECTION OPTIONS ---------------------------------------

SELECTION-SCREEN BEGIN OF BLOCK SO WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,"Sales order number

S_VBELND FOR LIKP-VBELN,"Delivery number

S_VBELNI FOR VBRK-VBELN,"Invoice number

S_VBELNP FOR VBKD-BSTKD."PO number

SELECTION-SCREEN END OF BLOCK SO.



*--- EVENT AT SCREEN OUTPUT -------------------------------

AT SELECTION-SCREEN OUTPUT.

CASE SY-TCODE.

WHEN 'ZEDI6'.

LOOP AT SCREEN.

CASE SCREEN-GROUP4.

WHEN '001'. "Sales order select

SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '002'. "Delivery select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '003'. "Invoice select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '004'. "PO Select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

ENDCASE.

ENDLOOP.

WHEN 'ZEDI6D'. "Delivery select

LOOP AT SCREEN.

CASE SCREEN-GROUP4.

WHEN '001'. "Sales order select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '002'. "Delivery select

SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '003'. "Invoice select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '004'. "PO Select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

ENDCASE.

ENDLOOP.

WHEN 'ZEDI6I'. "Invoice select

LOOP AT SCREEN.

CASE SCREEN-GROUP4.

WHEN '001'. "Sales order select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '002'. "Delivery select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '003'. "Invoice select

SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '004'. "PO Select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

ENDCASE.

ENDLOOP.

WHEN 'ZEDI6P'. "PO select

LOOP AT SCREEN.

CASE SCREEN-GROUP4.

WHEN '001'. "Sales order select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '002'. "Delivery select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '003'. "Invoice select

SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display

MODIFY SCREEN.

WHEN '004'. "PO Select

SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display

MODIFY SCREEN.

ENDCASE.

ENDLOOP.

ENDCASE.

0 comments: