Application Development and Automation 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: 
Read only

JOB_SUBMIT with Selection Screen Value

Former Member
0 Likes
1,324

I have a requirement :

with other select-options and parameters, i have two radio button, Foreground and Background:

when Background radio button will be selected program should be scheduled as a background job.

How i will pass selection screen value in JOB_SUBMIT ??

Cheers.

Srikanta

I have a requirement :

with other select-options and parameters, i have two radio button, Foreground and Background:

when Background radio button will be selected program should be scheduled as a background job.

How i will pass selection screen value in JOB_SUBMIT ??

Cheers.

Srikanta

3 REPLIES 3
Read only

Former Member
0 Likes
942

Hi ,

Try This

*&---------------------------------------------------------------------*
*& Report  ZMMVB_PG_SL_CHANGE_BDC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zmmvb_pg_sl_change_bdc.

TABLES : mara,t133a,marc.
DATA i_t133a LIKE t133a OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF itab OCCURS 0,
        matnr LIKE marc-matnr,
        werks LIKE marc-werks,
        ekgrp LIKE marc-ekgrp,
       END OF itab.
DATA : BEGIN OF itab1 OCCURS 0,
         matnr LIKE marc-matnr,
         werks LIKE marc-werks,
         dispo LIKE marc-dispo,
END OF itab1.

DATA : fname LIKE ibipparms-path ,
       ename TYPE string,
       mode.
DATA: BEGIN OF it_t133a OCCURS   0,
        bilds LIKE t133a-bilds,
        pstat LIKE t133a-pstat,
        guifu LIKE t133a-guifu,
        auswg LIKE t133a-auswg,
      END OF it_t133a.
DATA:  ctr TYPE i,
       ctr_s(2) TYPE n,
       wrk(35),
       ch(1),
       viewno(2) TYPE n,
       guifu LIKE t133a-guifu.


DATA: BEGIN OF it_views OCCURS 30.
        INCLUDE STRUCTURE mbildtab.   " Selection Views
DATA: END OF it_views.

DATA bdc_data LIKE bdcdata OCCURS 0 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-000.
PARAMETERS : ek RADIOBUTTON GROUP rg1 ,
             sl RADIOBUTTON GROUP rg1
             .
SELECTION-SCREEN END OF BLOCK b.
SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-001.
PARAMETERS : fg RADIOBUTTON GROUP rg2 DEFAULT 'X',
             bg RADIOBUTTON GROUP rg2.
SELECTION-SCREEN END OF BLOCK c.

START-OF-SELECTION.

  IF fg = 'X'.
    mode = 'A'.
  ELSEIF bg = 'X'.
    mode = 'E'.
  ENDIF.

  IF ek = 'X'.
    guifu = 'SP09'.
    PERFORM bdc_ekgrp_change.
  ELSEIF sl = 'X'.
    guifu = 'SP12'.
    PERFORM bdc_mrpcontroller_change.
  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  BDC_EKGRP_CHANGE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM bdc_ekgrp_change .
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  = sy-repid
      dynpro_number = sy-dynnr
      field_name    = ' '
    IMPORTING
      file_name     = fname.

  IF NOT ( fname IS INITIAL ) .
    ename = fname .
  ENDIF.

  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                = ename
      filetype                = 'DAT'
    TABLES
      data_tab                = itab
    EXCEPTIONS
      file_open_error         = 1
      file_read_error         = 2
      no_batch                = 3
      gui_refuse_filetransfer = 4
      invalid_type            = 5
      no_authority            = 6
      unknown_error           = 7
      bad_data_format         = 8
      header_not_allowed      = 9
      separator_not_allowed   = 10
      header_too_long         = 11
      unknown_dp_error        = 12
      access_denied           = 13
      dp_out_of_memory        = 14
      disk_full               = 15
      dp_timeout              = 16
      OTHERS                  = 17.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  IF itab[] IS NOT INITIAL.
    LOOP AT itab.
      REFRESH bdc_data.

      IF itab-matnr NA sy-abcde AND itab-matnr NA '/*-_.'.
        UNPACK itab-matnr TO itab-matnr.
      ELSE.
        TRANSLATE itab-matnr TO UPPER CASE.
      ENDIF.
      SELECT SINGLE * FROM mara WHERE matnr = itab-matnr.
      IF sy-subrc NE 0.
        CONTINUE.
      ENDIF.
      PERFORM view_routine.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RMMG1-MATNR'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'RMMG1-MATNR'
                                    itab-matnr.
      CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
      CONDENSE wrk NO-GAPS.

      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                      wrk.   "'MSICHTAUSW-DYTXT(08)'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTR'.
      CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
      CONDENSE wrk NO-GAPS.
      PERFORM bdc_field       USING   wrk  "'MSICHTAUSW-KZSEL(08)'
                                      'X'.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RMMG1-WERKS'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTR'.
      PERFORM bdc_field       USING 'RMMG1-WERKS'
                                    itab-werks.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=BU'.
*  PERFORM bdc_field       USING 'MAKT-MAKTX'
*                                '"HEX BOLT M16X1.5X100,B8.8,BP"'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'MARC-EKGRP'.
*  PERFORM bdc_field       USING 'MARA-MEINS'
*                                'NOS'.
      PERFORM bdc_field       USING 'MARC-EKGRP'
                                    itab-ekgrp.
*  PERFORM bdc_field       USING 'MARA-MATKL'
*                                '1702'.
*  PERFORM bdc_field       USING 'MARC-USEQU'
*                                '3'.
*  PERFORM bdc_field       USING 'MARC-KORDB'
*                                'X'.
      CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
    ENDLOOP.
  ENDIF.


ENDFORM.                    " BDC_EKGRP_CHANGE

*&---------------------------------------------------------------------*
*&      Form  BDC_MRPCONTROLLER_CHANGE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM bdc_mrpcontroller_change .
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  = sy-repid
      dynpro_number = sy-dynnr
      field_name    = ' '
    IMPORTING
      file_name     = fname.

  IF NOT ( fname IS INITIAL ) .
    ename = fname .
  ENDIF.

  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                = ename
      filetype                = 'DAT'
    TABLES
      data_tab                = itab1
    EXCEPTIONS
      file_open_error         = 1
      file_read_error         = 2
      no_batch                = 3
      gui_refuse_filetransfer = 4
      invalid_type            = 5
      no_authority            = 6
      unknown_error           = 7
      bad_data_format         = 8
      header_not_allowed      = 9
      separator_not_allowed   = 10
      header_too_long         = 11
      unknown_dp_error        = 12
      access_denied           = 13
      dp_out_of_memory        = 14
      disk_full               = 15
      dp_timeout              = 16
      OTHERS                  = 17.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  IF itab1[] IS NOT INITIAL.
    LOOP AT itab1.
      REFRESH bdc_data.

      IF itab1-matnr NA sy-abcde AND itab1-matnr NA '/*-_.'.
        UNPACK itab1-matnr TO itab1-matnr.
      ELSE.
        TRANSLATE itab1-matnr TO UPPER CASE.
      ENDIF.
      SELECT SINGLE * FROM mara WHERE matnr = itab1-matnr.
      IF sy-subrc NE 0.
        CONTINUE.
      ENDIF.
      PERFORM view_routine.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RMMG1-MATNR'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'RMMG1-MATNR'
                                    itab1-matnr.
      CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
      CONDENSE wrk NO-GAPS.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                       wrk.         "'MSICHTAUSW-DYTXT(11)'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTR'.
      CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
      CONDENSE wrk NO-GAPS.
      PERFORM bdc_field       USING   wrk          "'MSICHTAUSW-KZSEL(11)'
                                    'X'.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RMMG1-WERKS'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTR'.
      PERFORM bdc_field       USING 'RMMG1-WERKS'
                                    itab1-werks.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=BU'.
*      PERFORM bdc_field       USING 'MAKT-MAKTX'
*                                    '"HEX BOLT M16X1.5X100,B8.8,BP"'.
*      PERFORM bdc_field       USING 'MARA-MEINS'
*                                    'NOS'.
*      PERFORM bdc_field       USING 'MARC-DISGR'
*                                    '701'.
*      PERFORM bdc_field       USING 'MARC-EKGRP'
*                                    'A00'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'MARC-DISPO'.
*      PERFORM bdc_field       USING 'MARC-DISMM'
*                                    'PD'.
      PERFORM bdc_field       USING 'MARC-DISPO'
                                    itab1-dispo.
*      PERFORM bdc_field       USING 'MARC-DISLS'
*                                    'MB'.
      CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
    ENDLOOP.
  ENDIF.
ENDFORM.                    " BDC_MRPCONTROLLER_CHANGE
*&---------------------------------------------------------------------*
*&      Form  bdc_dynpro
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PROGRAM    text
*      -->DYNPRO     text
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
  CLEAR bdc_data.
  bdc_data-program  = program.
  bdc_data-dynpro   = dynpro.
  bdc_data-dynbegin = 'X'.
  APPEND bdc_data.
ENDFORM.                        "BDC_DYNPRO

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
  CLEAR bdc_data.
  bdc_data-fnam = fnam.
  bdc_data-fval = fval.
  APPEND bdc_data.
ENDFORM.                    "BDC_FIELD
*&---------------------------------------------------------------------*
*&      Form  VIEW_ROUTINE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM view_routine .
  CLEAR viewno.
  SELECT * FROM t133a INTO CORRESPONDING FIELDS OF TABLE i_t133a
                WHERE bilds = '21' AND guifu LIKE 'SP%'  .

  LOOP AT i_t133a .
    ch = i_t133a-pstat.
    IF mara-vpsta NA ch .
      DELETE i_t133a     .
      CONTINUE .
    ENDIF .
  ENDLOOP.
  SORT i_t133a BY guifu ASCENDING .
  LOOP AT i_t133a .
    viewno = viewno + 1 .
    IF i_t133a-guifu = guifu .
      EXIT .
    ENDIF .
  ENDLOOP .
ENDFORM.                    " VIEW_ROUTINE

Regards,

Read only

0 Likes
942

Please go through the question before submit your answer

Read only

Former Member
0 Likes
942

Hi, You can try it this way:

1. Create job using FM: JOB_OPEN
2. Use SUBMIT statement with additions SELECTION-SETS and via JOB and Number.
3. Close job using FM: JOB_CLOSE