Report to Tcode , back to report ?
Hi friends,
My requirement is to call the transaction IW52 while executing a report. The user does some changes there and i need to get these values back into the report and continue the execution of the report.
I did this by selecting the required values from the VIEW once the transaction is saved , but this is affecting the performance of the code as i have a select statement within a loop.
Can someone tell me any other way to go about this problem.
Regards.
Hi Raj,
As changed value get stored in CDHDR and CDPOS ( Change document tables ) you can get the values from that table..
Try doing that way..
Hope that would help you.
Good luck
Narin
Similar Messages
-
Block ME32K / when launched by user
Hi all,
I have maid a Transaction Variant ZME32K to replace ME32K for some users, as they don't have the right to modify all the fields.
But we had a program who has to CALL ME32K through a BADI. Then the admins decided to give the right to the ME32K transaction.
Now I need to see my options to be able to send a message to the user as he launches ME32K, that he has no right on this transaction and that he must use ZME32K.
I was looking for Exits, Enhancement points or any other appropriate way to make this happen.
All good contributions will be rewarded.
Thaks to you allAs I mentioned earlier, these users have been restricted over the fields they can change on the contracts. And they were originally given only the tcode of ZME32K. However another Transaction needed to CALL ME32K through a BADI which was updating Contracts.
Therefore to make the BADI work without rebuilding a ZBADI which would make us change many things into specific, we allowed the transaction.
We want now to be able to check :
IF TCODE = ZME32K
put an error Message : Please use ZME32K
ELSE
CONTINUE
ENDIF
Or any other solutions, but definitely can't do it via the roles because we actually tried and we had to put the tcode back again.
Hope it is clearer now ?
Edited by: tatan555 on May 18, 2011 11:53 AM -
LSMW Handling multiple recordings
Hi Experts,
I have a scenario in which i need to run PA40 and PA30 tcode back to back to upload data .I have done two recordings one for pa40 and another for pa30 .I have done this two recordings for one object.Now when i use this in LSMW to upload data say for 2 records,it uploads in this format..
PA40-Record1
PA40-Record 2
PA30-Record1
PA30-Record2
But i need it to sequence in the format as below
PA40-Record 1
PA30-Record1
PA40-Record 2
PA30-Record 2
Plz give some some idea as towhat changes need to be done in lsmw so as to obtain the above mentioned format.
Thanks in advance
Edited by: l_gnsh on Dec 12, 2011 1:23 PMit is not possible to run to recordings in one LSMW object.
in step one, where you probably created your recording, you can certainly create many recordings,
Those recordings are available for all objects in a LSMW project. you will even see the recordings made for other objects in your LSMW project.
However, you can only choose and assign one of those recordings to your current object.
this recording then defines the target structure to which you have to link your source structure in step 4
this target structure defines the fields that are available to map your source fields to in step 5.
I dont know PA30 nor PA40 transactions, so I cant give you a specific recommendation nor an alternative solution (I dont know whether SAP has a BAPI or IDOC or standard batch input that can be used instead of recordings.)
But Looking at your wanted sequence I dont see anything that demands that you have to do it this way.
I can only imagine that you have the data in your source file this way.
Why dont you just split this source file into 2 source files, one for PA30 and another one for PA40
then first post all your records using a recording for PA30, then run the second object to do the PA40 step. -
Deletion of filter components from Bex Report in BI 7.0 via back end.
Hi,
I want to delete 2 filter field components from the BI 7.0 report via back end. Im using the Tcode RSZDELETE and giving the variable element UID, Inforprovide name, query tech name. But when i excute it says empty selection.
Other than this is there any way to delete query components at back end???
Regards,
NishaThanks for the reply!
This is to delete the variable created??
My requirement is query specific , the restriction on the IO , ie the variable to be removed via back end.. that means deletion from that report..
hope my statement is clear enough to give me some light .
Thanks
Nisha -
How do we track back the ABAP queries/report painter used to custom report?
Hi Experts,
I only have some ideas about report painter and ABAP query. If a company has a number of different Z reports in production.
1. How do we identify if it's report painter/writer or ABAP query??
2. For ABAP query report, suppose that i can identify one. If i am given a Z tcode of that report and identify the program of that report behind it, How do i know what query that program belongs to?? What are the steps i go back in SQ03 to view that query??
3. For report painter, starting from ztcode of the report, where do i check and track the original painter of that report??
Please help clarify my doubts..
MonicaHi Monica,
For report painter/writer, you can identified it by go to
Environment --> Technical information when you execute your Z-tcode.
To refer back to the report painter/writer t-code you just need to double click oh the report group that you see by clicking the link above.
Thanks,
Victor. -
HI
I am running Process chain as a Back ground job in my user name, now i have a requirement that we need to extract a report out of my system which contains data about " At what time my process chains are running and how many data are loaded" Is that possible..do we have any TCODE or program for this..?
Regards
ArunkumarYou may have to activate the BI Admin Cockpit to capture all of the statistics for Process Chains. The BI Admin Cockpit is built off of the 0TCT* standard content in your BW environment.
Take a look at the following document:
[BI Admin Cockpit - Technical Content - BI Statistics|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90080703-4331-2a10-cd98-9c1e95acdea0?overridelayout=true] -
Report running fine via se38 , but not with tcode.
I had made a alv report, and had assinged TCODE.
When running via tcode > in selection screen i had given all the input data in selection fields,>After that when clicking the execution button> ITS GOING BACK TO SAP SCREEN.
BUT.
SAME report when running through SE38, its running fine..
I had debugg the program , and what find that when running throug TCOde , After AT-SELECTION SCREEN EVENT , ITS COMING OUT TO SAP MENU WITHOUT TRIGGERING THE START-OF-SELECTION EVENT.
HELP ME...Please follow the steps for creating a transaction for report..
GOTO SE93
Give the transaction code.
Press create button..
Enter the short description..
Choose the radio button which says "Program and selection screen(report transaction)".
Press Enter..
Give the program name..
Remove the Selection screen "1000" if you want.
Save the transaction code.. -
Back ordrer report with checking on available stock
Hi ALL,
I need a back order report that will check on open sales order item (not confirm due to insufficient stock) and then lookup whether the open item had arrived and then recommend to User which Sales order to confirm the line item.
Current back order report, v.15 is not good enough.
ThanksHi
Try Tcode CO09 to view the ATP quantities. The ATP quantities are the Available To Promise - which are not assigned to any sales orders or customers and are free for sale.
Thanks,
Ravi -
After displaying result of report, my report goes back to source code edito
Hello experts,
I am currently having a big problem with my report. Here is the problem, after displaying the
result(write), when I press BACK button it is not going back to my selection-screen which is the
usual for reports. Now, what happens is that it goes back to the source code or worse, to the main menu of SAP.
What I want to do is that when I press BACK button it should go to either selection-screen 500 or
selection-screen 1500.
Here's a rough flow of what is happening in my report:
start report -> fetch records based on user input -> display results(not in ALV) ->
after displaying report, click 'BACK' button -> it goes back to source code
Now, here's what I want to do:
start report -> fetch records based on user input -> display results(not in ALV) ->
after displaying report, click 'BACK' button -> go back to either selection-screen 500 or 1500
or call again the transaction of my report.
Help would be greatly appreciated here.Hi guys,
Thanks again for the quick replies.Here is the source code:
REPORT zdealer_contacts NO STANDARD PAGE HEADING
LINE-COUNT 0
LINE-SIZE 255
MESSAGE-ID zz.
TYPE-POOLS: slis.
Data Dictionary Tables
TABLES: zts0001,
zsoemailid,
kna1,
zts_stpgeoloc.
Includes
*INCLUDE zun_globe_header. " Globe Telecom Report Header
Structures, internal tables and data declarations
TYPES: BEGIN OF t_upload,
kunnr LIKE zts0001-kunnr,
zaddress(100),
zcperson(30),
zcnumber(18),
END OF t_upload.
TYPES: BEGIN OF t_error,
kunnr LIKE zts0001-kunnr,
zaddress(100),
zcperson(30),
zcnumber(18),
END OF t_error.
TYPES: BEGIN OF t_kna1,
name1 LIKE kna1-name1,
END OF t_kna1.
TYPES: BEGIN OF t_zts0001,
kunnr LIKE zts0001-kunnr,
cdseq LIKE zts0001-cdseq,
zaddress LIKE zts0001-zaddress,
zcperson LIKE zts0001-zcperson,
zcnumber LIKE zts0001-zcnumber,
zactivated LIKE zts0001-zactivated,
name1 LIKE kna1-name1,
END OF t_zts0001.
DATA: it_upload TYPE STANDARD TABLE OF t_upload WITH HEADER LINE,
it_error TYPE STANDARD TABLE OF t_error WITH HEADER LINE,
it_kna1 TYPE STANDARD TABLE OF t_kna1 WITH HEADER LINE,
it_zts0001 TYPE STANDARD TABLE OF t_zts0001 WITH HEADER LINE.
DATA: it_ztstemp LIKE zts0001 OCCURS 100 WITH HEADER LINE,
it_ztstemp_gloc LIKE zts_stpgeoloc OCCURS 100 WITH HEADER LINE.
*AVH - start of insertion - 04/18/06
FIELD-SYMBOLS: <fs_zts0001> LIKE LINE OF it_zts0001.
**ALV Declarations
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
g_repid LIKE sy-repid,
gs_layout TYPE slis_layout_alv,
gt_list_top_of_page TYPE slis_t_listheader,
gt_events TYPE slis_t_event WITH HEADER LINE,
gt_print TYPE slis_print_alv.
CONSTANTS: gc_top TYPE slis_formname VALUE 'TOP_OF_PAGE',
gc_topsum TYPE slis_formname VALUE 'TOP_OF_LIST',
gc_ucomm TYPE slis_formname VALUE 'USER_COMMAND'.
*AVH - end of insertion
Variables
DATA: v_kunnr LIKE zts0001-kunnr,
v_title(100) TYPE c,
gc_kunnr(06) TYPE c,
v_compflag(1) TYPE c,
v_flag(1).
Selection Screen
*AVH - start of modification - 06/27/06
*if user is controller, selection-screen 500 will be called else,
*selection-scren 1500 will be called.
*selection-screen for controllers
SELECTION-SCREEN BEGIN OF SCREEN 500.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: pr_upld RADIOBUTTON GROUP grp2 USER-COMMAND ucomm1.
SELECTION-SCREEN COMMENT 2(20) text-007 FOR FIELD pr_upld.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 03(15) text-a11 FOR FIELD p_flnme.
PARAMETERS: p_flnme LIKE rlgrap-filename DEFAULT 'C:\'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: pr_list1 RADIOBUTTON GROUP grp2.
SELECTION-SCREEN COMMENT 2(7) text-003 FOR FIELD pr_list1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN END OF SCREEN 500.
*selection-screen for non-controllers.
SELECTION-SCREEN BEGIN OF SCREEN 1500.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(22) text-002 FOR FIELD p_dcode.
PARAMETERS: p_dcode LIKE vbak-kunnr,
p_name1 LIKE kna1-name1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: pr_list2 RADIOBUTTON GROUP grp USER-COMMAND ucomm2.
SELECTION-SCREEN COMMENT 2(7) text-003 FOR FIELD pr_list2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: pr_add RADIOBUTTON GROUP grp.
SELECTION-SCREEN COMMENT 2(3) text-005 FOR FIELD pr_add.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: pr_edit RADIOBUTTON GROUP grp.
SELECTION-SCREEN COMMENT 2(4) text-006 FOR FIELD pr_edit.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 03(20) text-a12 FOR FIELD p_code.
PARAMETERS: p_code LIKE zts0001-cdseq.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF SCREEN 1500.
INITIALIZATION.
SELECT SINGLE kunnr comp_flag INTO (gc_kunnr,v_compflag)
FROM zsoemailid
WHERE bname = sy-uname.
IF sy-subrc <> 0.
MESSAGE i000 WITH
'You are not authorised to use this transaction'.
LEAVE PROGRAM.
ENDIF.
IF v_compflag = 'X'.
CALL SCREEN 500.
ELSE.
CALL SCREEN 1500.
ENDIF.
*AVH - end of modification
AT SELECTION-SCREEN OUTPUT.
PERFORM authority_check.
added by derick 050125
**-changed by weng rulloda 06012005
*AVH - start of insertion - 05/22/06
*no need to get value of kunnr from global memory
*since gc_kunnr would be filled via the select statement below
GET PARAMETER ID 'KUN' FIELD gc_kunnr.
*AVH - end of insertion
p_dcode = gc_kunnr.
*AVH - start of insertion - 05/22/06
**fetch the respective description of dealer based from p_dcode
**and put in parameter p_name1
SELECT SINGLE name1 FROM kna1
INTO p_name1
WHERE kunnr = p_dcode.
*AVH - end of insertion
*AVH - start of insertion - 05/22/06
**selection-screen parameters is based if user is controller or not.
**created new selection-screen conditions based from orig. code
v_kunnr = gc_kunnr.
LOOP AT SCREEN.
IF screen-name = 'P_DCODE'.
screen-input = '0'.
screen-output = '1'.
MODIFY SCREEN.
ELSEIF screen-name = 'P_NAME1'.
screen-input = '0'.
screen-output = '1'.
MODIFY SCREEN.
ELSEIF screen-name = 'P_CODE'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF pr_list2 = 'X' OR pr_add = 'X'.
LOOP AT SCREEN.
IF screen-name = 'P_CODE'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF pr_edit = 'X'.
LOOP AT SCREEN.
IF screen-name = 'P_CODE'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF pr_list1 = 'X'.
LOOP AT SCREEN.
IF screen-name = 'P_FLNME'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
*AVH - end of modification
AT SELECTION-SCREEN.
CHECK sy-ucomm = 'UCOMM1' OR sy-ucomm = 'UCOMM2'.
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_flnme.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_flnme.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
mask = ',.,..'
mode = 'O'
title = 'File Selection'
IMPORTING
filename = p_flnme
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_code.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_code.
DATA : BEGIN OF itab_list OCCURS 0,
kunnr LIKE zts0001-kunnr,
cdseq LIKE zts0001-cdseq,
zaddress LIKE zts0001-zaddress,
zcperson LIKE zts0001-zcperson,
zcnumber LIKE zts0001-zcnumber,
END OF itab_list.
DATA: tab_fields LIKE dfies OCCURS 0 WITH HEADER LINE,
tab_valuetab(100) TYPE c OCCURS 0 WITH HEADER LINE.
DATA: tab_dynnr TYPE sy-dynnr.
DATA: BEGIN OF tab_return_tab OCCURS 0.
INCLUDE STRUCTURE ddshretval.
DATA: END OF tab_return_tab.
DATA: progname LIKE sy-repid.
CLEAR: tab_valuetab[], tab_fields[].
SELECT kunnr cdseq zaddress zcperson zcnumber
INTO CORRESPONDING FIELDS OF TABLE itab_list
FROM zts0001
WHERE kunnr = v_kunnr.
tab_dynnr = sy-dynnr.
tab_fields-tabname = 'ZTS0001'.
tab_fields-fieldname = 'KUNNR'.
APPEND tab_fields.
tab_dynnr = sy-dynnr.
tab_fields-tabname = 'ZTS0001'.
tab_fields-fieldname = 'CDSEQ'.
APPEND tab_fields.
tab_fields-tabname = 'ZTS0001'.
tab_fields-fieldname = 'ZADDRESS'.
APPEND tab_fields.
tab_fields-tabname = 'ZTS0001'.
tab_fields-fieldname = 'ZCPERSON'.
APPEND tab_fields.
tab_fields-tabname = 'ZTS0001'.
tab_fields-fieldname = 'ZCNUMBER'.
APPEND tab_fields.
LOOP AT itab_list.
tab_valuetab = itab_list-kunnr.
APPEND tab_valuetab.
tab_valuetab = itab_list-cdseq.
APPEND tab_valuetab.
tab_valuetab = itab_list-zaddress.
APPEND tab_valuetab.
tab_valuetab = itab_list-zcperson.
APPEND tab_valuetab.
tab_valuetab = itab_list-zcnumber.
APPEND tab_valuetab.
ENDLOOP.
progname = sy-repid.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CDSEQ'
dynpprog = progname
dynpnr = '1000'
dynprofield = 'P_CODE'
TABLES
value_tab = tab_valuetab
field_tab = tab_fields
return_tab = tab_return_tab
EXCEPTIONS
OTHERS = 0.
START-OF-SELECTION.
IF pr_edit = 'X' AND p_code IS INITIAL.
MESSAGE i008 WITH 'Please specify a ship-to code.'.
LEAVE TO TRANSACTION 'ZDCONTACT'.
ENDIF.
PERFORM get_data.
IF pr_upld = 'X'.
PERFORM upload_file.
ELSEIF pr_add = 'X'.
PERFORM add_record.
ELSEIF pr_edit = 'X'.
PERFORM edit_record.
ELSEIF pr_list1 = 'X' OR pr_list2 = 'X'.
PERFORM display_alv.
ENDIF.
END-OF-SELECTION.
based from ALV PF-STATUS
IF sy-ucomm = '&F03'. "BACK
LEAVE TO TRANSACTION 'ZDCONTACT'.
ELSEIF sy-ucomm = '&F15'. "EXIT
LEAVE TO TRANSACTION 'ZDCONTACT'.
ELSEIF sy-ucomm = '&F12'. "CANCEL
LEAVE TO TRANSACTION 'ZDCONTACT'.
ENDIF.
*& Form authority_check
FORM authority_check.
CALL FUNCTION 'AUTHORITY_CHECK'
EXPORTING
field1 = 'TCD' "MDM
object = 'S_TCODE'
user = sy-uname
value1 = 'ZMEN'
VALUE3 = '01' MDM
EXCEPTIONS
user_dont_exist = 1
user_is_authorized = 2
user_not_authorized = 3
user_is_locked = 4
OTHERS = 5.
IF sy-subrc NE 2.
**-added by weng 04/28/2006
**-if user is not authorized to use dealer portal check if he is
**- authorized to use the tcode ZDCONTACT
CALL FUNCTION 'AUTHORITY_CHECK'
EXPORTING
field1 = 'TCD' "MDM
object = 'S_TCODE'
user = sy-uname
value1 = 'ZDCONTACT'
VALUE3 = '01' MDM
EXCEPTIONS
user_dont_exist = 1
user_is_authorized = 2
user_not_authorized = 3
user_is_locked = 4
OTHERS = 5.
**-weng
IF sy-subrc NE 2.
MESSAGE i000 WITH
'You are not authorised to use this transaction'.
LEAVE PROGRAM.
ENDIF.
ENDIF.
ENDFORM. " AUTHORITY_CHECK
*& Form get_data
FORM get_data.
*AVH - start of insertion - 04/19/06
**records selected from table zts0001 that has been marked as
**activated will be fetched otherwise, ignore.
IF v_kunnr IS INITIAL.
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_zts0001
FROM zts0001.
ELSEIF v_compflag = 'X'.
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_zts0001
FROM zts0001.
ELSE.
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_zts0001
FROM zts0001
WHERE kunnr = v_kunnr.
ENDIF.
*AVH - start of insertion - 05/24/06
**fetch name based from kunnr and put in itab
LOOP AT it_zts0001 ASSIGNING <fs_zts0001>.
SELECT SINGLE name1 FROM kna1
INTO <fs_zts0001>-name1
WHERE kunnr = <fs_zts0001>-kunnr.
ENDLOOP.
*AVH - end of insertion
ENDFORM. " get_data
*& Form Upload_file
FORM upload_file.
DATA: lv_seq(5) TYPE n,
lv_ctr(5) TYPE c,
lv_kunnr LIKE it_upload-kunnr.
v_title = 'Upload from File'.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_flnme
filetype = 'DAT'
TABLES
data_tab = it_upload
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE i008 WITH 'File does not exist.'.
IF v_compflag IS INITIAL.
LEAVE TO TRANSACTION 'ZDCONTACT'.
ELSE.
LEAVE TO TRANSACTION 'ZDCONTACT'.
ENDIF.
ENDIF.
CHECK sy-subrc EQ 0.
DELETE it_upload
WHERE zaddress EQ space
AND zcperson EQ space
AND zcnumber EQ space.
SORT it_zts0001 BY kunnr ASCENDING cdseq DESCENDING.
SORT it_upload BY kunnr ASCENDING.
LOOP AT it_upload.
lv_kunnr = it_upload-kunnr.
AT NEW kunnr.
AVH - start of insertion - 06/30/06
SELECT SINGLE kunnr FROM zsoemailid
INTO lv_kunnr
WHERE kunnr = it_upload-kunnr.
if it_upload-kunnr is not found in table ZSOEMAILID, it will
not be included in the upload.
IF sy-subrc <> 0.
DELETE it_upload.
CLEAR it_upload.
CONTINUE.
ENDIF.
AVH - end of insertion
READ TABLE it_zts0001 WITH KEY kunnr = lv_kunnr.
IF sy-subrc EQ 0.
lv_seq = it_zts0001-cdseq.
ELSE.
CLEAR lv_seq.
ENDIF.
ENDAT.
IF it_upload-zaddress IS INITIAL.
MOVE-CORRESPONDING it_upload TO it_error.
APPEND it_error.
CLEAR it_error.
ELSE.
REPLACE '"' WITH '' INTO it_upload-zaddress.
REPLACE '"' WITH '' INTO it_upload-zaddress.
REPLACE '"' WITH '' INTO it_upload-zcperson.
REPLACE '"' WITH '' INTO it_upload-zcperson.
CONDENSE it_upload-zaddress.
CONDENSE it_upload-zcperson
ADD 1 TO lv_seq.
MOVE: it_upload-kunnr TO it_ztstemp-kunnr,
lv_seq TO it_ztstemp-cdseq,
it_upload-zaddress TO it_ztstemp-zaddress,
it_upload-zcperson TO it_ztstemp-zcperson,
it_upload-zcnumber TO it_ztstemp-zcnumber,
'X' TO it_ztstemp-zactivated,
sy-uname TO it_ztstemp-zcreated_by,
sy-datum TO it_ztstemp-zchanged_date.
MOVE-CORRESPONDING it_ztstemp TO it_ztstemp_gloc.
APPEND: it_ztstemp, it_ztstemp_gloc.
CLEAR: it_ztstemp, it_ztstemp_gloc.
ENDIF.
ENDLOOP.
IF NOT it_ztstemp[] IS INITIAL.
INSERT zts0001 FROM TABLE it_ztstemp.
INSERT zts_stpgeoloc FROM TABLE it_ztstemp_gloc.
WRITE:/ 'List of Records Uploaded.' COLOR 1 INTENSIFIED ON.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE:/(020) 'Dealer Code' CENTERED,
(007) 'Code' CENTERED,
(100) 'Address',
(030) 'Contact Person' CENTERED,
(018) 'Contact Number' CENTERED.
FORMAT COLOR OFF.
WRITE:/(179) sy-uline.
DESCRIBE TABLE it_ztstemp LINES lv_ctr.
SORT it_ztstemp BY kunnr cdseq.
LOOP AT it_ztstemp.
WRITE:/(020) it_ztstemp-kunnr,
(007) it_ztstemp-cdseq,
(100) it_ztstemp-zaddress,
(030) it_ztstemp-zcperson,
(018) it_ztstemp-zcnumber.
ENDLOOP.
SKIP 1.
WRITE:/ 'TOTAL :', lv_ctr.
ENDIF.
IF NOT it_error[] IS INITIAL.
SKIP 2.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE:/(020) 'Dealer Code' CENTERED,
(030) 'Contact Person' CENTERED,
(018) 'Contact Number' CENTERED.
FORMAT COLOR OFF.
WRITE:/(070) sy-uline.
DESCRIBE TABLE it_error LINES lv_ctr.
SORT it_error BY kunnr zcperson.
LOOP AT it_error.
WRITE:/ 'With No Address.' COLOR 6 INTENSIFIED ON.
WRITE:/(020) it_error-kunnr,
(030) it_error-zcperson,
(018) it_error-zcnumber.
ENDLOOP.
SKIP 1.
WRITE:/ 'TOTAL :', lv_ctr.
ENDIF.
ENDFORM. " Upload_file
*& Form add_record
FORM add_record.
v_title = ''.
IF NOT v_kunnr IS INITIAL.
SUBMIT zdealer_contacts_add_edit AND RETURN
WITH p_kunnr = v_kunnr
WITH p_name1 = p_name1 "AVH
WITH p_cdseq = space
WITH p_flag = 'A'
WITH p_addr = it_zts0001-zaddress
WITH p_pers = it_zts0001-zcperson
WITH p_numb = it_zts0001-zcnumber
VIA SELECTION-SCREEN.
ENDIF.
LEAVE TO TRANSACTION 'ZDCONTACT'.
ENDFORM. " add_record
*& Form edit_record
FORM edit_record.
v_title = ''.
READ TABLE it_zts0001 WITH KEY kunnr = v_kunnr
cdseq = p_code.
IF sy-subrc EQ 0.
SUBMIT zdealer_contacts_add_edit AND RETURN
WITH p_kunnr = v_kunnr
WITH p_name1 = p_name1 "AVH
WITH p_cdseq = p_code
WITH p_flag = 'E'
WITH p_addr = it_zts0001-zaddress
WITH p_pers = it_zts0001-zcperson
WITH p_numb = it_zts0001-zcnumber
WITH v_controller = v_compflag
VIA SELECTION-SCREEN.
ELSE.
MESSAGE i008 WITH 'No record found.'.
CALL TRANSACTION 'ZDCONTACT'.
ENDIF.
LEAVE TO TRANSACTION 'ZDCONTACT'.
ENDFORM. " edit_record
*& Form display_records
*FORM display_records.
IF NOT it_zts0001[] IS INITIAL.
v_title = 'List of Dealer Contacts'.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE:/(020) 'Customer Number' CENTERED,
(007) 'Code' CENTERED,
(100) 'Address',
(030) 'Contact Person' CENTERED,
(018) 'Contact Number' CENTERED.
FORMAT COLOR OFF.
WRITE:/(179) sy-uline.
SORT it_zts0001 BY kunnr cdseq.
LOOP AT it_zts0001.
WRITE:/(020) it_zts0001-kunnr,
(007) it_zts0001-cdseq,
(100) it_zts0001-zaddress,
(030) it_zts0001-zcperson,
(018) it_zts0001-zcnumber.
ENDLOOP.
ELSE.
MESSAGE i008 WITH 'No records to display.'.
ENDIF.
*ENDFORM. " display_records
*& Form display_alv
FORM display_alv.
SORT it_zts0001 BY kunnr cdseq.
PERFORM f_build_layout USING gs_layout.
PERFORM f_init_fieldcat USING gt_fieldcat[].
PERFORM f_init_events USING 'BACK' gt_events[].
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_top_of_page = 'TOP_OF_PAGE'
i_callback_user_command = 'USER_COMMAND'
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
it_events = gt_events[]
i_save = 'X'
it_sort = gt_sort
TABLES
t_outtab = it_zts0001[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
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. " DISPLAY_ALV
FORM top_of_page *
FORM top_of_page.
*ALV Header declarations
DATA: t_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
t_line LIKE wa_header-info,
lv_title(60),
lv_user(60),
lv_date(10),
lv_time(10),
lv_time_n_date(30),
lv_dcode_n_name(150),
lv_dlr_n_desc(100),
ld_lines TYPE i,
ld_linesc(10) TYPE c.
Title
CLEAR: lv_title, wa_header.
MOVE sy-title TO lv_title.
wa_header-typ = 'H'.
wa_header-info = lv_title.
APPEND wa_header TO t_header.
CLEAR wa_header.
User
CLEAR: lv_user, wa_header.
CONCATENATE: 'Generated by:' sy-uname
INTO lv_user SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = lv_user.
APPEND wa_header TO t_header.
CLEAR wa_header.
*Date and time
CLEAR: lv_date, lv_time.
WRITE: sy-datum TO lv_date MM/DD/YYYY,
sy-uzeit TO lv_time USING EDIT MASK '__:__:__'.
CONCATENATE: 'Generated on:' lv_date lv_time
INTO lv_time_n_date SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = lv_time_n_date.
APPEND wa_header TO t_header.
CLEAR wa_header.
IF NOT v_kunnr IS INITIAL AND v_compflag IS INITIAL.
*Dealer code and name
CONCATENATE: 'Dealer:' p_dcode p_name1
INTO lv_dcode_n_name SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = lv_dcode_n_name.
APPEND wa_header TO t_header.
CLEAR wa_header.
ENDIF.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header.
ENDFORM. " TOP_OF_PAGE
FORM f_build_layout *
--> %LAYOUT *
FORM f_build_layout USING %layout TYPE slis_layout_alv.
%layout-zebra = 'X'.
%layout-colwidth_optimize = 'X'.
ENDFORM. " F_BUILD_LAYOUT
FORM f_init_fieldcat *
--> %FIELDCAT *
FORM f_init_fieldcat USING %fieldcat TYPE slis_t_fieldcat_alv.
DATA: lc_fieldcat TYPE slis_fieldcat_alv.
CLEAR lc_fieldcat.
DEFINE m_field.
add 1 to lc_fieldcat-col_pos.
lc_fieldcat-fieldname = &1.
lc_fieldcat-outputlen = &2.
lc_fieldcat-seltext_l = &3.
lc_fieldcat-do_sum = &4.
lc_fieldcat-inttype = &5.
lc_fieldcat-hotspot = &6.
lc_fieldcat-fix_column = &7.
lc_fieldcat-ddictxt = 'L'.
lc_fieldcat-no_zero = 'X'.
append lc_fieldcat to %fieldcat.
END-OF-DEFINITION.
IF v_kunnr IS INITIAL.
m_field 'KUNNR' '5' 'Dealer Code' '' '' '' ''.
ENDIF.
IF v_compflag = 'X'.
m_field 'KUNNR' '5' 'Dealer Code' '' '' '' ''.
ENDIF.
IF v_compflag = 'X'.
m_field 'NAME1' '40' 'Dealer Name' '' '' '' ''.
ENDIF.
m_field 'CDSEQ' '05' 'Ship-To Code' '' '' '' ''.
m_field 'ZADDRESS' '100' 'Address' '' '' '' ''.
m_field 'ZCPERSON' '30' 'Contact Person' '' '' '' ''.
m_field 'ZCNUMBER' '18' 'Contact Number' '' '' '' ''.
IF v_kunnr IS INITIAL.
m_field 'NAME1' '40' 'Dealer Name' '' '' '' ''.
ENDIF.
m_field 'ZACTIVATED' '1' 'Activated' '' '' '' ''.
ENDFORM. " f_init_fieldcat
FORM f_init_events *
--> P_TYPE *
--> %EVENTS *
FORM f_init_events USING p_type CHANGING %events TYPE slis_t_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = %events
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.
IF sy-subrc = 0.
PERFORM f_build_events USING: slis_ev_user_command.
IF p_type = 'TOP'.
PERFORM f_build_events USING: gc_top.
ELSEIF p_type = 'SUM'.
PERFORM f_build_events_sum USING: gc_topsum.
ENDIF.
ELSE.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " F_INIT_EVENTS
FORM user_command *
--> P_UCOMM *
--> P_SELFIELD *
FORM user_command USING p_ucomm LIKE sy-ucomm
p_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN 'E'.
CALL SELECTION-SCREEN 500.
ENDCASE.
ENDFORM.
FORM f_build_events *
--> %EVENT *
FORM f_build_events USING %event.
READ TABLE gt_events WITH KEY name = %event.
IF sy-subrc = 0.
MOVE: %event TO gt_events-form.
MOVE 'USER_COMMAND' TO gt_events-form.
MODIFY gt_events INDEX sy-tabix.
ENDIF.
ENDFORM. " F_BUILD_EVENTS -
Hi Group,
I have a requirement to develop a Z-report depending on the o/p of the tcode CS15.
The result should be same as that of the CS15 with the a few additions:
(1)Providing option to accept multiple Materilal Numbers
(2)Filtering out the selection criteria on the fileds MRP Controller, Profit Center and etc.,
my queries are:
(1)In the Standard report, I was getting the fields Required Quantity and Result Quantity in the output. Whereas for me
I was using a fm 'CS_WHERE_USED_MAT' to fetch the BOM items but whereas in the return parameter (STPOV) does not
contain these fields(Result Quan and Reqd. Quan).
(2)I have to show the Material Type in the output. But when I fetch the records from the above FM, I was getting the Component
details but not the Materials. - the user wants the Material Type to be shown for each record.
Kindly provide me inputs on the above queries.
Regards,
Vishnu.Hi,
You can refer my wiki which i posted long back.
link:[Inverse BOM Explosion|http://wiki.sdn.sap.com/wiki/display/Snippets/InverseBOMExplosion-ABAP] . Please note that the coding is not so good. If its today i could have wriiten it better
In case of quantities you will not get it directly . filrtering the material type is really easy comparing the result with MARA-MTART. -
why do we execute in reports back ground processing? what is the back ground processing? and what is the tcode for that in reports.? in back ground after generate a report how can we see whether it is succeed or not?
hi Sandya,
most time we execute reports in background for performance reason,
the report may run timeout if executed in foreground.
we can schedule background job for run, SM36.
or run the program in background from SE38, program name,
and menu execute - in background.
we can check the background job with SM37.
hope this helps. -
Report Open balance for Customers back in time
Dear All,
I would like to have a question: How can I report Highest Balances for Customers back in time? So I have to list Date and Amount, in the last one year, when Customers had their Highest Balances (highest outstanding amount). I have a transaction that can show actual status but I cannot report it for a long period in the past.
Does anyone have an idea how could I do it?
It would be very helpful.
Thank you!
A.Hello,
Solution Manager does not desal with Customer Balances. Perhaps you wanted one of the banking industry forums, or FI AR/AP?
In any event this question will not help you much in this forum.
Regards,
Paul -
How to stay back on same section of a report after pressing cancel button
Hi,
How we can stay back on a same section of a report page when I press Cancel button or Apply Changes button from linked Data Entry Form. For instance if I have a 200 rows in a report and I scroll down to 80th row and press Edit button when called a data entry form. Now when I press Cancel it again re-load the report from the start of the page.
Any idea!
Thanks
SabahatHi Sajid,
Thanks for reply.
I have used RETURN statement like below.
SUBMIT RFWT0010 WITH vendor = 'X'
WITH i_lifnr IN i_lifnr
WITH i_bukrs IN i_kunnr
WITH test = 'X'
AND RETURN.
The output of RFWT0010 is displayed. but on pressing "back" button on toolbar, the flow is coming back from RFWT0010 to calling report. I want that On pressing ENTER button of keyboard. The flow should come back to calling report.
Regards,
Ratnesh -
Tried using Find My iPhone and it's offline. It (Find my iPhone) was set up. What do I do now? Do I report it stolen? What is the best way in getting back my iPhone if any? Thank you in advance.
Find My iPhone is good for misplaced iPhone but not good for thief and it was never meant to be.
You chance of getting it back is very small.
There are a few things you can try.
Try remote lock/wipe your iPhone through Find My iPhone.
https://www.icloud.com
You can report to the police, cell carrier (expensive cell charges for international calls, roaming etc)
Change all the passwords used in iPhone: Apple ID, E-mail, Bank Account ....
http://support.apple.com/kb/HT2526 -
Shortened Fiscal Year and its impact on BI back end and Bex reports
Hi All,
Our client is making some changes to the fiscal year period.
Becuase of some business requirements, we will have to shortened the fiscal year.
Can you please suggest - what are the watch points when we do this?
- what will be the impact to BI back end and Bex reports?
Thanks,
NishaHello Nisha,
Since the fiscal year (Infobjects - 0FISCYEAR and/ 0FISCPER3) is compounded with fiscal year variant, therefore maintaining the correct variant in BI will automatically take care of showing the data correctly.
So there are two things to be maintained in BI:
1) To see that the variant definition.
2) If you need to display the text of the fiscal periods, then the correct texts.
Let me know if you need more clarifications.
Regards,
Shweta
Edited by: Shweta Kesarwani on Jan 8, 2010 11:10 AM
Maybe you are looking for
-
Workshop (WebLogic 10.2 MP1) not available for Solaris 10 SPARC 64 bit?
Hi All, When Workshop for WebLogic 10.2 MP1 will be available for Solaris 10 SPARC 64 bit. I could find "WebLogic 10.2 MP1 for Solaris 10 SPARC 32 bit" but not for SPARC 64 bit!! otherwise guide me to download page. Thanks and Regards Arunachalam.C E
-
New iMac and problem with imovie 11
Hi, I purchased my new iMac two days ago mainly to use iMovie. But after editing projects for around 30mins it seems to freeze and requires a force quit. When I restart I can't edit or playback the project, almost as though it is locked. I've tried d
-
Use of RSL's with ie6 not working
Hi All, It seems my RSL (framework_3.4.0.6955) for the framework.swc and rpc.swc is not working in IE6. I have configured the RSL's to one root location because 3 flex-apps at different locations of the site needs to use these. So the RSL's are not w
-
Hi. I`m using ATG 10.0.3 multiste configuration. I faced with problem trying to test my merchendising search configuration. All items was discarded on "Apply Item Constraints". When I tried to track item to identify discarding reason I have found int
-
Access server's serial port thru an applet
hello everyone, i am writing a program that will allow remote computer to read and write on server's serial port. currently i am in the testing stage, so i am programming everything on the same computer. i already wrote an application using java comm