Message capturing while submitting a report in background
Hi All,
I am submitting a report in background using job_open and job_close fucntion modules. I want to capture all messages coming while running the report. I am able to capture messages coming in the output but not able to capture the messages coming in the below status bar(error messages). If some error message comes in the selection screen of the submitted report.
Kindly let me know the way in which i can capture those status error messages.
Thanks in advance.
Regards.
SK
Edited by: shekhar kumar on Nov 6, 2009 7:07 AM
hi ,
write your code in try catch exception block
and you can store your exception in and ztable you want .
at end of report .
Regards
Deepak
Similar Messages
-
Got ORA-00933: SQL command not properly ended while submitting BIP Report
Hi All,
I have got the subjected error while submitting the XML report concurrent Program in R12.
I have used lexical parameters in my data template and build the where clause in before report trigger.
If i commented this lexical parameter thing in Data template and ran the report it was working fine...
I have enabled the "debug_mode" property in Data template and i could see the query in log but the lexical parameter is coming as '&P_WHERE'. So I couldn't find that from where the error is coming...
Please help me on this ....
Regards,
Kalidosspost what do you have for lexical parameters
plz see
Re: Lexical Parameters in WHERE clause giving error
Re: lexical parameter in bi report -
CNTL_ERROR while running a report in background mode
Hi,
I am running a report in background on daily basis. I am using cl_gui_custom_container class here and calling the constructor of this class. I am getting a CNTL_ERROR exception at this point. But if i run the same report directly, it is not throwing any exception. The problem is if i schedule it to background. I am not able to sort it out. So please if any body knows, answer this.
Thanks,
KumarHi Nithin,
I was facing the similar issue in a custom report program. I did apply the logic that you'd mentioned.
I've implemented the code as below.
IF gr_container IS INITIAL.
*** Check whether the program is run in batch or foreground
IF CL_GUI_ALV_GRID=>OFFLINE( ) IS INITIAL.
* Run in foreground
CREATE OBJECT gr_container
EXPORTING
container_name = 'WORK_AREA_CONTAINER'.
CREATE OBJECT lv_grid
EXPORTING I_PARENT = gr_container.
ELSE.
* Run in background
CREATE OBJECT lv_grid
EXPORTING
I_PARENT = gr_dockcontainer.
ENDIF.
ENDIF.
i_parent_control = gr_dockcontainer.
CREATE OBJECT m_base_splitter
EXPORTING
parent = i_parent_control
ROWS = 1
columns = 2
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CALL METHOD m_base_splitter->get_container
EXPORTING
row = 1
column = 2
RECEIVING
container = m_splitter_right_part
EXCEPTIONS
OTHERS = 1.
After I've implemented the above code I'm getting the following error in the batch job:
Category ABAP Programming Error
Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED
Except. CX_SY_REF_IS_INITIAL
You attempted to use a 'NULL' object reference (points to 'nothing')
access a component (variable: "M_BASE_SPLITTER").
An object reference must point to an object (an instance of a class)
before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the
CLEAR statement.
Would you be able to help me in the above issue? -
Headers getting repeated while running the report in background
Hi,
I have a report which uses ALV grid display for output display.
I have displayed a heder in the top_of_page option. while running the program in foregound the header gets displayed only once. but when executing in background the header is getting displayed for each and every page.
can any one tell me how to get the header displayed only once in the background also.REPORT ZBACKORD MESSAGE-ID VZ
NO STANDARD PAGE HEADING.
*& TABLES AND TYPE-POOLS *
Tables used
TABLES : VBAK, "Sales Document: Header Data
VBAP, "Sales Document: Item Data
VBPA. "Sales Document Partner
For ALV Display
TYPE-POOLS: SLIS. "Globale Typen für generische Listbausteine
*& CONSTANTS *
Constants Used
CONSTANTS:
C_X VALUE 'X', "Order status
C_TAPA(4) VALUE 'TAPA', "For Material Determination
C_0001(4) VALUE '0001', "Etenr value
C_A VALUE 'A', "Enable Save
C_US(3) VALUE 'US$', "US DOLLAR.
C_B VALUE 'B', "for Partially processed
C_E VALUE 'E', "Language
C_C VALUE 'C', "for completely processed
C_BLANK VALUE ' ', "Blank
C_IC1(4) VALUE '&IC1', "for user command
C_ZR(2) VALUE 'ZR', "Cs ReP No
C_BP(2) VALUE 'RE', "Bill to party
C_SH(2) VALUE 'WE', "Sold to party
C_6(6) VALUE '000000', "For item number
C_20(2) TYPE N VALUE '20', "For the length of the field
C_S(1) TYPE C VALUE 'S', "STOCK
C_H VALUE 'H', "Header
C_COL(1) TYPE C VALUE ':', " COLUMN FOR DATA AND TIME
C_TOP TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
"For TOP_OF_PAGE
C_USER TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
" For USER_COMMAND
*& TYPE DEFINITIONS *
*FOR Sales Document: Header Data
TYPES: BEGIN OF TP_VBAK,
VBELN TYPE VBELN_VF, "Sales Document
ERDAT TYPE ERDAT, "Date on which the record was created
AUART TYPE AUART, "Sales document type
LIFSK TYPE LIFSK, "Delivery block
VKORG TYPE VKORG, "Sales organization
VTWEG TYPE VTWEG, "Distribution channel
END OF TP_VBAK.
*FOR Sales Document Business Data
TYPES :BEGIN OF TP_VBKD,
VBELN TYPE VBELN, "Sales and distribution document number
POSNR TYPE POSNR, "Item number of the SD document
INCO1 TYPE INCO1, "Incoterms
ZTERM TYPE DZTERM, "Terms of payment key
BSTKD TYPE BSTKD, "Customer purchase order number
END OF TP_VBKD.
TYPES : BEGIN OF TP_VBFA,
VBELV TYPE VBELN_VON,
POSNV TYPE POSNR_VON,
END OF TP_VBFA.
*FOR Sales Document: Partner
TYPES : BEGIN OF TP_VBPA,
VBELN TYPE VBELN, "Sales and distribution
PARVW TYPE PARVW, "Partner function
KUNNR TYPE KUNNR, "Customer Number 1
ADRNR TYPE ADRNR, "address
END OF TP_VBPA.
*FOR Addresses (Business Address Services)
TYPES : BEGIN OF TP_ADRC,
ADDRNUMBER TYPE AD_ADDRNUM, "Address
DATE_FROM TYPE AD_DATE_FR, "Date valid from
NATION TYPE AD_NATION, "International address
NAME1 TYPE AD_NAME1, "name
END OF TP_ADRC.
*FOR Sales Document: Item Data
TYPES: BEGIN OF TP_VBAP,
VBELN TYPE VBELN_VA, "Sales document
POSNR TYPE POSNR_VA, "Sales document item
MATNR TYPE MATNR, "Material Number
PSTYV TYPE PSTYV, "Sales document item category
KDMAT TYPE MATNR_KU, "Material number used by customer
VRKME TYPE VRKME, "Sales unit
WERKS TYPE WERKS_EXT, "Plant (Own or External)
VSTEL TYPE VSTEL, "Shipping point /Receiving point
NETPR TYPE NETPR, "Net p
NETWR TYPE NETWR_AP,
WAERK TYPE VBAP-WAERK,"Target outline doc currency
END OF TP_VBAP.
*for Sales Document: Schedule Line Data
TYPES: BEGIN OF TP_VBEP,
VBELN TYPE VBELN_VA, "Sales document
POSNR TYPE POSNR_VA, "Sales Document Item
ETENR TYPE ETENR, "Schedule line
EDATU TYPE EDATU, "Schedule line data
WMENG TYPE WMENG, "Order quantity in sales unit
BMENG TYPE BMENG, "Confirmed quantity
LMENG TYPE LMENG, "Required quantity
WADAT TYPE WADAT, "Goods issue date
LIFSP TYPE LIFSP_EP, "Schedule line blocked for delivery
END OF TP_VBEP.
*For Sales Document: Header Status and Administrative Data
TYPES : BEGIN OF TP_VBUK,
VBELN TYPE VBELN, "Sales and Distribution Document Number
SPSTG TYPE SPSTG, "Overall blocked status
CMGST TYPE CMGST,
END OF TP_VBUK.
TYPES : BEGIN OF TP_TVLST,
LIFSP TYPE LIFSP, "Default delivery block
VTEXT TYPE BEZEI_LIFSP, "Description
END OF TP_TVLST.
*FOR Sales Document: Item Status
TYPES : BEGIN OF TP_VBUP,
VBELN TYPE VBELN, "Sales and distribution
POSNR TYPE POSNR, "Item number of the SD
LFGSA TYPE LFGSA, "Overall delivery status of item
END OF TP_VBUP.
For ALV Display-if cs rep is checked
TYPES: BEGIN OF TP_DISPC,
VBELN TYPE VBELN, "Sales and distribution Doc
VKORG TYPE VKORG, "Sales organization
VTWEG TYPE VTWEG, "Distribution channel
AUART TYPE AUART, "Sales document type
BSTKD TYPE BSTKD, "Customer purchase order
KUNNR_1 TYPE KUNNR, "Cs Rep Number
NAME1_1 TYPE NAME1, "Cs Rep Name
KUNNR_2 TYPE KUNNR, "Bill to Number
NAME1_2 TYPE NAME1, "Bill to Party
KUNNR_3 TYPE KUNNR, "Ship to Number
NAME1_3 TYPE NAME1, "Ship to Party
POSNR TYPE POSNR_VA, "Item number of the SD
MATNR TYPE MATNR, "Material Number
KDMAT TYPE MATNR_KU, "Material number used by
VSTEL TYPE VSTEL, "Shipping point /Receiving
NETPR TYPE NETPR, "Net price
NETWR TYPE NETWR_AP,
WAERK TYPE WAERK, "Currency
ZTERM TYPE DZTERM, "Terms of payment key
WMENG TYPE WMENG, "Order quantity in sales unit
LOGIC_1 TYPE WMENG, "BackOrder Quantity
VRKME TYPE STRING, "Sales Unit
WADAT TYPE EDATU, "Goods issue date
WADAT1 TYPE EDATU,
EDATU TYPE EDATU, "Schedule line data
VRKME_1 TYPE STRING, "Sales Unit
INCO1 TYPE INCO1, "Incoterms
LFGSA TYPE STRING, "Overall delivery status of item
LIFSP TYPE STRING, "Line Item Block
LIFSK TYPE STRING, "Header block
SPSTG TYPE STRING, "Overall blocked status
END OF TP_DISPC.
For ALV Display-if plant is checked
TYPES: BEGIN OF TP_DISPP,
VBELN TYPE VBELN, "Sales and distribution Doc
VKORG TYPE VKORG, "Sales organization
VTWEG TYPE VTWEG, "Distribution channel
AUART TYPE AUART, "Sales document type
BSTKD TYPE BSTKD, "Customer purchase order
KUNNR_2 TYPE KUNNR, "Cs rep number
NAME1_2 TYPE NAME1, "Cs rep Name
KUNNR_3 TYPE KUNNR, "Ship to Number
NAME1_3 TYPE NAME1, "Ship to Party Name
POSNR TYPE POSNR_VA, "Item number of the SD
MATNR TYPE MATNR, "Material Number
KDMAT TYPE MATNR_KU, "Material number used by customer
VSTEL TYPE VSTEL, "Shipping point /Receiving point
NETPR TYPE NETPR, "Net price
NETWR TYPE NETWR_AP,
*}MOD02
WAERK TYPE WAERK, "Currency
ZTERM TYPE DZTERM, "Terms of payment key
WMENG TYPE WMENG, "Order quantity in sales unit
LOGIC_1 TYPE WMENG, "Backorder Quantity
VRKME TYPE STRING, "Sales unit
WADAT TYPE EDATU, "Goods issue date
WADAT1 TYPE EDATU,
EDATU TYPE EDATU, "Schedule line data
VRKME_1 TYPE STRING, "Sales Unit
INCO1 TYPE INCO1, "Incoterms
LFGSA TYPE STRING, "Overall delivery status of item
LIFSP TYPE STRING, "Line Item Block
LIFSK TYPE STRING, "Header block
SPSTG TYPE STRING, "Overall blocked status
WERKS TYPE WERKS_EXT, "Plant (Own or External)
END OF TP_DISPP.
For ALV Display-if cs rep and palnt is checked
TYPES: BEGIN OF TP_DISP,
VKORG TYPE VKORG, "Sales organization
VTWEG TYPE VTWEG, "Distribution channel
AUART TYPE AUART, "Sales document type
VBELN TYPE VBELN, "Sales and distribution Doc no
BSTKD TYPE BSTKD, "Customer purchase order number
KUNNR_1 TYPE KUNNR, "Cs Rep Number
NAME1_1 TYPE NAME1, "Cs Rep Name
KUNNR_2 TYPE KUNNR, "Bill to Number
NAME1_2 TYPE NAME1, "Bill to Name
KUNNR_3 TYPE KUNNR, "Ship to Number
NAME1_3 TYPE NAME1, "Ship to Name
POSNR TYPE POSNR_VA, "Item number of the SD
MATNR TYPE MATNR, "Material Number
KDMAT TYPE MATNR_KU, "Material number used
VSTEL TYPE VSTEL, "Shipping point /Receiving
NETPR TYPE NETPR, "Net price
NETWR TYPE NETWR_AP,
WAERK TYPE WAERK, "Currency
ZTERM TYPE DZTERM, "Terms of payment key
WMENG TYPE WMENG, "Order quantity in sales
LOGIC_1 TYPE WMENG, "Backorder Quantity
VRKME TYPE STRING, "Sales unit
WADAT TYPE EDATU, "Goods issue date
WADAT1 TYPE EDATU,
VRKME_1 TYPE STRING, "Sales Unit
EDATU TYPE EDATU, "Schedule line date
INCO1 TYPE INCO1, "Incoterms
LFGSA TYPE STRING, "Overall delivery status of
LIFSP TYPE STRING, "Line Item Block
LIFSK TYPE STRING, "Header block
SPSTG TYPE STRING, "Overall blocked status
WERKS TYPE WERKS_EXT, "Plant (Own or External)
END OF TP_DISP.
*& INTERNAL TABLES *
Internal Tables used for Data Selection
DATA: T_VBAK TYPE STANDARD TABLE OF TP_VBAK WITH HEADER LINE,
T_VBPA TYPE STANDARD TABLE OF TP_VBPA WITH HEADER LINE,
T_VBAP TYPE STANDARD TABLE OF TP_VBAP WITH HEADER LINE,
T_VBKD TYPE STANDARD TABLE OF TP_VBKD WITH HEADER LINE,
T_VBEP TYPE STANDARD TABLE OF TP_VBEP WITH HEADER LINE,
T_VBEP1 TYPE STANDARD TABLE OF TP_VBEP WITH HEADER LINE,
T_VBUP TYPE STANDARD TABLE OF TP_VBUP WITH HEADER LINE,
T_ADRC TYPE STANDARD TABLE OF TP_ADRC WITH HEADER LINE,
T_DISPC TYPE STANDARD TABLE OF TP_DISPC WITH HEADER LINE,
T_DISPP TYPE STANDARD TABLE OF TP_DISPP WITH HEADER LINE,
T_DISP TYPE STANDARD TABLE OF TP_DISP WITH HEADER LINE.
{23-8-2007
DATA: T_VBUK TYPE STANDARD TABLE OF TP_VBUK WITH HEADER LINE,
T_TVLST TYPE STANDARD TABLE OF TP_TVLST WITH HEADER LINE,
T_TVLST1 TYPE STANDARD TABLE OF TP_TVLST WITH HEADER LINE,
T_VBFA TYPE STANDARD TABLE OF TP_VBFA WITH HEADER LINE.
Variables used for ALV Display *
DATA:
W_REPID TYPE SY-REPID, " Report name
W_POS TYPE I VALUE 0, " Column position indicator
W_LAYOUT TYPE SLIS_LAYOUT_ALV, " Layout
W_DATUM(10) TYPE C, " Run date
W_TIME(8) TYPE C. " Run time
Tables used for ALV Display *
DATA : T_GROUP TYPE SLIS_T_SP_GROUP_ALV WITH HEADER LINE,
"Grouping of field
T_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
"sorting of the field
T_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
" Field description
T_TOP TYPE SLIS_T_LISTHEADER. " Header for the ALV
Work Area used for ALV Display
DATA : WA_TOP LIKE LINE OF T_TOP. " Work Area for Header
*& SELECTION SCREEN *
Selection
SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-T01.
"Sales Organization details
SELECT-OPTIONS: S_VKORG FOR VBAK-VKORG OBLIGATORY.
"Sales Organization
SELECT-OPTIONS: S_VTWEG FOR VBAK-VTWEG .
"Distribution Channel
SELECT-OPTIONS: S_KUNNR1 FOR VBPA-KUNNR . "CS Rep Number
SELECT-OPTIONS: S_WERKS FOR VBAP-WERKS. "Plant
SELECTION-SCREEN END OF BLOCK B01.
SELECTION-SCREEN BEGIN OF BLOCK B02 WITH FRAME TITLE TEXT-T02.
"Additional Selections
SELECT-OPTIONS: S_KUNNR2 FOR VBPA-KUNNR . "Bill to party
SELECT-OPTIONS: S_KUNNR3 FOR VBPA-KUNNR . "Ship to party
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN . "Saler Order
SELECT-OPTIONS: S_MATNR FOR VBAP-MATNR . "Material Number
SELECT-OPTIONS: S_KDMAT FOR VBAP-KDMAT . "Customer Material Number
SELECT-OPTIONS: S_AUART FOR VBAK-AUART . "Sales Order Type
SELECTION-SCREEN END OF BLOCK B02.
SELECTION-SCREEN BEGIN OF BLOCK B03 WITH FRAME TITLE TEXT-T03.
"Date Selection
SELECT-OPTIONS: S_ERDAT FOR VBAK-ERDAT OBLIGATORY.
"Order Creation Date
PARAMETER: P_PLANT AS CHECKBOX. "Backorder Plant
PARAMETER: P_CSREP AS CHECKBOX. "Backorder CSREP number
SELECTION-SCREEN END OF BLOCK B03.
*& AT SELECTION SCREEN *
*Validation Sales Organisation
AT SELECTION-SCREEN ON S_VKORG.
IF NOT S_VKORG[] IS INITIAL.
SELECT VKORG UP TO 1 ROWS FROM TVKO
BYPASSING BUFFER
INTO S_VKORG
WHERE VKORG IN S_VKORG.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E01.
"Enter a valid Sales Organization
ENDIF.
ENDIF.
*Validation Distribution Channel
AT SELECTION-SCREEN ON S_VTWEG.
IF NOT S_VTWEG[] IS INITIAL.
SELECT VTWEG UP TO 1 ROWS FROM TVTW
BYPASSING BUFFER
INTO S_VTWEG
WHERE VTWEG IN S_VTWEG.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E02.
"Enter a valid Distribution channel
ENDIF.
ENDIF.
*Validation Customer service rep number
AT SELECTION-SCREEN ON S_KUNNR1.
IF NOT S_KUNNR1[] IS INITIAL.
SELECT KUNNR UP TO 1 ROWS FROM KNA1
INTO S_KUNNR1
WHERE KUNNR IN S_KUNNR1.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E03.
"Enter a valid Customer Service rep number
ENDIF.
ENDIF.
*Validation Plant
AT SELECTION-SCREEN ON S_WERKS.
IF NOT S_WERKS[] IS INITIAL.
SELECT WERKS UP TO 1 ROWS
FROM T001W
INTO S_WERKS
BYPASSING BUFFER
WHERE WERKS IN S_WERKS.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E04. "Enter a valid Plant
ENDIF.
ENDIF.
*Validation Bill to number
AT SELECTION-SCREEN ON S_KUNNR2.
IF NOT S_KUNNR2[] IS INITIAL.
SELECT KUNNR UP TO 1 ROWS FROM KNA1
INTO S_KUNNR2
WHERE KUNNR IN S_KUNNR2.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E05. "Enter a valid Bill to number
ENDIF.
ENDIF.
*Validation Ship to Number
AT SELECTION-SCREEN ON S_KUNNR3.
IF NOT S_KUNNR3[] IS INITIAL.
SELECT KUNNR UP TO 1 ROWS FROM KNA1
INTO S_KUNNR3
WHERE KUNNR IN S_KUNNR3.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E06. "Enter a valid Ship to number
ENDIF.
ENDIF.
*Validation Order Number
AT SELECTION-SCREEN ON S_VBELN.
IF NOT S_VBELN[] IS INITIAL.
SELECT VBELN UP TO 1 ROWS FROM VBUK
INTO S_VBELN
WHERE VBELN IN S_VBELN.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E07. "Enter a valid Order number
ENDIF.
ENDIF.
*Validation Material Number
AT SELECTION-SCREEN ON S_MATNR.
IF NOT S_MATNR[] IS INITIAL.
SELECT MATNR UP TO 1 ROWS FROM MARA
INTO S_MATNR
WHERE MATNR IN S_MATNR.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E08. "Enter a valid Material number
ENDIF.
ENDIF.
*Validation Customer Material Number
AT SELECTION-SCREEN ON S_KDMAT.
IF NOT S_KDMAT[] IS INITIAL.
SELECT KDMAT UP TO 1 ROWS
FROM KNMT
INTO S_KDMAT
WHERE VKORG IN S_VKORG AND
VTWEG IN S_VTWEG AND
KDMAT IN S_KDMAT.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E09.
"Enter a valid Customer Material number
ENDIF.
ENDIF.
*Validation Salea order type
AT SELECTION-SCREEN ON S_AUART.
IF NOT S_AUART[] IS INITIAL.
SELECT AUART UP TO 1 ROWS FROM TVAK
INTO S_AUART
BYPASSING BUFFER
WHERE AUART IN S_AUART.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH TEXT-E10.
"Enter a valid Sales Order type
ENDIF.
ENDIF.
*Validation for Plant / CS rep .
AT SELECTION-SCREEN .
IF NOT ( ( P_PLANT = C_X ) OR ( P_CSREP = C_X ) ).
MESSAGE E000 WITH TEXT-E12. "Choose the Plant or CSrep
ENDIF.
IF ( P_PLANT = C_X ) AND S_WERKS IS INITIAL.
MESSAGE E000 WITH TEXT-E13. "Enter Plant
ENDIF.
IF ( P_CSREP = C_X ) AND S_KUNNR1 IS INITIAL.
MESSAGE E000 WITH TEXT-E14. " Enter CSREP number
ENDIF.
*& START OF SELECTION *
START-OF-SELECTION.
Clear Work Areas/Variables and Clear/Refresh Internal Tables
PERFORM CLEAR_REFRESH.
Selection of Data as per inputs
PERFORM DATA_SELECTION.
Populate Internal table for display
PERFORM DATA_FILL_FOR_DISPLAY.
*& END OF SELECTION *
END-OF-SELECTION.
IF NOT T_DISP[] IS INITIAL.
*Populating the field catalog for ALV Display if plant and csrep is
*checked.
PERFORM POPULATE_FIELD_CATALOG.
PERFORM DISPLAY.
ELSEIF T_DISPP[] IS NOT INITIAL.
*Populating the field catalog for ALV Display if plant is checked.
PERFORM POPULATE_FIELD_CATALOG.
PERFORM DISPLAY.
ELSEIF T_DISPC[] IS NOT INITIAL.
*Populating the field catalog for ALV Display if csrep is checked.
PERFORM POPULATE_FIELD_CATALOG.
PERFORM DISPLAY.
ELSE.
MESSAGE I000 WITH TEXT-E15. "No Data found for Selection Criteria
ENDIF.
Clear Work Areas/Variables and Clear/Refresh Internal Tables
PERFORM CLEAR_REFRESH.
*& Form CLEAR_REFRESH
Clear Work Areas/Variables and Clear/Refresh Internal Tables
FORM CLEAR_REFRESH .
Clear Variables/Work Areas/Internal Tables
CLEAR: W_REPID,
W_POS,
W_LAYOUT,
W_DATUM,
W_TIME,
T_VBAK,
T_VBKD,
T_VBPA,
T_VBAP,
T_VBEP,
T_VBUP,
T_DISPC,
T_DISPP,
T_DISP,
T_VBUK,
T_TVLST,
T_TVLST1.
Refresh Internal Tables
REFRESH: T_VBAK,
T_VBKD,
T_VBPA,
T_VBAP,
T_VBEP,
T_VBUP,
T_DISPC,
T_DISPP,
T_DISP,
T_VBUK,
T_TVLST,
T_TVLST1.
ENDFORM. " CLEAR_REFRESH
*& Form DATA_SELECTION
Selection of Data as per inputs
FORM DATA_SELECTION .
*Obtain Sales and distribution document number,Date on which the record
*was created
*Sales document type,Delivery block,Sales organisation,
Distribution channel based on selection criteria
SELECT VBELN "Sales and distribution Doc no
ERDAT
"Date on which the record was created
AUART "Sales document type
LIFSK "Delivery block
VKORG "Sales organisation
VTWEG "Distribution channel
FROM VBAK
INTO TABLE T_VBAK
WHERE VBELN IN S_VBELN AND
ERDAT IN S_ERDAT AND
AUART IN S_AUART AND
VKORG IN S_VKORG AND
VTWEG IN S_VTWEG.
IF SY-SUBRC EQ 0.
SORT T_VBAK BY VBELN .
*Obtain Sales document ,Sales document item,Material Number,Material
*number used by customer
Safer point ,Plant (Own or External),Shipping point /Receiving point
Net price based on selection criteria
SELECT A~VBELN "Sales document
A~POSNR "Sales document item
MATNR "Material Number
PSTYV "Sales document item category
KDMAT "Material number used by customer
VRKME "Sales unit
WERKS "Plant (Own or External)
VSTEL "Shipping point /Receiving point
NETPR "Net price
*MOD02 {
NETWR
*}MOD02
WAERK "Target outline doc currency
FROM VBAP AS A JOIN VBUP AS B
ON ( AVBELN = BVBELN
AND APOSNR = BPOSNR )
INTO TABLE T_VBAP
FOR ALL ENTRIES IN T_VBAK
WHERE A~VBELN = T_VBAK-VBELN AND
A~MATNR IN S_MATNR AND
A~PSTYV NE C_TAPA AND
A~KDMAT IN S_KDMAT AND
A~WERKS IN S_WERKS AND
A~ABGRU EQ SPACE AND
B~LFSTA NE 'C'.
IF SY-SUBRC EQ 0.
SORT T_VBAP BY VBELN POSNR.
ENDIF.
SELECT VBELV
POSNV
FROM VBFA
INTO TABLE T_VBFA
FOR ALL ENTRIES IN T_VBAP
WHERE VBELV = T_VBAP-VBELN
AND POSNV = T_VBAP-POSNR
AND VBTYP_N = 'J'.
IF SY-SUBRC = 0.
SORT T_VBFA BY VBELV POSNV.
LOOP AT T_VBAP.
*READ TABLE T_VBFA WITH KEY VBELV = T_VBAP-VBELN POSNV = T_VBAP-POSNR.
IF SY-SUBRC = 0.
DELETE T_VBAP.
ENDIF.
ENDLOOP.
ENDIF.
{ 23-8-2007
SELECT LIFSP
VTEXT
FROM TVLST
INTO TABLE T_TVLST
FOR ALL ENTRIES IN T_VBAK
WHERE SPRAS EQ C_E AND
LIFSP = T_VBAK-LIFSK.
IF SY-SUBRC EQ 0.
SORT T_TVLST BY LIFSP.
ENDIF.
*Obtain Sales and distribution document number,Item number of the SD
*document ,Incoterms,Terms of payment key,Customer purchase order number
*based on selection criteria
SELECT VBELN "Sales and distribution document number
POSNR "Item number of the SD document
INCO1 "Incoterms
ZTERM "Terms of payment key
BSTKD "Customer purchase order number
FROM VBKD INTO TABLE T_VBKD
FOR ALL ENTRIES IN T_VBAK
WHERE VBELN = T_VBAK-VBELN.
IF SY-SUBRC EQ 0.
SORT T_VBKD BY VBELN .
ENDIF.
*Obtain Sales document,Sales Document Item,Schedule line,Schedule line
*data, Order quantity in sales unit,Confirmed quantity,Goods issue date,
*Schedule line blocked for delivery based on selection criteria
SELECT VBELN "Sales document
POSNR "Sales Document Item
ETENR "Schedule line
EDATU "Schedule line data
CMENG "Order quantity in sales unit
BMENG "Confirmed quantity
LMENG
WADAT "Goods issue date
LIFSP "Schedule line blocked for delivery
FROM VBEP INTO TABLE T_VBEP
FOR ALL ENTRIES IN T_VBAK
WHERE VBELN = T_VBAK-VBELN AND
ETENR = C_0001.
IF SY-SUBRC EQ 0.
SORT T_VBEP BY VBELN POSNR ETENR.
{ 23-8-2007
SELECT LIFSP
VTEXT
FROM TVLST
INTO TABLE T_TVLST1
FOR ALL ENTRIES IN T_VBEP
WHERE SPRAS EQ C_E AND
LIFSP = T_VBEP-LIFSP.
IF SY-SUBRC EQ 0.
SORT T_TVLST1 BY LIFSP.
ENDIF.
ENDIF.
SELECT VBELN "Sales document
POSNR "Sales Document Item
ETENR "Schedule line
EDATU "Schedule line data
CMENG "Order quantity in sales unit
BMENG "Confirmed quantity
LMENG
WADAT "Goods issue date
LIFSP
"Schedule line blocked for delivery
FROM VBEP INTO TABLE T_VBEP1
FOR ALL ENTRIES IN T_VBAK
WHERE VBELN = T_VBAK-VBELN .
IF SY-SUBRC EQ 0.
SORT T_VBEP1 BY VBELN POSNR .
ENDIF.
{ 23-8-2007
SELECT VBELN "Sales and Distribution Document Number
SPSTG "Overall blocked status
*MOD02 {
CMGST
*}MOD02
FROM VBUK
INTO TABLE T_VBUK
FOR ALL ENTRIES IN T_VBAK
WHERE VBELN = T_VBAK-VBELN
AND ( CMGST = 'A' OR CMGST = 'D' ).
IF SY-SUBRC EQ 0.
SORT T_VBUK BY VBELN .
ENDIF.
*Obtain Sales and distribution Doc no,Item number of the SD document
Overall delivery status of item
SELECT VBELN "Sales and distribution Doc no
POSNR "Item number of the SD document
LFGSA "Overall delivery status of item
FROM VBUP
INTO TABLE T_VBUP
FOR ALL ENTRIES IN T_VBAK
WHERE VBELN = T_VBAK-VBELN.
IF SY-SUBRC EQ 0.
SORT T_VBUP BY VBELN POSNR.
ENDIF.
*Obtain Sales and distribution document number,Partner function
Customer Number 1,address based on selection criteria
SELECT VBELN "Sales and distribution Doc no
PARVW " Patner function
KUNNR "Customer No1
ADRNR "address
FROM VBPA
INTO TABLE T_VBPA
FOR ALL ENTRIES IN T_VBAP
WHERE VBELN = T_VBAP-VBELN AND
( ( KUNNR IN S_KUNNR1 ) OR
( KUNNR IN S_KUNNR2 ) OR
( KUNNR IN S_KUNNR3 ) ) AND
( ( PARVW = C_ZR ) OR
( PARVW = C_BP ) OR
( PARVW = C_SH ) ).
IF SY-SUBRC EQ 0.
SORT T_VBPA BY VBELN PARVW.
IF NOT T_VBPA[] IS INITIAL.
*Obtain Address number ,name
SELECT ADDRNUMBER "Address number
DATE_FROM "Date valid from
NATION "International address version ID
NAME1 "name
FROM ADRC
INTO TABLE T_ADRC
FOR ALL ENTRIES IN T_VBPA
WHERE ADDRNUMBER = T_VBPA-ADRNR.
IF SY-SUBRC EQ 0.
SORT T_ADRC BY ADDRNUMBER.
ENDIF.
ENDIF.
ELSE.
MESSAGE I000 WITH TEXT-S02."No Data For the Entered CS rep number
STOP.
ENDIF.
ELSE.
MESSAGE I000 WITH TEXT-S01.
"No data found for the selection criteria
STOP.
ENDIF.
ENDFORM. " DATA_SELECTION
*& Form DATA_FILL_FOR_DISPLAY
Populate Internal table for display
FORM DATA_FILL_FOR_DISPLAY .
DATA: L_NETPR TYPE NETPR. "For net amount
DATA: L_DATE TYPE EDATU. "For Date Field
DATA: L_WMENG TYPE WMENG. "For Confirmed Quantity
DATA: L_BMENG TYPE BMENG. "For Delivered Quantity
DATA : L_LAST_DATE TYPE EDATU.
DATA : W_FG TYPE C.
DATA : L_TABIX TYPE SY-TABIX.
DATA: L_CNT TYPE I,
L_NETWR TYPE NETWR.
*If plant and csrep are selected.
IF ( ( P_PLANT = C_X ) AND ( P_CSREP = C_X ) ).
LOOP AT T_VBAP.
CLEAR W_FG.
CLEAR L_CNT.
*MOD02 {
READ TABLE T_VBUK WITH KEY VBELN = T_VBAP-VBELN.
IF SY-SUBRC = 0.
*}MOD02
LOOP AT T_VBEP1 WHERE VBELN = T_VBAP-VBELN AND POSNR =
T_VBAP-POSNR.
L_CNT = L_CNT + 1.
IF L_LAST_DATE IS NOT INITIAL AND W_FG NE 'X'.
IF L_LAST_DATE NE T_VBEP1-WADAT.
W_FG = 'X'.
ENDIF.
ENDIF.
L_LAST_DATE = T_VBEP1-WADAT.
ENDLOOP.
IF L_CNT = 1 AND T_VBEP1-BMENG = 0.
W_FG = 'X'.
ENDIF.
IF W_FG = 'X'.
READ TABLE T_VBEP WITH KEY VBELN = T_VBAP-VBELN
POSNR = T_VBAP-POSNR
BINARY SEARCH.
IF SY-SUBRC EQ 0.
*Move Order quantity in sales unit to final internal table
MOVE T_VBEP-WMENG TO T_DISP-WMENG.
MOVE T_VBEP-WADAT TO T_DISP-WADAT1.
*Move Goods issue date to final internal table
MOVE T_VBEP-EDATU TO T_DISP-WADAT.
{ 23-8-2007
READ TABLE T_TVLST1 WITH KEY LIFSP = T_VBEP-LIFSP
BINARY SEARCH.
IF SY-SUBRC EQ 0.
CONCATENATE T_VBEP-LIFSP
T_TVLST1-VTEXT
INTO T_DISP-LIFSP
SEPARATED BY SPACE.
ENDIF.
*Move the Schedule line blocked for delivery
to final internal table.
ENDIF.
*LOOP AT T_VBEP1 WHERE VBELN = T_VBAP-VBELN AND POSNR = T_VBAP-POSNR.
LOOP AT T_VBEP1 WHERE VBELN = T_VBAP-VBELN AND POSNR =
T_VBAP-POSNR.
L_WMENG = T_VBEP1-WMENG + L_WMENG.
L_BMENG = T_VBEP1-BMENG + L_BMENG.
IF NOT L_DATE IS INITIAL.
IF ( L_DATE < T_VBEP1-EDATU ).
L_DATE = T_VBEP1-EDATU.
ENDIF.
ELSE.
L_DATE = T_VBEP1-EDATU.
ENDIF.
AT END OF POSNR.
READ TABLE T_VBEP1 INDEX SY-TABIX.
IF SY-SUBRC = 0.
L_DATE = T_VBEP1-EDATU.
ENDIF.
ENDAT.
ENDLOOP.
IF T_VBEP1-WMENG EQ T_VBEP1-BMENG.
T_DISP-LOGIC_1 = 0.
T_DISP-EDATU = T_VBEP1-EDATU.
ELSEIF L_WMENG EQ L_BMENG .
T_DISP-EDATU = L_DATE.
T_DISP-LOGIC_1 = L_WMENG.
ELSE.
T_DISP-EDATU = C_BLANK.
T_DISP-LOGIC_1 = L_WMENG.
ENDIF.
*Move the Sales document item to final internal table.
MOVE T_VBAP-POSNR TO T_DISP-POSNR.
*Move the Material Number to final internal table.
MOVE T_VBAP-MATNR TO T_DISP-MATNR.
*Move the Material number used by customer to final internal table.
MOVE T_VBAP-KDMAT TO T_DISP-KDMAT.
*Move the Shipping point to final internal table.
MOVE T_VBAP-VSTEL TO T_DISP-VSTEL.
*Move the Sales unit to final internal table.
PERFORM UNIT1 USING T_VBAP-VRKME CHANGING T_VBAP-VRKME.
MOVE T_VBAP-VRKME TO T_DISP-VRKME.
MOVE T_VBAP-VRKME TO T_DISP-VRKME_1.
*Move the Plant (Own or External) to final internal table.
MOVE T_VBAP-WERKS TO T_DISP-WERKS.
MOVE T_VBAP-WAERK TO T_DISP-WAERK.
*Move the Net price to final internal table.
IF T_VBAP-WAERK = C_US .
L_NETPR = T_VBAP-NETPR.
L_NETPR = L_NETPR / 100.
T_DISP-NETPR = L_NETPR.
CLEAR L_NETPR.
ELSE.
MOVE T_VBAP-NETPR TO T_DISP-NETPR.
ENDIF.
CLEAR L_NETPR.
*MOD02{
IF T_VBAP-WAERK = C_US .
L_NETWR = T_VBAP-NETWR.
L_NETWR = L_NETWR / 100.
T_DISP-NETWR = L_NETWR.
CLEAR L_NETWR.
ELSE.
MOVE T_VBAP-NETWR TO T_DISP-NETWR.
ENDIF.
CLEAR L_NETWR.
*}MOD02
*READ THE TABLE VBAK TO FETCH Sales Order Number,sales
*organisation,distribution channel,Document type,Delivery block
READ TABLE T_VBAK WITH KEY VBELN = T_VBEP-VBELN BINARY SEARCH.
IF SY-SUBRC EQ 0.
*Move the Sales order number to final internal table.
MOVE T_VBAK-VBELN TO T_DISP-VBELN.
PERFORM DELETE_LEADING_ZEROES CHANGING T_DISP-VBELN.
*Move the Sales organisation to final internal table.
MOVE T_VBAK-VKORG TO T_DISP-VKORG.
*Move the Distribution channel to final internal table.
MOVE T_VBAK-VTWEG TO T_DISP-VTWEG.
*Move the Document type to final internal table.
MOVE T_VBAK-AUART TO T_DISP-AUART.
{23-8-2007
READ TABLE T_TVLST WITH KEY LIFSP = T_VBAK-LIFSK
BINARY SEARCH.
IF SY-SUBRC EQ 0.
CONCATENATE T_VBAK-LIFSK
T_TVLST-VTEXT
INTO T_DISP-LIFSK
SEPARATED BY SPACE.
ENDIF.
ENDIF.
*READ THE TABLE VBKD TO FETCH Incoterms,Terms of payment key,Customer
*purchase order number
READ TABLE T_VBKD WITH KEY VBELN = T_VBAP-VBELN
BINARY SEARCH.
IF SY-SUBRC EQ 0.
*Move the Customer purchase order number to final internal table.
MOVE T_VBKD-BSTKD TO T_DISP-BSTKD.
*Move the Incoterms to final internal table.
MOVE T_VBKD-INCO1 TO T_DISP-INCO1.
*Move the Terms of payment to final internal table.
MOVE T_VBKD-ZTERM TO T_DISP-ZTERM.
ENDIF.
{ 23-8-2007
READ TABLE T_VBUK WITH KEY VBELN = T_VBEP-VBELN
BINARY SEARCH.
IF SY-SUBRC EQ 0.
IF T_VBUK-SPSTG EQ SPACE.
T_DISP-SPSTG = TEXT-TE1. "Not Blocked
ELSEIF T_VBUK-SPSTG EQ C_C.
T_DISP-SP -
Getting error: java.lang.NullPointerException while submitting xml report
hi every one,
i am getting the below error when submitting the Xml report Request
XDO Data Engine Version No: 5.6.3
Resp: 21635
Org ID : 204
Request ID: 5878206
All Parameters: P_ORGANIZATION_ID=7907:P_DELIVERY_DATE_LOW=:P_DELIVERY_DATE_HIGH=:P_FREIGHT_CODE=:P_DELIVERY_ID=:P_TRIP_ID=:P_DELIVERY_LEG_ID=4497:P_ITEM_DISPLAY=D:P_ITEM_FLEX_CODE=MSTK:DebugFlag=N
Data Template Code: CUST_WSH
Data Template Application Short Name: WSH
Debug Flag: N
{P_DELIVERY_DATE_HIGH=, P_ORGANIZATION_ID=7907, P_TRIP_ID=, P_FREIGHT_CODE=, P_DELIVERY_DATE_LOW=, P_ITEM_FLEX_CODE=MSTK, P_ITEM_DISPLAY=D, P_DELIVERY_LEG_ID=4497, P_DELIVERY_ID=}
Calling XDO Data Engine...
java.lang.NullPointerException
at oracle.apps.xdo.oa.util.DataTemplate.getDataTemplate(DataTemplate.java:379)
at oracle.apps.xdo.oa.util.DataTemplate.<init>(DataTemplate.java:226)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:283)
at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
Start of log messages from FND_FILE
End of log messages from FND_FILE
Executing request completion options...
Output file size:
0
Finished executing request completion options.
please help me out
Regards,
pavanAbove problem is solved.
but now i am facing one more problem
i intend to get output in pdf format
but i am getting in xml format
kindly help -
Error while submitting Discoverer report
If I navigate to purticular responsibility and click on menu to submit discoverer report,it shows page can't be found error.
I am able to open other menus.
Is there anything which causes problem.
Thanks in advanceHi,
when the page pop up does the URL is the correct one for the discoverer server ?
Also you may need to check the function behind this menu to verify that it is defined properly.
when you say "I am able to open other menus." you mean other menus that open discoverer reports, right ?
Tamir -
DYNP_TOO_MANY_RADIOBUTTONS_ON error while submitting the report.
Hi,
i created 2 programs with same selection screens.
1st programe will call the 2nd programe.
SUBMIT ZReport2 VIA SELECTION-SCREEN
WITH p_hist = ' '
WITH p_main = ' '
WITH p_expul = 'X'
WITH p_depr = 'X'
WITH p_uexp = 'X'
WITH p_repro = 'X'
WITH p_gjahr = p_gjahr
WITH p_job = p_job
VIA JOB lv_jobname NUMBER lv_jobnum AND RETURN.
At this point of time, it is throwing error with DYNP_TOO_MANY_RADIOBUTTONS_ON
1. I tried by changing the group names in both the reports.
Report1 have GRP1 & GRP2
Report3 have GRP3 & GRP4.
Any idea why it is happening. Attached screenshot of dump.Hi,
You need to explicitly pass the values of all the radiobuttons in the submit report. By default, first radiobutton of every radiobutton group is 'X'. In case you want to call the report based on the 2nd radiobutton of the group. You have to pass
WITH p_rad1 = ' '
p_rad2 = 'X' .
You are getting this error, because at a time more than one radiobutton of a group is set.
Regards,
DPM -
APP-FND-00314: Invalid printer while submitting report
Hi All,
We are getting an error while submitting a report.
APP-FND-00314: Invalid print (no print) and print style (PERHDCNT) combination.
We have not setup any printer why i am getting printer error.
Apps version: 12.1.1
Os : solaris
Could you please help me on this.
Thanks and RegardsHi Hussein,
its there but i wasnt knowing the clear the printer profile options.
USER_REQUEST_SET_NAME USER_STAGE_NAME USER_CONCURRENT_PROGRAM_NAME
Greek Payables Supplier Turnover Report Set IGW: PHS 2590 Page B (20) Greek Payables Supplier Turnover Data Extract
Greek Payables Supplier Turnover Report Set Greek Supplier Turnover Data Extract (10) Greek Payables Supplier Turnover Data Extract
Greek Payables Supplier Turnover Report Set Manufacturing Lead Time GUI Greek Payables Supplier Turnover Data Extract
Greek Receivables Customer Turnover Report Set IGW: PHS 2590 Page E (50) Greek Receivables Customer Turnover Data Extract
Greek Receivables Customer Turnover Report Set Greek Customer Turnover Data Extract (10) Greek Receivables Customer Turnover Data Extract
Greek Receivables Customer Turnover Report Set BOM Structure Report for Lead Times GUI Greek Receivables Customer Turnover Data Extract
6 rows selected.
I am able to find the concurrent associated with printer using the above command.
As per the metalink the step is 4. Drill down to the stage and programs name, remove and/or replace the target printer and save the record
however i dont know how to remove it.
This is the problem that i dont know how to remove it
Please help
Thanks and Regards, -
Hi,
We have an report in which we are using FM :- REUSE_ALV_LIST_DISPLAY.
In forgroud the Report Header is getting displayed only Once.
When we run the report in background, we are getting in spool in which there are "Page Break and Header" in every page.
Downloading the report to MS Excel from Spool is creating setting problem.
Please tell me "how can we do so while running the report in background, "Page break and header dosen't create i.e only One Header and One Page"
Waiting for reply..
Saurabh GargHi Saurabh ,
Use TOP-OF-LIST instead of TOP-OF-PAGE.
Please check this sample with different events in ALV-GRID.
report zbnstest.
* TABLES AND DATA DECLARATION.
*TABLES: mara,makt.",marc.
data syrepid like sy-repid.
data sydatum(10). " LIKE sy-datum.
data sypagno(3) type n.
* WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
* GROUP (TYPE-POOLS--------->SLIS)
type-pools : slis.
* INTERNAL TABLE DECLARATION.
* INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
data: begin of t_mara occurs 0,
matnr like mara-matnr,
meins like mara-meins,
mtart like mara-mtart,
matkl like mara-matkl,
end of t_mara.
* INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
data : begin of t_marc occurs 0,
matnr like mara-matnr,
werks like marc-werks,
minbe like marc-minbe.
data: end of t_marc.
* INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
data : begin of t_makt occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
spras like makt-spras,
end of t_makt.
* INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
data: begin of itab1 occurs 0,
matnr like mara-matnr,
meins like mara-meins,
maktx like makt-maktx,
spras like makt-spras,
werks like marc-werks,
minbe like marc-minbe,
end of itab1.
* THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
* AND THE LAYOUT FOR THE ALV.
* HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
* WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
* OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
* THIS IS DONE TO MAKE THE CODE SIMPLER.
* OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
* PROGRAMS.
* IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
* MORE TABLES AND CREATE A STRUCTURE
* IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
* LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
data: fieldcatalog type slis_t_fieldcat_alv with header line,
fieldlayout type slis_layout_alv.
* DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
* TOP-OF-PAGE ETC.
data : eventstab type slis_t_event with header line.
* DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
data : heading type slis_t_listheader with header line.
data : heading1 type slis_t_listheader with header line.
data : heading2 type slis_t_listheader with header line.
data : heading3 type slis_t_listheader with header line.
data : heading4 type slis_t_listheader with header line.
data : heading5 type slis_t_listheader with header line.
data : heading6 type slis_t_listheader with header line.
data : heading7 type slis_t_listheader with header line.
data : heading8 type slis_t_listheader with header line.
* STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
data : colorstruct type slis_coltypes.
* INITIALIZATION. *
initialization.
syrepid = sy-repid.
sypagno = sy-pagno.
clear fieldcatalog.
* START-OF-SELECTION. *
start-of-selection.
* SUBROUTINE TO POPULATE THE COLORSTRUCT
perform fill_colorstruct using colorstruct.
* SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
perform populate_fieldcatalog.
* SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
* INTERNAL TABLE.
perform selectdata_and_sort.
* SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
perform populate_layout using fieldlayout.
* SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
perform merge_fieldcatalog.
* SUBROUTINE TO POPULATE THE EVENTSTAB.
perform fill_eventstab tables eventstab.
* SUBROUTINE TO POPULATE THE HEADING TABLES.
perform fill_headingtable tables heading using 'HEADING'.
perform fill_headingtable tables heading1 using 'HEADING1'.
perform fill_headingtable tables heading2 using 'HEADING2'.
perform fill_headingtable tables heading3 using 'HEADING3'.
perform fill_headingtable tables heading4 using 'HEADING4'.
perform fill_headingtable tables heading5 using 'HEADING5'.
perform fill_headingtable tables heading6 using 'HEADING6'.
perform fill_headingtable tables heading7 using 'HEADING7'.
perform fill_headingtable tables heading8 using 'HEADING8'.
* SUBROUTINE TO DISPLAY THE LIST.
perform display_alv_list.
* FORMS
* IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
* OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
* COLUMN JUSTIFICATION.
form populate_fieldcatalog.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATNR' 'X' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MEINS' ' '.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MAKTX' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MTART' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATKL' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'SPRAS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'WERKS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MINBE' ' ' .
endform. " POPULATE_FIELDCATALOG
* FORM FILL_FIELDS_OF_FIELDCATALOG *
* --> FIELDCATALOG *
* --> P_TABNAME *
* --> P_FIELDNAME *
* --> P_KEY *
* --> P_KEY *
form fill_fields_of_fieldcatalog tables fieldcatalog
structure fieldcatalog
using p_tabname
p_fieldname
p_key.
* p_no_out.
fieldcatalog-tabname = p_tabname.
fieldcatalog-fieldname = p_fieldname.
fieldcatalog-key = p_key.
fieldcatalog-emphasize = '1234'.
*fieldcatalog-no_out = p_no_out.
append fieldcatalog.
endform. " FILL_FIELDSOFFIELDCATALOG
* FORM POPULATE_LAYOUT *
* --> FIELDLAYOUT *
form populate_layout using fieldlayout type slis_layout_alv.
fieldlayout-f2code = '&ETA' .
fieldlayout-zebra = 'X'.
* FOR THE WINDOW TITLE.
fieldlayout-window_titlebar = 'ALV with Events'.
fieldlayout-colwidth_optimize = 'X'.
fieldlayout-no_vline = ' '.
*fieldlayout-no_input = 'X'.
fieldlayout-confirmation_prompt = ''.
fieldlayout-key_hotspot = 'X'.
* This removes the column headings if the flag is set to 'X'
fieldlayout-no_colhead = ' '.
*fieldlayout-hotspot_fieldname = 'MAKTX'.
fieldlayout-detail_popup = 'X'.
* fieldlayout-coltab_fieldname = 'X'.
endform. " POPULATE_LAYOUT
* FORM SELECTDATA_AND_SORT *
form selectdata_and_sort.
select matnr meins mtart matkl from mara
into corresponding fields of t_mara
up to 500 rows .
select matnr maktx spras from makt
into corresponding fields of t_makt
where matnr = t_mara-matnr and
spras = sy-langu.
select matnr werks minbe from marc
into corresponding fields of t_marc
where matnr = t_mara-matnr.
append t_marc.
endselect.
append t_makt.
endselect.
append t_mara.
endselect.
perform populate_itab1.
sort itab1 by matnr.
endform. " SELECTDATA_AND_SORT
* FORM MERGE_FIELDCATALOG *
form merge_fieldcatalog.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = syrepid
i_internal_tabname = 'ITAB1'
* i_structure_name = 'COLORSTRUCT'
* I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = syrepid
changing
ct_fieldcat = fieldcatalog[]
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
endform. " MERGE_FIELDCATALOG
* IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
* FOLLOWS:-
* i_callback_program --> CALLING PROGRAM NAME
* i_structure_name --> STRUCTURE NAME.
* is_layout --> LAYOUT NAME.
* it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
form display_alv_list.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
* I_INTERFACE_CHECK = ' '
i_callback_program = syrepid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_structure_name = 'ITAB1'
is_layout = fieldlayout
it_fieldcat = fieldcatalog[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
* TOOL BAR
i_save = 'A'
* IS_VARIANT = ' '
it_events = eventstab[]
* IT_EVENT_EXIT =
* IS_PRINT =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = itab1
exceptions
program_error = 1
others = 2.
endform. " DISPLAY_ALV_LIST
*& Form POPULATE_ITAB1
* text
* --> p1 text
* <-- p2 text
form populate_itab1.
loop at t_mara.
loop at t_makt where matnr = t_mara-matnr.
loop at t_marc where matnr = t_mara-matnr.
move-corresponding t_mara to itab1.
move-corresponding t_makt to itab1.
move-corresponding t_marc to itab1.
append itab1.
endloop.
endloop.
endloop.
endform. " POPULATE_ITAB1
*& Form FILL_EVENTSTAB
* text
* -->P_EVENTSTAB text *
form fill_eventstab tables p_eventstab structure eventstab.
* WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
* INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
* AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
* EVENTS NAME.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = p_eventstab[]
exceptions
list_type_wrong = 1
others = 2.
* BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
* THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
* WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
* FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
* IS DYNAMICALY CALLED.
read table p_eventstab with key name = slis_ev_top_of_page.
if sy-subrc = 0 .
move 'TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_coverpage.
if sy-subrc = 0 .
move 'TOP_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_coverpage .
if sy-subrc = 0 .
move 'END_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_top_of_page.
if sy-subrc = 0 .
move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_end_of_page.
if sy-subrc = 0 .
move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_list_modify.
if sy-subrc = 0 .
move 'LIST_MODIFY' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_list.
if sy-subrc = 0 .
move 'TOP_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_page.
if sy-subrc = 0 .
move 'END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_list .
if sy-subrc = 0 .
move 'END_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
endform. " FILL_EVENTSTAB
*& Form FILL_HEADINGTABLE
* text
* -->P_HEADING text *
form fill_headingtable tables p_heading structure heading
using tablename.
case tablename.
when 'HEADING'.
p_heading-typ = 'H'.
concatenate
' REPORT NAME:-' syrepid
' ABB Industry Pte Ltd' into p_heading-info.
append p_heading.
write sy-datum using edit mask '__/__/____' to sydatum.
concatenate
' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
into p_heading-info.
append p_heading.
when 'HEADING1'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-COVER-PAGE'.
append p_heading.
when 'HEADING2'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-COVER-PAGE'.
append p_heading.
when 'HEADING3'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
append p_heading.
when 'HEADING4'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-END-OF-PAGE'.
append p_heading.
* WHEN 'HEADING5'.
* P_HEADING-TYP = 'H'.
* P_HEADING-INFO = 'LIST-MODIFY'.
* APPEND P_HEADING.
when 'HEADING6'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-PAGE'.
append p_heading.
when 'HEADING7'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-LIST'.
append p_heading.
when 'HEADING8'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-LIST'.
append p_heading.
endcase.
endform. " FILL_HEADINGTABLE
* FORM TOP_OF_PAGE *
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading[]
exceptions
others = 1.
endform.
*& Form FILL_COLORSTRUCT
* text
* -->P_COLORSTRUCT text *
form fill_colorstruct using p_colorstruct type slis_coltypes .
p_colorstruct-heacolfir-col = 6.
p_colorstruct-heacolfir-int = 1.
p_colorstruct-heacolfir-inv = 1.
endform. " FILL_COLORSTRUCT
* FORM TOP_OF_COVERPAGE *
form top_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading1[]
exceptions
others = 1.
endform.
* FORM END_OF_COVERPAGE *
form end_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading2[]
exceptions
others = 1.
endform.
* FORM FOREIGN_TOP_OF_PAGE *
form foreign_top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading3[]
exceptions
others = 1.
endform.
* FORM FOREIGN_END_OF_PAGE *
form foreign_end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading4[]
exceptions
others = 1.
endform.
* FORM LIST_MODIFY *
*FORM LIST_MODIFY.
* CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
* EXPORTING
* IT_LIST_COMMENTARY = HEADING5[]
* EXCEPTIONS
* OTHERS = 1.
*ENDFORM.
* FORM END_OF_PAGE *
form end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading6[]
exceptions
others = 1.
endform.
* FORM END_OF_LIST *
form end_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading7[]
exceptions
others = 1.
endform.
* FORM TOP_OF_LIST *
form top_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading8[]
exceptions
others = 1.
endform.
*--- End of Program
Regards,
Raghav -
Problem while running the program in background
hi SDNs,
i have problem while i run report in background. in background, last three columns are not appearing in the report. whereas it showing all columns in foreground.
i have increased the line-size, even then it is giving truncating last some columns.
could you any one pls help me out, what to do ?
Thanking you,
Ramakrishna Shi prakash ramu,
even it is not working. it is directly talking me to spool request..
i think it is not possible, while ur running the report in background.,
any how if possible could u pls send me the code...
thanks
ramu -
Error while submitting to a report using Parameter of type string
Requirement: Selection screen has a parameter so as to input the file. under that a checkbox is provided. If this checkbox is checked the program should read the file from desktop and based on that data the report should execute in background mode.
For this i have done in the following way. by comparing the checkbox and sy-batch i read the file contents placed in AL11 and then submitted the report by setting the path in the parameter. Accordingly when sy-batch eq X i read the file from AL11 from the path specified in the parameter.
This is working fine in Dev & Prd. But in Quality system i am facing the error like Wrong type passing parameters P_FILE.
Message No. DB036.Cases can be
1. file name should be in caps (upper case lower case conversion
2. when executing in bg variant not picked
3. collision of file path across servers in a system
In a system there will be servers like in Quality it can have varying servers ex sapqp1 sapqp2 sapqp3
In here qp1 qp2 and qp3 are the servers in quality which can hold the unix data (al11) . If qp2 is directed in your check and if qp2 dosent have the file path it throws error. recently we have faced a similar issue . Problem was solved when basis guys made the setting across all server's to access the path.
Try these options.
Br,
vijay. -
How to export an internal table to another report while submitting ..
Hi ,
I have 2 reports ZR1 and ZR2 . Both contains an Internal table with same structure IT_DATA. After the output of ZR1 comes,I am submitting ZR2 at a click event. The requirement is to pass the data from IT_DATA from ZR1 to IT_DATA of ZR2 while submitting ZR2.
Hope that the requirement is clear.
Thanks & regards,
ShankarHi
You have to use IMPORT/EXPORT statament
REPORT ZREPORT1.
DATA: ITAB LIKE .....
EXPORT ITAB TO MEMORY ID 'ZZZ'.
SUBMIT ZREPORT2.
REPORT ZREPORT2.
DATA ITAB LIKE
INITIALIZATION.
IMPORT ITAB FROM MEMORY ID 'ZZZ'.
Max
Message was edited by: max bianchi -
Hi Team,
We have a requirement to "Populate Error Message(Supervisor not Maintained) while submitting Travel Request if Supervisor(A002) relationship is not maintained for employee in ESS.
We are using standard WDA application - FITV_REQUEST and standard travel request workfow - WS20000050.
Please suggest how to do this.
Thanks,
RaviHi Rajesh,
Thanks for the reply...
We created enhancement for FM HRTRV_IF_GET_CUSTOMIZING and written code in that.
So by this if Logged in Employee is not assgned with Line Manager , it will throw error while accessing "Create Travel Request application".
Thanks,
Ravi. -
Error while Submiting Support message through Web browser
Hi Gurus
I am geting error while submiting Support message through Web browser i.e BSP . Please find the error message below
"Error: The system could not create the message because of an RFC connection "NONE " error Service-specific Csutomizing missing for transaction ZLFN"
Note: ZLFN is our Service Desk Message type.
Any ideas where i am doing wrong?
Points will be rewarded
Thanks
BhaskarHello,
check if when you configured your new transaction type ZLFN you have included a corresponding entry in view CRMC_SERVICE_H.
If the transaction type is missing in this view, you have this error.
Regards,
Raquel Cunha -
Errors while submitting the SQL * Plus Report
I am getting th efollowing Error while submitting the Concurrent request to run a report.
FND_CANNOT FIND FILE
concurrent manager encountered an error while running sql * plus for yours concurrent request
Please respond ASAPHi,
Duplicate post see:
Please advise on the Error immediately
Regards,
Gareth
Blog: http://garethroberts.blogspot.com/
Maybe you are looking for
-
Error message: can't install update, firefox is already running, but it is not
second request an auto update failed a few days ago and now everytime I open FF I get an error message that says can't install update, firefox is already running, but it is not! the parent.lock file is not open when FF is closed in addition to this m
-
i have an iphone4. every time i turn it on i get an old I.D. and a message saying, "Apple password " then my email address and asks for the password. I have a different account that itunes on my computer recognizes. How do i remove this from my pho
-
Copy of Item Box - on click of a button
I need to capture a value in the Item box from a table column only when a particular button is pressed. User needs it there so that he can Edit and update it . Is there a Way to do it.
-
How to construct table in jsp for the resultset from helper class
Hi Dudes!!! Want to construct table in jsp for the resultset, but the resultset are retrieved at the helper class.I constructed Table in Helper class Using StringBuffer and return it as string from the helper class.Is their any other feasible and eff
-
Does JSP best practice of putting under WEB-INF apply to JSF pages?
I'm new to JSF and wondering if the "best practice" advice that used to be given of storing your jsp pages under WEB-INF (when using Model2) to keep them from being served up without going through your controller still applies with JSF. Since the com