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

reg submit

Former Member
0 Likes
1,859

Dear experts,

I need help in the following requirement,

I have a prgram named "A" with values in the selection screen. I need to call the other transaction "B" in the background passing all the values to that selection screen B from selection screen "A"and exectute . After exection it should return back to program "A" with the values of internal table in the program "B".

can anyone pls send me a sample code or let me know how to accomplish this

thanks in advance

karthik

17 REPLIES 17
Read only

Former Member
0 Likes
1,651

Check this out


Check this syntax,
Report <program1>
select-options : sel1 for ...,
sel2 for ....

Report <program2>.

SUBMIT <program1> WITH sel1 IN r_sel1
WITH sel2 IN r_sel2.

You should define r_sel1 and r_sel2 with the range of values that needs to be passed to the fields on selection screen. 

Read only

Former Member
0 Likes
1,651

Hello Karthick,

Check this code.

I have did this report to submit to reports and get the output list of the two reports.

REPORT ZV_06_026 .

*--- Type für Anwenderstatus Suchhilfe

TYPES: BEGIN OF TY_ESTAT,

STSMA TYPE TJ30-STSMA,

ESTAT TYPE TJ30-ESTAT,

TXT04 TYPE TJ30T-TXT04,

TXT30 TYPE TJ30T-TXT30,

END OF TY_ESTAT.

*--- Anwenderstatus für Projekte

DATA: G_T_ESTAT TYPE TABLE OF TY_ESTAT,

G_R_ESTAT TYPE TY_ESTAT,

BEGIN OF G_T_STATUS OCCURS 0,

PSPID LIKE PROJ-PSPID, "Projektdefinition

POSID LIKE PRPS-POSID, "PSP-Element

END OF G_T_STATUS.

*--- Interne Tabelle für Listausgabe

DATA:

BEGIN OF G_T_LISTE OCCURS 0,

PSPNR LIKE PROJ-PSPNR, "Projektdefinition (intern)

PSPID LIKE PROJ-PSPID, "Projektdefinition

POSID LIKE PRPS-POSID, "PSP-Element

POST1 LIKE PRPS-POST1, "Kurzbeschreibung

KSTAR LIKE COSS-KSTAR, "Kostenart "/&-neueneu

KTEXT LIKE CSKU-KTEXT, "Kostenarttext"/&-neueneu

PLAN LIKE COSS-WTG001,

OBLIGO LIKE COSS-WTG001,

IST LIKE COSS-WTG001,

PLAN_MINUS LIKE COSS-WTG001,

OBLIGO_INT LIKE COSS-WTG001,

IST_INT LIKE COSS-WTG001,

IST_LFD LIKE COSS-WTG001,

PSPXX(1),

PSPNN(23),

END OF G_T_LISTE.

TYPES:

TYPE_TEXTLINE(512).

DATA:

W_TEXTLINE TYPE TYPE_TEXTLINE.

DATA:

LT_LIST TYPE TABLE OF ABAPLIST,

LT_TXT TYPE TABLE OF TYPE_TEXTLINE.

TABLES: T2503,PRPS,TJ02T.

SELECT-OPTIONS: SO_WWSTO FOR T2503-WWSTO.

*--- Buchungsperiod VON

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(33) TEXT-S01 FOR FIELD PA_JAHRV.

PARAMETERS:

PA_JAHRV TYPE GJAHR OBLIGATORY,

PA_PERV TYPE CO_PERIO OBLIGATORY.

SELECTION-SCREEN END OF LINE.

*--- Buchungsperiod BIS

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(33) TEXT-S02 FOR FIELD PA_JAHRB.

PARAMETERS:

PA_JAHRB TYPE GJAHR OBLIGATORY,

PA_PERB TYPE CO_PERIO OBLIGATORY.

SELECTION-SCREEN END OF LINE.

*--- Systemstatus

SELECT-OPTIONS: SO_PBUKR FOR PRPS-PBUKR DEFAULT '1060',

SO_ISTAT FOR TJ02T-TXT04 NO INTERVALS MATCHCODE OBJECT Z48R_ISTAT.

SELECTION-SCREEN BEGIN OF BLOCK BLCK2 WITH FRAME TITLE TEXT-002.

PARAMETERS: FILENAME LIKE RLGRAP-FILENAME

DEFAULT '

SI39467atmo2$SAMQFETRANSFER.txt'.

*SELECTION-SCREEN SKIP.

SELECTION-SCREEN ULINE.

PARAMETERS: AP RADIOBUTTON GROUP GRP1,

PC RADIOBUTTON GROUP GRP1.

SELECTION-SCREEN END OF BLOCK BLCK2.

*--- Initialzation -


*

INITIALIZATION.

PERFORM F_INITIALZATION.

*----


*

  • INCLUDE Z48C_PSP_DOWN_E01 *

*----


*

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILENAME.

PERFORM FRONTEND_FILE CHANGING FILENAME.

*&----


*

*& Form f_initialzation

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM F_INITIALZATION.

PA_JAHRV = '1900'.

PA_PERV = '001'.

PA_JAHRB = SY-DATUM+0(4).

PA_PERB = SY-DATUM+4(2).

*--- Alle zu Projekten gehörene Anwenderstatus selektieren

SELECT TJ30STSMA TJ30ESTAT TJ30TTXT04 TJ30TTXT30

INTO CORRESPONDING FIELDS OF TABLE G_T_ESTAT

FROM TJ30

INNER JOIN TJ30T ON TJ30STSMA = TJ30TSTSMA

AND TJ30ESTAT = TJ30TESTAT

INNER JOIN TJ21 ON TJ30STSMA = TJ21STSMA

WHERE TJ30T~SPRAS EQ SY-LANGU

AND TJ21~OBTYP = 'PRN'

OR TJ21~OBTYP = 'PDN'.

ENDFORM. " f_initialzation

START-OF-SELECTION.

DATA: LISTOBJECT LIKE ABAPLIST OCCURS 0 WITH HEADER LINE.

SUBMIT Z48R_PROJEKTSTATUS WITH SO_WWSTO IN SO_WWSTO

WITH SO_ISTAT IN SO_ISTAT

EXPORTING LIST TO MEMORY

AND RETURN.

  • Import the list from memory and store it in table listobject

CALL FUNCTION 'LIST_FROM_MEMORY'

TABLES

LISTOBJECT = LISTOBJECT

EXCEPTIONS

NOT_FOUND = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

WRITE 'Error in list_from_memory.'.

ENDIF.

CALL FUNCTION 'LIST_TO_ASCI'

  • EXPORTING

  • LIST_INDEX = -1

TABLES

LISTASCI = LT_TXT

LISTOBJECT = LISTOBJECT

EXCEPTIONS

EMPTY_LIST = 1

LIST_INDEX_INVALID = 2

OTHERS = 3.

CHECK SY-SUBRC = 0.

DATA: LV_LINES LIKE SY-TABIX.

DESCRIBE TABLE LT_TXT LINES LV_LINES.

LOOP AT LT_TXT INTO W_TEXTLINE.

CHECK SY-TABIX > 3.

CHECK W_TEXTLINE(5) <> 'Keine'.

CHECK W_TEXTLINE(5) <> '-----'.

DO 120 TIMES. REPLACE ' |' WITH '|' INTO W_TEXTLINE. ENDDO.

"WRITE / w_textline(255).

PERFORM HANDLE_LINE USING W_TEXTLINE.

ENDLOOP.

  • Free memory

CALL FUNCTION 'LIST_FREE_MEMORY'

TABLES

LISTOBJECT = LISTOBJECT

EXCEPTIONS

OTHERS = 1.

IF SY-SUBRC <> 0.

WRITE 'Error in list_free_memory.'.

ENDIF.

**********************************************************

DATA: SO_PROJ TYPE RANGE OF PROJ-PSPID,

WA_PROJ LIKE LINE OF SO_PROJ,

SO_POSID TYPE RANGE OF PRPS-POSID,

WA_POSID LIKE LINE OF SO_POSID.

CLEAR: SO_PROJ,WA_PROJ,SO_POSID,WA_POSID.

REFRESH: SO_PROJ,SO_POSID.

LOOP AT G_T_STATUS.

WA_PROJ-SIGN = 'I'.

WA_PROJ-OPTION = 'EQ'.

WA_PROJ-LOW = G_T_STATUS-PSPID.

APPEND WA_PROJ TO SO_PROJ.

WA_POSID-SIGN = 'I'.

WA_POSID-OPTION = 'EQ'.

WA_POSID-LOW = G_T_STATUS-POSID.

APPEND WA_POSID TO SO_POSID.

CLEAR: WA_PROJ,WA_POSID.

ENDLOOP.

SORT SO_PROJ BY LOW.

DELETE ADJACENT DUPLICATES FROM SO_PROJ COMPARING LOW.

SORT SO_POSID BY LOW.

DELETE ADJACENT DUPLICATES FROM SO_POSID COMPARING LOW.

SUBMIT Z48R_PROJEKT_FEHLERKOSTEN WITH SO_PROJ IN SO_PROJ

WITH SO_PSP IN SO_POSID

WITH SO_PBUKR IN SO_PBUKR

WITH PA_JAHRV EQ PA_JAHRV

WITH PA_PERV EQ PA_PERV

WITH PA_JAHRB EQ PA_JAHRV

WITH PA_PERB EQ PA_PERB

WITH P_LIST EQ 'X'

EXPORTING LIST TO MEMORY

AND RETURN.

  • IMPORT G_T_LISTE FROM MEMORY ID 'IV_06_026'.

  • Import the list from memory and store it in table listobject

CALL FUNCTION 'LIST_FROM_MEMORY'

TABLES

LISTOBJECT = LISTOBJECT

EXCEPTIONS

NOT_FOUND = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

WRITE 'Error in list_from_memory.'.

ENDIF.

CALL FUNCTION 'LIST_TO_ASCI'

  • EXPORTING

  • LIST_INDEX = -1

TABLES

LISTASCI = LT_TXT

LISTOBJECT = LISTOBJECT

EXCEPTIONS

EMPTY_LIST = 1

LIST_INDEX_INVALID = 2

OTHERS = 3.

LOOP AT G_T_LISTE.

WRITE:/ G_T_LISTE.

ENDLOOP.

**********************************************************

*&----


*

*& Form handle_line

*&----


*

  • text

*----


*

  • <--> P_TEXTLINE text

*----


*

FORM HANDLE_LINE USING P_LINE.

DATA: BEGIN OF T_CLINE OCCURS 0,

TEXT(40),

END OF T_CLINE.

    • erstes Zeichen immer | und irrelevant

SHIFT P_LINE.

SPLIT P_LINE AT '|' INTO TABLE T_CLINE.

READ TABLE T_CLINE INDEX 2.

G_T_STATUS-PSPID = T_CLINE-TEXT.

READ TABLE T_CLINE INDEX 3.

G_T_STATUS-POSID = T_CLINE-TEXT.

APPEND G_T_STATUS.

ENDFORM. " handle_line

*&----


*

*& Form HANDLE_LINE_LIST

*&----


*

  • text

*----


*

  • -->P_W_TEXTLINE text

*----


*

FORM HANDLE_LINE_LIST USING P_LINE.

DATA: BEGIN OF T_CLINE OCCURS 0,

TEXT(40),

END OF T_CLINE.

    • erstes Zeichen immer | und irrelevant

  • SHIFT P_LINE.

  • SPLIT P_LINE AT '|' INTO TABLE T_CLINE.

  • READ TABLE T_CLINE INDEX 2.

  • G_T_OUTTAB-PSPID = T_CLINE-TEXT.

  • READ TABLE T_CLINE INDEX 3.

  • G_T_OUTTAB-POSID = T_CLINE-TEXT.

  • APPEND G_T_OUTTAB.

ENDFORM. " HANDLE_LINE_LIST

*&----


*

*& Form frontend_file

*&----


*

  • text

*----


*

  • <--P_FILENAME text

*----


*

FORM FRONTEND_FILE CHANGING P_FILENAME.

CALL FUNCTION '/SAPDMC/LSM_F4_FRONTEND_FILE'

EXPORTING

PATHNAME = 'C:'

CHANGING

PATHFILE = P_FILENAME

EXCEPTIONS

CANCELED_BY_USER = 1

SYSTEM_ERROR = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

  • MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

  • WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDFORM. " frontend_file

Hope this will helps you.

Vasanth

Read only

0 Likes
1,651

Dear Vasanth,

Thank you for timely reply. i used your logic from your program .

but i am getting the below result

The called program report is displaying without the returning to the calling program, if i press the back butoon i see the error stating that

Error in list_from_memory from the function module List_from_memory.

Read only

0 Likes
1,651

Could you paste ur code.

Read only

0 Likes
1,651

Dear Vasanth,

This is my code,

TABLES: mhis,

mpos,

mhio,

iloa,

vimhio,

iflos,

t351,

t351p,

t351t.

TYPES: TYPE_TEXTLINE(512).

DATA: W_TEXTLINE TYPE TYPE_TEXTLINE.

data : LT_LIST TYPE TABLE OF ABAPLIST,

LT_TXT TYPE TABLE OF TYPE_TEXTLINE.

*internal tables

DATA : BEGIN OF i_mhis OCCURS 0,

warpl LIKE mhis-warpl,

abnum LIKE mhis-abnum,

zaehl LIKE mhis-zaehl,

zykzt LIKE mhis-zykzt,

tstat LIKE mhis-tstat,

pstxt LIKE mpos-pstxt,

plnnr LIKE mpos-plnnr,

plnal LIKE mpos-plnal,

END OF i_mhis.

DATA : BEGIN OF i_mhio OCCURS 0,

warpl LIKE mhio-warpl,

aufnr LIKE mhio-aufnr,

addat LIKE mhio-addat,

gstrp LIKE mhio-gstrp,

END OF i_mhio.

DATA : BEGIN OF i_iflos OCCURS 0,

tplnr LIKE iflos-tplnr,

strno LIKE iflos-strno,

END OF i_iflos.

DATA : BEGIN OF i_iloa OCCURS 0,

aufnr LIKE iloa-aufnr,

tplnr LIKE iloa-tplnr,

stort LIKE iloa-stort,

eqfnr LIKE iloa-eqfnr,

END OF i_iloa.

  • FINAL INTERNAL TABLE

DATA : BEGIN OF i_final OCCURS 0,

warpl LIKE mhis-warpl,

abnum LIKE mhis-abnum,

tstat LIKE mhis-tstat,

pstxt LIKE mpos-pstxt,

plnnr LIKE mpos-plnnr,

plnal LIKE mpos-plnal,

addat LIKE mhio-addat,

gstrp LIKE mhio-gstrp,

tplnr LIKE iflos-tplnr,

strno LIKE iflos-strno,

stort LIKE iloa-stort,

eqfnr LIKE iloa-eqfnr,

END OF i_final.

*ALV data declarations

TYPE-POOLS: slis. "ALV Declarations

DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,

gd_tab_group TYPE slis_t_sp_group_alv,

gd_layout TYPE slis_layout_alv,

gd_repid LIKE sy-repid.

SELECTION-SCREEN BEGIN OF BLOCK m_plan WITH FRAME TITLE text-001.

SELECT-OPTIONS:

p_warpl FOR mhis-warpl,

p_pstxt FOR mpos-pstxt,

p_strno FOR iflos-strno MATCHCODE OBJECT iflm,

p_gstrp FOR mhio-gstrp,

p_addat FOR mhio-addat,

p_tstat FOR mhis-tstat,

p_plnnr FOR mpos-plnnr,

p_plnal FOR mpos-plnal,

p_stort FOR iloa-stort ,

p_eqfnr FOR iloa-eqfnr.

SELECTION-SCREEN END OF BLOCK m_plan.

  • All operation

SELECTION-SCREEN BEGIN OF BLOCK operation WITH FRAME TITLE text-002.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS screen1 RADIOBUTTON GROUP strt DEFAULT 'X'.

SELECTION-SCREEN COMMENT 04(30) text-002.

SELECTION-SCREEN POSITION 45.

PARAMETERS screen2 RADIOBUTTON GROUP strt.

SELECTION-SCREEN COMMENT 48(30) text-003.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK operation.

  • layout

SELECTION-SCREEN BEGIN OF BLOCK layout WITH FRAME.

PARAMETERS: p_vari LIKE disvariant-variant.

SELECTION-SCREEN END OF BLOCK layout.

*Start-of-selection.

START-OF-SELECTION.

DATA: listobject LIKE abaplist OCCURS 0 WITH HEADER LINE.

SUBMIT rimhio00 WITH warpl IN p_warpl

WITH pstxt IN p_pstxt

EXPORTING LIST TO MEMORY

AND RETURN.

  • Import the list from memory and store it in table listobject

CALL FUNCTION 'LIST_FROM_MEMORY'

TABLES

listobject = listobject

EXCEPTIONS

not_found = 1

OTHERS = 2.

IF sy-subrc <> 0.

WRITE 'Error in list_from_memory.'.

ENDIF.

Read only

0 Likes
1,651

Hello,

Karthick,

I have tested ur report in my system. The submited reprot RIMHIO00 is not writing any list.

Thatswhy the FM is not able to capture any record.

Even I have tested this report and not dispalying and output.

I am sur if the any data is selected from RIMHIO00 then u will see it in ur report.

Vasanth

Read only

0 Likes
1,651

Dear vasanth,

i am getting the list from submited reprot RIMHIO00, to be clear

when i exectute my program with values in the selction screen, the RIMHIO00 program exectutes and displays the list with the values but it is not returning to my calling program.

Read only

0 Likes
1,651

Hello Karthick,

To be clear.

If u use the EXPORTING TO LIST AND RETURN then the listof the called program will not be displayed and the list will be exported to the memory.

Anyhow I came from the office. Tommorow I will check that and let you.

Vasanth

Read only

0 Likes
1,651

Dear Vasanth,

Thanks for your interest.

I tried calling other program, it is working. but for the program RIMHIO00 it is not working. i thought that for the interactive grid report this submit command is not useful. but i am not sure. pls check and let me know.

my requirement is i need to pass values to the program RIMHIO00 and executed and after execution i need the final internal table (object_tab) values in my program for further process.

other than this, pls send me a sample program to set layout in reusealvgriddisplay.

note i given points to u

thanks in advance.

Read only

0 Likes
1,651

Hello Karthick,

If the report produces the ALV grid then it is not possible to export the list.

Either the output should be a ordinary report or ALV List.

If it is a list we have to think some other possiblity.

Vasanth

Read only

0 Likes
1,651

Hi karthik,

just make a slight change in Sumbit statement as follows -

it will fulfill ur requirement -

SUBMIT RIMPLA00 WITH warpl IN p_warpl

WITH pstxt IN p_pstxt

EXPORTING LIST TO MEMORY

AND RETURN.

reward points if helpfull..

amit

Read only

0 Likes
1,651

Dear amith,

I am getting same output, the program is not returning to calling program

Read only

0 Likes
1,651

Hello Karthick,

There is user field in the report RIMHIO00 G_GRID.

Check the report where is field is set.

If you set this field through ur report then ur problem will be solved.

Since if G_GRID = 'X'. report is displaying the ALV list from which u could import the list.

If useful reward.

Vasanth

Read only

0 Likes
1,651

hi karthik ,

remove this part from ur code - (also submit would be with the report name which i gave u some time back)

  • Import the list from memory and store it in table listobject

CALL FUNCTION 'LIST_FROM_MEMORY'

TABLES

listobject = listobject

EXCEPTIONS

not_found = 1

OTHERS = 2.

IF sy-subrc <> 0.

WRITE 'Error in list_from_memory.'.

ENDIF.

it will work fine..

reward ptns if helpfull..

Read only

0 Likes
1,651

Dear vasanth,

I found below coding in the called program , but i don't know waht to do with this, pls guide me to get the solution

get parameter id 'Q_ALV_GRID_INACTIVE' field g_grid.

*--- call customer function to change ALV settings

call function 'IREP1_CHANGE_SETTINGS_ALV'

thanks in advance

Read only

0 Likes
1,651

Dear amit,

even if i remove that part i am getting same result.

my requirement is i want the final internal table values(object_tab) from the program RIMHIO00 in my calling program.

Read only

Former Member
0 Likes
1,651

prg A

Submit b with selection-screen and return.

import itab from memory.

prg B

export itab to memory.

Basically you can submit program b with selection-screen parameters and return. While in Prg B you can Export the resultant internal table to memory. So on return to prg A you can import it from memory and use it.