2010 Dec 21 6:22 AM
Hi gurus,
I m developing a report and I m trying to call another screen after a statement. I have a problem. ALthough ı m writing call screen 300, the 100 numbered screen comes. What may be the reason? Thanks in advance?
2010 Dec 23 6:18 AM
Hi,
Please try with this code.
** PBO Module **************************************
process before output.
module status_0100.
call subscreen sub_1 including sy-repid w_scrno.
call subscreen sub_2 including sy-repid w_scrno1.
*** PAI Module ************************************
process after input.
module exit_command at exit-command.
** Calling the first Subscreen
call subscreen sub_1.
** Call Subscreen area 2
call subscreen sub_2.
regrads,
Suvajit.
Hi gurus,
I m developing a report and I m trying to call another screen after a statement. I have a problem. ALthough ı m writing call screen 300, the 100 numbered screen comes. What may be the reason? Thanks in advance?
2010 Dec 21 6:40 AM
MY--CODES
..................................................
DATA: L_VALID TYPE C.
DATA :
TIMETICKETS TYPE BAPI_PP_TIMETICKET OCCURS 0 WITH HEADER LINE,
RETURN LIKE BAPIRET1,
LINK_CONF_GOODSMOV TYPE BAPI_LINK_CONF_GOODSMOV
OCCURS 0 WITH HEADER LINE,
GOODSMOVEMENTS TYPE BAPI2017_GM_ITEM_CREATE OCCURS 0 WITH HEADER LINE.
CALL METHOD CI_ALV->CHECK_CHANGED_DATA
IMPORTING
E_VALID = L_VALID.
CALL METHOD CI_ALV->GET_SELECTED_ROWS
IMPORTING
ET_INDEX_ROWS = LT_INDEX_ROWS.
LOOP AT LT_INDEX_ROWS INTO LS_INDEX_ROWS.
READ TABLE GT_ITAB INDEX LS_INDEX_ROWS-INDEX.
IF SY-SUBRC = 0.
ENDIF.
ENDLOOP.
REFRESH : DETAIL_RETURN.
READ TABLE GT_ITAB WITH KEY CHK = 'X'.
IF SY-SUBRC NE 0.
MESSAGE E000(ZPP) WITH 'Lütfen operasyon seçin'.
ENDIF.
CLEAR : DETAIL_RETURN, DETAIL_RETURN[].
LOOP AT GT_ITAB WHERE CHK IS NOT INITIAL
AND OK IS INITIAL.
IF GT_ITAB-LMNGA LE 0 AND GT_ITAB-XMNGA LE 0.
MESSAGE E000(ZPP) WITH
'Operasyon' GT_ITAB-VORNR 'için miktar girin'.
ENDIF.
REFRESH : TIMETICKETS, DETAIL_RET.
CLEAR : TIMETICKETS, DETAIL_RET.
TIMETICKETS-ORDERID = GT_ITAB-AUFNR.
TIMETICKETS-OPERATION = GT_ITAB-VORNR.
TIMETICKETS-YIELD = GT_ITAB-LMNGA.
TIMETICKETS-SCRAP = GT_ITAB-XMNGA.
CLEAR ACT_LMNGA.
ACT_LMNGA = TIMETICKETS-YIELD + TIMETICKETS-SCRAP.
export gv_lmnga to memory id 'GV_LMNGA'.
TIMETICKETS-CONF_QUAN_UNIT = GT_ITAB-AMEIN.
TIMETICKETS-FIN_CONF = GT_ITAB-AUERU.
TIMETICKETS-POSTG_DATE = GV_BUDAT.
*--- Calculate activity
SELECT SINGLE * FROM AFKO WHERE AUFNR = GT_ITAB-AUFNR.
IF SY-SUBRC IS INITIAL.
SELECT * INTO TABLE WLT_AFVC
FROM AFVC WHERE AUFPL = AFKO-AUFPL
AND VORNR = GT_ITAB-VORNR .
IF NOT SY-DBCNT IS INITIAL.
SORT WLT_AFVC BY APLZL.
LOOP AT WLT_AFVC.
CLEAR: AFVDB_TAB[],
AFVDB_TAB.
CALL FUNCTION 'ZPP_CO_DB_AFVGD_SINGLE_READ'
EXPORTING
AFVG_AUFTRAG = WLT_AFVC-AUFPL
AFVG_VORGANG = WLT_AFVC-APLZL
TABLES
AFVDB_TAB = AFVDB_TAB
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ELSE.
LOOP AT AFVDB_TAB WHERE AUFPL = WLT_AFVC-AUFPL
AND APLZL = WLT_AFVC-APLZL.
CLEAR: ACT_AFVGD,
EXP_ACTIVITIES.
MOVE-CORRESPONDING AFVDB_TAB TO ACT_AFVGD.
*-Calculate Activity values--
*
PERFORM CALCULATE_ACTCONF_QTY USING GT_ITAB-MATNR
GT_ITAB-AMEIN
ACT_LMNGA
GV_ACTMG.
*----
*
CALL FUNCTION 'CO_R0_DET_TOTAL_ACTIVITY'
EXPORTING
ACT_AFVGD = ACT_AFVGD
ACT_FLG_CONSIDER_CONF = 'X'
ACT_QUANTITY = GV_ACTMG
ACT_DATUM = SY-DATUM
ACT_FLG_MST = 'X'
ACT_ARBID = ACT_AFVGD-ARBID
ACT_WERKS = ACT_AFVGD-WERKS
IMPORTING
EXP_ACTIVITIES = EXP_ACTIVITIES
EXCEPTIONS
DIVISION_BY_ZERO = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ELSE.
TIMETICKETS-CONF_ACTIVITY1 = EXP_ACTIVITIES-ACTI1.
TIMETICKETS-CONF_ACTI_UNIT1 = EXP_ACTIVITIES-UNIT1.
IF GT_ITAB-CONF_ACTIVITY2 IS INITIAL.
TIMETICKETS-CONF_ACTIVITY2 = EXP_ACTIVITIES-ACTI2.
ELSE.
TIMETICKETS-CONF_ACTIVITY2 = GT_ITAB-CONF_ACTIVITY2.
ENDIF.
TIMETICKETS-CONF_ACTI_UNIT2 = EXP_ACTIVITIES-UNIT2.
IF GT_ITAB-CONF_ACTIVITY3 IS INITIAL.
TIMETICKETS-CONF_ACTIVITY3 = EXP_ACTIVITIES-ACTI3.
ELSE.
TIMETICKETS-CONF_ACTIVITY3 = GT_ITAB-CONF_ACTIVITY3.
ENDIF.
TIMETICKETS-CONF_ACTI_UNIT3 = EXP_ACTIVITIES-UNIT3.
TIMETICKETS-CONF_ACTIVITY4 = EXP_ACTIVITIES-ACTI4.
TIMETICKETS-CONF_ACTI_UNIT4 = EXP_ACTIVITIES-UNIT4.
TIMETICKETS-CONF_ACTIVITY5 = EXP_ACTIVITIES-ACTI5.
TIMETICKETS-CONF_ACTI_UNIT5 = EXP_ACTIVITIES-UNIT5.
TIMETICKETS-CONF_ACTIVITY6 = EXP_ACTIVITIES-ACTI6.
TIMETICKETS-CONF_ACTI_UNIT6 = EXP_ACTIVITIES-UNIT6.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
*---
APPEND TIMETICKETS.
APPEND TIMETICKETSALL.
DATA : GV_ZZSHIFT LIKE AFRU-ZZSHIFT,
GV_ZZZOPER LIKE AFRU-ZZZOPER,
GV_ZZZOPE1 LIKE AFRU-ZZZOPE1,
GV_ZZZDRN1 LIKE AFRU-ZZZDRN1,
GV_ZZZDRS1 LIKE AFRU-ZZZDRS1,
GV_ZZZDRN2 LIKE AFRU-ZZZDRN2,
GV_ZZZDRS2 LIKE AFRU-ZZZDRS2,
GV_ZZZDRN3 LIKE AFRU-ZZZDRN3,
GV_ZZZDRS3 LIKE AFRU-ZZZDRS3.
GV_ZZSHIFT = GT_ITAB-ZZSHIFT.
GV_ZZZOPER = GT_ITAB-ZZZOPER.
GV_ZZZOPE1 = GT_ITAB-ZZZOPE1.
GV_ZZZDRN1 = GT_ITAB-ZZZDRN1.
GV_ZZZDRS1 = GT_ITAB-ZZZDRS1.
GV_ZZZDRN2 = GT_ITAB-ZZZDRN2.
GV_ZZZDRS2 = GT_ITAB-ZZZDRS2.
GV_ZZZDRN3 = GT_ITAB-ZZZDRN3.
GV_ZZZDRS3 = GT_ITAB-ZZZDRS3.
EXPORT GV_ZZSHIFT TO MEMORY ID 'ZZSHIFT'.
EXPORT GV_ZZZOPER TO MEMORY ID 'ZZZOPER'.
EXPORT GV_ZZZOPE1 TO MEMORY ID 'ZZZOPE1'.
EXPORT GV_ZZZDRN1 TO MEMORY ID 'ZZZDRN1'.
EXPORT GV_ZZZDRS1 TO MEMORY ID 'ZZZDRS1'.
EXPORT GV_ZZZDRN2 TO MEMORY ID 'ZZZDRN2'.
EXPORT GV_ZZZDRS2 TO MEMORY ID 'ZZZDRS2'.
EXPORT GV_ZZZDRN3 TO MEMORY ID 'ZZZDRN3'.
EXPORT GV_ZZZDRS3 TO MEMORY ID 'ZZZDRS3'.
CALL FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'
EXPORTING
POST_WRONG_ENTRIES = '1'
IMPORTING
RETURN = RETURN
TABLES
TIMETICKETS = TIMETICKETS[]
GOODSMOVEMENTS = GOODSMOVEMENTS[]
LINK_CONF_GOODSMOV = LINK_CONF_GOODSMOV[]
DETAIL_RETURN = DETAIL_RET[].
IF RETURN-TYPE IS INITIAL . "islem basarili
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
GT_ITAB-OK = 'X'.
CLEAR GT_ITAB-CHK.
GT_ITAB-ROWCOLOR = 'C510'.
MODIFY GT_ITAB.
ELSE.
GT_ITAB-ROWCOLOR = 'C610'.
CLEAR GT_ITAB-CHK.
MODIFY GT_ITAB.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
LOOP AT DETAIL_RET.
MOVE-CORRESPONDING DETAIL_RET TO DETAIL_RETURN.
APPEND DETAIL_RETURN.
GT_ITAB-MESSAGE = DETAIL_RET-MESSAGE.
MODIFY GT_ITAB.
ENDLOOP.
CALL SCREEN 300.
ENDLOOP.
Edited by: OSMANBIYIK on Dec 21, 2010 7:40 AM
2010 Dec 21 8:26 PM
2010 Dec 22 9:59 AM
Hi,
Have you define screen 100 or 300.
Please check the condition line in debugging mode
'LOOP AT GT_ITAB WHERE CHK IS NOT INITIAL AND OK IS INITIAL'
Please check in this line condition is felt or not.
2010 Dec 21 7:18 AM
Hi,
Keep a breakpoint in call screen statement
and check where the flow is going.
May b in PBO of screen 300,it is calling the screen 100.
2010 Dec 23 6:18 AM
Hi,
Please try with this code.
** PBO Module **************************************
process before output.
module status_0100.
call subscreen sub_1 including sy-repid w_scrno.
call subscreen sub_2 including sy-repid w_scrno1.
*** PAI Module ************************************
process after input.
module exit_command at exit-command.
** Calling the first Subscreen
call subscreen sub_1.
** Call Subscreen area 2
call subscreen sub_2.
regrads,
Suvajit.
2011 Mar 05 4:29 AM
hi gurus,
my requirement is to call two screens in the sma subscreen area.i have declared two screens with 200 and 300 and wrote code CALL SUBSCREEN NAME IN PAI event , CALL SUBSCREEN NAME INCLUDING SY-REPID DYNNR IN PBO EVENT.
this code is not working.....plz help me
CASE OK_CODE.
WHEN 'ALV'.
DYNNR = '0200'.
WHEN 'TC'.
SELECT * FROM MAKT INTO TABLE IT_MAKT WHERE MATNR BETWEEN P_MATNR1 AND P_MATNR2.
DYNNR = '0300'.
WHEN 'CLEAR'.
CLEAR P_MATNR1.
CLEAR P_MATNR2.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
clear dynnr.
ENDCASE.
thanks,
Edited by: VAMSHI KISHORE CHADUVU on Mar 5, 2011 5:30 AM
2011 Mar 15 7:50 AM
hi gurus,
i have to call two subscreens in the same area,not at the same time.i wrote the code but call subscreen statement in the PAI event is not working ( i checked it in debugging mode it is leaving the program at that statement.....................plz help me
thanks in advance
2011 Mar 16 3:14 PM
Hi,
Make sure that the CALL SUBSCREEN subscreenareaname is the first statement after the 'Process after input' in your flow logic of the main screen. CASE OK_CODE should be written in another module after the CALL SUBSCREEN subscreenareaname in the PAI. May be your ok_code is getting changed somewhere. If all this doesn't help, try going in Debugging mode and see what happens.
Hope this will help.
Regards,
Mahesh M.S.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |