SAP Program [Module Pool- Adding Subscreen ]

SELECTION-SCREEN BEGIN OF SCREEN 400 AS SUBSCREEN .
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.

PARAMETERS :"p_maktx TYPE makt-maktx  OBLIGATORY,               "<~~ Material Description
            p_meins TYPE mara-meins  OBLIGATORY DEFAULT 'M',
            p_spart TYPE mara-spart  OBLIGATORY ,              "<~~ Division
            p_prdha TYPE mara-prdha  OBLIGATORY ,
            p_prctr TYPE marc-prctr  OBLIGATORY .
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN END OF SCREEN 400 .


CALL SCREEN '9001'.

PROCESS BEFORE OUTPUT.
  MODULE status_9001.

  CALL SUBSCREEN sub_1 INCLUDING sy-repid '400'.

PROCESS AFTER INPUT.

  CALL SUBSCREEN sub_1 . "including sy-repid '400'.

  MODULE user_command_9001.

PROCESS ON VALUE-REQUEST.


  FIELD wa_comp-sel101    MODULE create_dropdown_box.
  FIELD wa_comp-sel201    MODULE create_dropdown_box.
  FIELD wa_comp-sel301    MODULE create_dropdown_box.
  FIELD wa_comp-sel401    MODULE create_dropdown_box.
  FIELD wa_comp-sel501    MODULE create_dropdown_box.

  FIELD wa_comp-sel102    MODULE fill_composition.
  FIELD wa_comp-sel202    MODULE fill_composition.
  FIELD wa_comp-sel302    MODULE fill_composition.
  FIELD wa_comp-sel402    MODULE fill_composition.
  FIELD wa_comp-sel502    MODULE fill_composition.
  FIELD wa_comp-category  MODULE fill_category.

___________________________________________________________________

  *&---------------------------------------------------------------------*
*&      Module  CREATE_DROPDOWN_BOX  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE create_dropdown_box INPUT.
  CLEAR :count ,it_selection[].

  IF wa_comp-sel101 IS INITIAL OR wa_comp-sel201 IS INITIAL OR wa_comp-sel301 IS INITIAL OR wa_comp-sel401 IS INITIAL OR wa_comp-sel501 IS INITIAL OR
     wa_comp-sel102 IS INITIAL OR wa_comp-sel202 IS INITIAL OR wa_comp-sel302 IS INITIAL OR wa_comp-sel402 IS INITIAL OR wa_comp-sel502 IS INITIAL .


    DO 100 TIMES.
      count = count + 1 .
      sel_id = count.

      CONCATENATE sel_id '%' INTO wa_selection-sel_val .
      APPEND wa_selection TO  it_selection .

    ENDDO.

    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
        retfield        = 'NAME1'
        value_org       = 'S'
      TABLES
        value_tab       = it_selection
      EXCEPTIONS
        parameter_error = 1
        no_values_found = 2
        OTHERS          = 3.

    IF sy-subrc <> 0.
      ...
    ENDIF.

  ENDIF.

ODULE.                 " CREATE_DROPDOWN_BOX  INPUT

Add caption



  *&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9001  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_9001 INPUT.
  break hopflabap1.

  IF sy-ucomm = 'CAT'.

    DATA: name TYPE vrm_id,lv_count TYPE i,
          list TYPE vrm_values,
          value LIKE LINE OF list,
          lv_category TYPE c LENGTH 30 .

    CLEAR :lv_count,list.

    lv_category  = wa_comp-category.

    SELECT fab_category structure
      FROM zmat_desc
      INTO TABLE  it_zmat_desc
      WHERE fab_category EQ lv_category .



    name = 'WA_COMP-STRUT'.

    LOOP AT it_zmat_desc INTO wa_zmat_desc .
      lv_count = lv_count + 1 .
      value-key =  lv_count.
      value-text = wa_zmat_desc-structure.
      APPEND value TO list.
    ENDLOOP.

    CALL FUNCTION 'VRM_SET_VALUES'
      EXPORTING
        id     = name
        values = list.


  ELSEIF sy-ucomm = 'SAVE'.
    break hopflabap1.
    CONCATENATE wa_comp-sel101 wa_comp-sel102 wa_comp-sel201 wa_comp-sel202 wa_comp-sel301
                wa_comp-sel302 wa_comp-sel401 wa_comp-sel402 wa_comp-sel501 wa_comp-sel502
                wa_comp-category wa_comp-finish wa_comp-weight wa_comp-print wa_comp-color
                wa_comp-category INTO wa_comp-matdesc SEPARATED BY space .

    PERFORM materialcheck .
    PERFORM percentcalculation .
    PERFORM save_zmmfab.
    PERFORM finaldata.


  ELSEIF sy-ucomm = 'TEST'.

    break hopflabap1.

*       FIELD wa_comp-strut   MODULE fill_strut.

  ENDIF.


ENDMODULE.                 " USER_COMMAND_9001  INPUT



Comments

Popular posts from this blog

Static and Instance - ABAP OO

Module Pool- Chain & Endchain

Module Pool - Event